@charset "UTF-8";
/* ===================================================================
CSS information
 file name  :  common.css
 style info :  commonスタイル（ノーマライズ＆汎用クラス）
=================================================================== */

/* -----------------------------------------
Normalize
----------------------------------------- */
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */

html {
  font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
  font-size: 62.5%;
}

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */

article,
aside,
details, /* 1 */
figcaption,
figure,
footer,
header,
main, /* 2 */
menu,
nav,
section,
summary { /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */

audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */

template, /* 1 */
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */

a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/* Forms
   ========================================================================== */

/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
select,
textarea {
  font: inherit; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */

optgroup {
  font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}


/* -----------------------------------------
Common
----------------------------------------- */
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
	display: block;
}

audio,canvas,video {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

audio:not([controls]) {
	display: none;
}

[hidden] {
	display: none;
}

/*code,kbd,pre,samp {
	_font-family: 'courier new',monospace;
}
*/
pre {
	white-space: pre-wrap;
	word-wrap: break-word;
}

q {
	quotes: none;
}

q:before,q:after {
	content: '';
	content: none;
}

menu,ol,ul {
	margin: 0;
}

dd {
	margin: 0;
}

menu,ol,ul {
	padding: 0;
}

nav,ul,ol {
	list-style: none;
	list-style-image: none;
}

img {
	-ms-interpolation-mode: bicubic;
}

form {
	margin: 0;
}

legend {
	white-space: normal;
	*margin-left: -7px;
}

button,input,select {
	vertical-align: baseline;
}

button,input,select,textarea {
	font-size: 100%;
	*vertical-align: middle;
}

button {
	line-height: normal;
}

button,html input[type="button"],input[type="reset"],input[type="submit"] {
	*overflow: visible;
}

input[type="checkbox"],input[type="radio"] {
	*height: 13px;
	*width: 13px;
}

textarea {
	vertical-align: top;
}

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
	display: block;
}

audio,canvas,progress,video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],template {
	display: none;
}

a {
	background: 0 0;
}

a:active,a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b {
	font-weight: 700;
}

mark {
	background: #ff0;
	color: #000;
}

sub,sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -.5em;
}

sub {
	bottom: -.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

pre {
	overflow: auto;
}

code,kbd {
	font-size: 1em;
}

pre {
	font-family: monospace,monospace;
}

pre,samp {
	font-size: 1em;
}

button,input,optgroup,select,textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,select {
	text-transform: none;
}

button,html input[type="button"],input[type="reset"],input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],input[type="radio"] {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid silver;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: 700;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

html {
	-webkit-font-kerning: normal;
	-moz-font-kerning: normal;
	-ms-font-kerning: normal;
	-o-font-kerning: normal;
	font-kerning: normal;
	-webkit-text-size-adjust: none;
	-ms-text-size-adjust: none;
	width: 100%;
	height: 100%;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}

h1,h2,h3,h4,h5,h6,body,p,pre,blockquote,figure,dl,dl dt,dl dd {
	margin: 0;
	padding: 0;
}

a:link:focus {
	outline: none;
}

[contenteditable]:focus,img:focus,map area:focus {
	outline: none;
}

th,td,fieldset {
	padding: 0;
}

fieldset {
	margin: 0;
}

html {
	color: #000;
	font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	font-size: 62.5%;
	*font: x-small;
	line-height: 1.5;
}

hr {
	display: block;
	width: 100%;
	height: 1px;
	border: 0 none;
}

a {
	-webkit-transition: color 300ms;
	transition: color 300ms;
}

a:link,a:visited {
	color: #000;
	text-decoration: none;
}

a:hover,a:focus {
	color: #000;
}

a:active {
	color: #000;
}

a:focus {
	outline: none;
}

em {
	font-style: normal;
}

em,strong {
	font-weight: 700;
}

small {
	font-size: .8em;
}

cite {
	font-weight: 700;
	font-style: normal;
}

cite:before {
	content: '『';
	font-weight: 400;
}

cite:after {
	content: '』';
	font-weight: 400;
}

q:before {
	content: '❝';
}

q:after {
	content: '❞';
}

dfn {
	font-weight: 700;
	font-style: normal;
}

code {
	/*font-family: Ricty,Consolas,"Courier New",Courier,Monaco,monospace;*/
	margin: 0 2px;
	padding: 3px 5px;
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 3px;
	background: rgba(0,0,0,.025);
}

samp {
	color: #fff;
	background: rgba(0,0,0,.9);
}

samp,kbd {
	/*font-family: Ricty,Consolas,"Courier New",Courier,Monaco,monospace;*/
	margin: 0 2px;
	padding: 3px 5px;
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 3px;
}

kbd {
	background: rgba(0,0,0,.025);
}

kbd kbd {
	display: inline-block;
	/*font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;*/
	font-weight: 700;
	line-height: 1;
	margin: 1px;
	padding: 1px 10px;
	border: 1px solid rgba(0,0,0,.6);
	background: #eee;
	box-shadow: 1px 1px 1px rgba(255,255,255,.5)inset,-1px -1px 1px rgba(0,0,0,.5)inset;
}

pre code {
	display: block;
	padding: 5px 10px;
}

pre kbd {
	display: block;
	color: #fff;
	/*background: rgba(0,0,0,.9);*/
}

pre kbd:after {
	content: '|';
	opacity: .6;
}

pre kbd kbd {
	color: #000;
	display: inline;
	background: #eee;
}

pre kbd kbd:after {
	display: none;
}

pre samp {
	display: block;
	padding: 5px 10px;
}

var {
	font-family: serif;
	font-weight: 700;
	margin: 0 2px;
	padding: 3px 5px;
	border-radius: 3px;
	background: rgba(0,0,0,.025);
}



* {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

img {vertical-align: bottom;}
.sp {display: none!important;}
.pc {display:block;}

@media only screen and (max-width: 736px) {
	img{
		max-width: 100%;
		height: auto;
	}
	.sp {
		display: block!important;
	}
	.pc {
		display: none!important;
	}
}

html,
body {
	height: 100%;
}


/*float
---------------------------------------------------------- */

.clear {
	clear: both;
}

.float_l {
	float: left;
}

.float_r {
	float: right;
}

.center {
	width: 100%;
	text-align: center;
}

.right {
	width: 100%;
	text-align: right;
}

.img_float_l {
	float: left;
	margin-right: 10px;
}

.img_float_r {
	float: right;
	margin-left: 10px;
}

/*font-size
---------------------------------------------------------- */

.font10 {font-size: 77%;}
.font11 {font-size: 85%;}
.font14 {font-size: 108%;}
.font15 {font-size: 116%;}
.font16 {font-size: 123.1%;}
.font17 {font-size: 131%;}
.font18 {font-size: 138.5%;}
.font19 {font-size: 146.5%;}
.font20 {font-size: 153.9%;}
.font21 {font-size: 161.6%;}
.font22 {font-size: 167%;}
.font23 {font-size: 174%;}
.font24 {font-size: 182%;}
.font25 {font-size: 189%;}
.font26 {font-size: 197%;}


/*margin
---------------------------------------------------------- */


/*top*/
.mt0{ margin-top: 0px !important;}
.mt05{ margin-top: 5px !important;}
.mt10{ margin-top: 10px !important;}
.mt15{ margin-top: 15px !important;}
.mt20{ margin-top: 20px !important;}
.mt25{ margin-top: 25px !important;}
.mt30{ margin-top: 30px !important;}


/*bottom*/
.mb0 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}


/*right*/
.mr05 { margin-right: 5px !important;}
.mr10 { margin-right: 10px !important;}
.mr15 { margin-right: 15px !important;}
.mr20 { margin-right: 20px !important;}
.mr25 { margin-right: 25px !important;}
.mr30 { margin-right: 30px !important;}
.mr35 { margin-right: 35px !important;}
.mr40 { margin-right: 40px !important;}


/*left*/
.ml05 { margin-left: 5px !important;}
.ml10 { margin-left: 10px !important;}
.ml15 { margin-left: 15px !important;}
.ml20 { margin-left: 20px !important;}
.ml25 { margin-left: 25px !important;}
.ml30 { margin-left: 30px !important;}
.ml35 { margin-left: 35px !important;}
.ml40 { margin-left: 40px !important;}


.clearfix {
	*display: inline-block;
	*zoom: 1;
}

.clearfix:after {
	content: '';
	display: block;
	clear: both;
}

/* --- Contact Form 7のデザイン調整 --- */

/* フォーム全体のコンテナ */
.wrapper .cf7-form-container {
    max-width: 80%;
    margin: 0 auto;
}

/* 各項目の間隔 */
.wrapper .cf7-form-container p {
    margin-bottom: 24px;
}

/* 項目ラベル */
.wrapper .cf7-form-container label {
    display: block;
    font-weight: bold;
    margin-bottom: 8px;
}

/* 必須マーク */
.wrapper .cf7-form-container .must {
    display: inline-block;
    background-color: #e53935;
    color: #fff;
    font-size: 12px;
    padding: 2px 6px;
    margin-left: 8px;
    border-radius: 3px;
    vertical-align: middle;
}

/* 入力欄（input, select）の共通スタイル */
.wrapper .wpcf7-form-control {
    width: 100%;
    padding: 12px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
}

/* --- Contact Form 7 送信ボタンの最終的な中央寄せ --- */
/* ページテンプレート固有のクラスからボタンまでのパスを正確に指定 */
body.page-template-page-lp-php #contact-form input.wpcf7-submit {

    /* ▼▼▼ この一行で親テーマの背景指定をすべてリセットし、色を強制適用します ▼▼▼ */
    background: #ff7f00 !important;
    /* ▲▲▲ ここが最重要ポイントです ▲▲▲ */

    /* その他のスタイル */
    color: #ffffff !important;
    border: none !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: auto;
    max-width: 300px;
    padding: 15px 40px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 50px;
    cursor: pointer;
    transition: opacity 0.3s;
}

/* ホバー時のスタイル */
body.page-template-page-lp-php #contact-form input.wpcf7-submit:hover {
    opacity: 0.8;
    background: #e67300 !important; /* ホバー時の色もbackgroundで指定 */
}

/* ボタンを囲むコンテナの余白設定 */
body.page-template-page-lp-php #contact-form .submit-button-container {
    padding-top: 20px;
}

/* --- フォームセクションの装飾 --- */
.wrapper #contact-form {
    background-color: #f7f8fa; /* 薄いグレーの背景 */
    padding: 50px 30px; /* 内側に余白を追加 */
    margin-top: 40px; /* 上の画像との間にスペースを確保 */
    margin-bottom: 40px; /* 下の画像との間にスペースを確保 */
    border-top: 1px solid #e0e0e0; /* 上下の区切り線 */
    border-bottom: 1px solid #e0e0e0;
}

/* フォームの入力欄やラベルを少し見やすく調整 */
.wrapper #contact-form .cf7-form-container {
    background-color: #ffffff; /* フォーム自体は白背景にする */
    padding: 40px; /* 白いボックスの内側に余白 */
    border-radius: 10px; /* 角を丸くする */
    box-shadow: 0 10px 25px rgba(0,0,0,0.05); /* わずかに影を付ける */
}

/* スマホ表示の際の余白を調整 */
@media (max-width: 768px) {
    .wrapper #contact-form {
        padding: 40px 15px;
    }
    .wrapper #contact-form .cf7-form-container {
        padding: 30px 20px;
    }
}

/* --- フォーム項目変更に伴うCSS調整 --- */

/* 「任意」ラベルのスタイル */
.wrapper .cf7-form-container .optional {
    display: inline-block;
    background-color: #757575; /* グレー */
    color: #fff;
    font-size: 12px;
    padding: 2px 6px;
    margin-left: 8px;
    border-radius: 3px;
    vertical-align: middle;
}

/* --- ラジオボタンのスタイル調整（縦並び・不要な装飾リセット） --- */

/* チェックボックスのグループ全体を囲むコンテナの装飾をリセット */
.wrapper .wpcf7-form-control.wpcf7-checkbox {
    border: none; /* 親テーマが付けている可能性のある枠線を削除 */
    padding: 0;   /* 親テーマが付けている可能性のある内側の余白を削除 */
    margin: 0;    /* 親テーマが付けている可能性のある外側の余白を削除 */
}

/* チェックボックスのラベル（文字）部分 */
.wrapper .wpcf7-checkbox .wpcf7-list-item label {
    display: inline;
    font-weight: normal;
}
/* 各チェックボックスの項目（縦並びに設定） */
.wrapper .wpcf7-checkbox .wpcf7-list-item {
    display: block;
    margin-bottom: 12px;
}


/* ラジオボタンのグループ全体を囲むコンテナの装飾をリセット */
.wrapper .wpcf7-form-control.wpcf7-radio {
    border: none; /* 親テーマが付けている可能性のある枠線を削除 */
    padding: 0;   /* 親テーマが付けている可能性のある内側の余白を削除 */
    margin: 0;    /* 親テーマが付けている可能性のある外側の余白を削除 */
}

/* 各ラジオボタンの項目（縦並びに設定） */
.wrapper .wpcf7-radio .wpcf7-list-item {
    display: block;
    margin-bottom: 12px;
}

/* ラジオボタンのラベル（文字）部分 */
.wrapper .wpcf7-radio .wpcf7-list-item label {
    display: inline;
    font-weight: normal;
}

/* ラジオボタンの丸いボタン自体 */
.wrapper .wpcf7-radio input[type="radio"] {
    width: auto;
    margin-right: 5px;
}

/* --- フォーム上部、LINE誘導テキストの装飾 --- */


/* テキストを囲むPタグ（中央寄せと余白） */
#contact-form .line-diagnostic-link {
    text-align: center; /* テキストを中央寄せ */
    margin-bottom: 30px; /* 下の画像との余白 */
}

/* リンク(aタグ)本体の装飾 */
#contact-form .line-diagnostic-link a {
    font-size: 16px; /* 文字を少し大きく */
    line-height: 1.9; /* 行間を調整 */
    font-weight: bold; /* 文字を太く */
    
    transition: background-color 0.3s; /* ホバー時のアニメーション */
}

/* リンクにマウスを乗せた時のスタイル */
#contact-form .line-diagnostic-link a:hover {
    background-color: #ffffff; /* 背景を白に */
    border-color: #ccc;
}

.lp-footer {
  text-align: center;
  padding: 20px 0;
}
.lp-footer p {
  margin: 0;
}

/* --- 追従ボタン（fixed-cta）のスタイル --- */
/* --- 追従ボタン（final version） --- */

/* ボタンを囲むコンテナ */
.wrapper .fixed-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.95);
  /* padding: 10px 0 20px; /* ボタンのmarginに合わせて下の余白を調整 */
  box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  z-index: 100;
}

/* ボタンを隠すためのクラス */
.wrapper .fixed-cta.fixed-cta-hidden {
    opacity: 0;
    transform: translateY(100%); /* 下にスライドアウトさせる */
    pointer-events: none; /* 見えなくてもクリックできないようにする */
}

/* ボタン本体 */
.wrapper .fixed-cta .contact-button {
  display: block;
  /* width: 90%; */
  max-width: 330px;
  margin: 0 auto;
  padding: 15px 10px;
  /* background-color: #06c755; */ /* ←ここはご自身のカラーコードにしてください */
  color: #fff;
  text-decoration: none;
  font-size: 18px; /* ← この行を修正 */
  font-weight: bold;
  text-align: center;
  border-radius: 50px;
  /* box-shadow: 0 4px 10px rgba(0,0,0,0.1); */
  transition: transform 0.2s;
}

/* ボタンのホバーエフェクト */
.wrapper .fixed-cta .contact-button:hover {
  transform: scale(1.05);
}

.header-line-button img {
    width: 240px; /* LINEボタンのサイズを指定 */
    height: auto;
}

.sim-button img {
    width: 240px; /* LINEボタンのサイズを指定 */
    height: auto;
}

/* ヘッダー追従ボタンのスタイル（完全中央揃え修正版） */
.fixed-header-cta {
    position: fixed;
    top: 0;
    left: 0;
    right: 0; /* 左右0に指定して幅を強制確保 */
    width: 100%;
    height: auto;
    z-index: 9999;
    
    /* Flexboxで強制中央配置 */
    display: flex;
    justify-content: center;
    align-items: center;

    background-color: rgba(255, 255, 255, 0.9);
    padding: 10px 0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);

    transition: transform 0.3s ease;
    transform: translateY(-100%);
    
    /* コンテナ自体の余計な余白を削除 */
    margin: 0 !important;
    box-sizing: border-box;
}

/* リンクタグ自体のスタイルリセット */
.fixed-header-cta a {
    display: block;
    width: auto;      /* 幅を画像に合わせる */
    margin: 0 auto !important; /* 強制的に中央 */
    padding: 0 !important;
    text-align: center; /* 中身の画像を中央へ */
    line-height: 1; /* 行間のズレ防止 */
}

/* 画像のスタイルリセット */
.fixed-header-cta img {
    max-width: 100%;
    height: auto;
    width: 350px; /* PCサイズ */
    
    /* 画像の余白を強制削除して中央配置 */
    margin: 0 auto !important;
    padding: 0 !important;
    display: inline-block; /* text-alignを効かせるため */
    vertical-align: bottom; /* 画像下の謎の隙間対策 */
}

/* 表示制御クラス */
.fixed-header-cta.is-visible {
    transform: translateY(0);
}

.fixed-header-cta.fixed-header-cta-hidden {
    transform: translateY(-100%) !important;
}

/* スマホ表示の調整 */
@media screen and (max-width: 768px) {
    .fixed-header-cta {
        padding: 10px 5%; /* 左右に少し余白を持たせる */
    }
    
    .fixed-header-cta img {
        width: 100%; /* 親枠に合わせて最大化 */
        max-width: 250px; /* 大きすぎないように制限 */
    }
}