@charset "utf-8";



@font-face {
font-family: CormorantGaramond-Regular;
//font-display: swap;
src: url("../common_fonts/CormorantGaramond-Regular.woff2") format("woff2");
}

@font-face {
font-family: CormorantGaramond-SemiBold;
//font-display: swap;
src: url("../common_fonts/CormorantGaramond-SemiBold.woff2") format("woff2");
}



@font-face {
font-family: ShipporiMincho-Regular;
//font-display: swap;
src: url("../common_fonts/005_Shippori_mincho_Regular.woff2") format("woff2");
}

@font-face {
font-family: ShipporiMincho-SemiBold;
//font-display: swap;
src: url("../common_fonts/Shippori_mincho_SemiBold.woff2") format("woff2");
}

@font-face {
font-family: ShipporiMincho-Bold;
//font-display: swap;
src: url("../common_fonts/Shippori_mincho_Bold.woff2") format("woff2");
}







body {margin: 0;font-family: 'ShipporiMincho-Regular';color: #1A1B1D;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}


.pc_br{display: none;}
.sp_br{display: inline-block;}



img{
pointer-events: none;	/* 右クリック保存禁止 */
/* SPの長押し禁止 */
-webkit-touch-callout:none;		-webkit-user-select:none;
-moz-touch-callout:none;		-moz-user-select:none;
user-select:none;
}


a{text-decoration: none;	transition : 0.5s;}
a:hover{opacity: 0.7; 		transition : 0.5s;}



.main_menu_box{display: none}	/*2025-04-04_追加*/




.faq_l_screen_menu{display:none}	/*2025-03-11_追加*/

.faq_l_screen_left_txt{
font-family: ShipporiMincho-SemiBold;
width: 90%;					color: #1A1B1D;		font-size: 4.5vw;
padding: 20px 0px 0px 3%;	line-height: 1.2;	font-weight: 700;
}




/*以下　2024-10-25　スマホ版のみハンバーガーメニュー表示用*/

.menu-btn {
position: fixed;
top: 1%; right: 20px;
display: flex;
height: 50px; width: 50px;
justify-content: center;
align-items: center;
z-index: 90;
border-radius: 5px;
opacity: 0.8;
//background-color: #fff;
//border: 1px solid red;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
content: '';
display: block;
height: 2.5px; width: 45px;
border-radius: 3px;
background-color: #0E298C;
position: absolute;
transition: .5s;
}
.menu-btn span:before {bottom: 10px;}
.menu-btn span:after {top: 10px;}


/*メニューオープン時は真ん中の線を透明にする*/
#menu-btn-check:checked ~ .menu-btn span {
background-color: rgba(255, 255, 255, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
bottom: 0;
transform: rotate(45deg);
transition: .5s;
background-color: #fff;
}
#menu-btn-check:checked ~ .menu-btn span::after {
top: 0;
transform: rotate(-45deg);
transition: .5s;
background-color: #fff;
}


#menu-btn-check {display: none;}


.menu-content {
width: 100%; height: 100%;
position: fixed;
top: 0;
left: 100%;				/*leftの値を変更してメニューを画面外へ*/
z-index: 80;
background-color: #0E298C;
opacity: 0.65;
transition: all 0.4s;	/*アニメーション設定*/
}

#menu-btn-check:checked ~ .menu-content
{left: 0%;/*メニューを画面内へ 上記 width と合計100%になるように調整*/}


.menu-content ul {
padding: 70px 10px 0px 20px;
//border: 1px solid red;
}
.menu-content ul li {
border-bottom: solid 1px #fff;
padding: 10px 0px 10px 0px;
list-style: none;
//border: 1px solid red;
}
.menu-content ul li a {
display: block;
width: 100%;
font-size: 26px;
box-sizing: border-box;
color:#fff;
text-decoration: none;
padding: 10px 30px 10px 0;
position: relative;
}
.menu-content ul li a::before {
content: "";
width: 7px;
height: 7px;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
transform: rotate(45deg);
position: absolute;
right: 11px;
top: 28px;
}

/*以上　2024-10-25　スマホ版のみハンバーガーメニュー表示用*/



/* FAQ よくあるご質問　タイトル */
.yokuaru_title_box{
margin: 30px 0 0 0;		text-align: right;
width: 100%;    color:#fff;     height: 46vw;
background: linear-gradient(90deg, #becaf5 0%, #798bd3 50%, #304db2 100%);
//border: 1px solid red;
}

.yokuaru_title_FAQ_yokuaru_box{
display:block; width:100%; margin: 0 auto;
//border: 1px solid green;	box-sizing: border-box;
}
.yokuaru_title_FAQ{
font-family: 'CormorantGaramond-Regular';
width:25%;						text-align: right;
display:inline-block;			text-shadow: 1px 2px 3px #555;
font-size: calc(450vw / 32);	padding-top: 10px;
//border: 1px solid red;
}

.yokuaru_title_yokuaru_title{
width:60%;    text-align: left;   font-size: calc(220vw / 32);
display:inline-block; padding: 0 0 0 3%;
//border: 1px solid red;
}

.yokuaru_title_txt{
font-size: calc(155vw / 32); padding: 5px 0 0 0;
display:block;  width:100%;   margin: 0 auto; text-align: center;
line-height: 1.25;
}

/* FAQ よくあるご質問　タイトル　　　　ここまで */



/* QA 質問と答え それぞれ　タイトル */
.question_answer_whole_box{
margin: 0 auto 100px auto;		width: 100%;    color:#000;
background: linear-gradient(-180deg, #f5f5fd 0%, #f4f5f8 100%);
border-radius: 0 0 20px 20px;	padding: 10vw 0 10vw 0;
font-size: 4.5vw;
letter-spacing: 0.25px;			line-height: 1.6;
//height: 2900px;
//border: 1px solid red;
}


.question_answer_bg_white_box{
display: flex;		flex-wrap:wrap;
padding: 8% 3%;
width: 90%;			background: #fff;     margin: 0 auto 10vw auto;
border-radius: 8px;	text-align:justify;
border: 1px solid #1543e6;
}
.question_answer_QA_icon{
display:inline-block;
width: 15%;
filter: drop-shadow(1px 2px 2px rgba(0,0,0, 0.3));
//border: 1px solid green;
}
.sp_QA_txt_01{
width: 80%;		margin-left:3%;
display:inline-block;
//border: 1px solid red;
}

.question_answer_bg_white_box  span{
display: block;		margin-top: 15px;
color: #1d2e87;		width: 100%;
//border: 1px solid orange;
}



.question_answer_bg_light_blue_box{
display: flex;		flex-wrap:wrap;
padding: 8% 3%;
width: 90%;   background: none;     margin: 0 auto;
border-radius: 8px;
//border: 1px solid red;
}

.question_answer_bg_light_blue_box  span{
width: 100%;		color: #1d2e87;
margin-top: 0px;
//border: 1px solid orange;
}

.q_a_box_adjust_margin_SP_25{height:25px;  display:block}
.q_a_box_adjust_margin_SP_50{height:50px;  display:block}
.q_a_box_adjust_margin_SP_100{height:100px;  display:block}

/*
.q_a_bg_white_box_adjust_03{top:140px;  padding: 30px 80px 30px 130px; width: 560px;}
.q_a_bg_white_box_adjust_04{top:200px;  padding: 30px 80px 30px 130px; width: 560px;}
.q_a_bg_white_box_adjust_05{top:250px;  padding: 30px 80px 30px 130px; width: 560px;}
.q_a_bg_white_box_adjust_06{top:330px;  padding: 30px 80px 30px 130px; width: 560px;}


/* QA 質問と答え それぞれ　タイトル　　　　ここまで */




/* Voice 部分　タイトル */
.voice_part_box{
position: relative;     width:100%;   margin:0 auto;
height: 150px;
//border: 1px solid red;
//z-index: 100;
}

.voice_oval_box{
position: absolute;     top: 0px;		     left: 30px;
width: 100px;           height: 100px;
border-radius: 50%;
background: #1054ff;    box-shadow: 0px 0px 40px 40px #1054ff;
opacity: 0.3;
}

.voice_oval_title{
width: 150px;           filter: drop-shadow(1px 2px 2px rgba(0,0,0, 0.5));
position: absolute;     top:-10px;     left:20px;
}
.voice_oval_bk_txt{
position: absolute;		top:50px;     left:20px;
font-size: 4.25vw;		letter-spacing: -0.25px;
color:#000;
z-index: +1;
}

.voice_oval_right_ph{
position: absolute;     right:10px;  top: -12vw;
width: 30vw;
}
.voice_oval_right_ph  img{width: 100%;}

/* Voice 部分　タイトル　　　　ここまで */



/* Voice 患者の声部分 */
.voice_patient_box{
width:100%;   margin:0 auto;
//border: 1px solid red;
}

.voice_patient_voice_01{
font-size: 3.8vw;        padding: 7.0vw 0 0 0;
text-align: center;     line-height: 2.0;
width:95%;   margin: 0 auto 3vw auto;
height:26vw;
background: url(../faq_img/SP_Voice_note_bg_01.svg);
background-size: 100% ;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px #888);
}

.voice_patient_voice_02{
font-size: 4.0vw;        padding: 7.0vw 0px 0 0;
text-align: center;     line-height: 1.0;
width: 95%;   margin: 0 auto 3vw auto;
height:16vw;
background: url(../faq_img/SP_Voice_note_bg_02.svg);
background-size: 100% ;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px #888);
//border: 1px solid red;
}

.voice_patient_voice_03{
font-size: 4.0vw;        padding: 18px 0 0 0;
text-align: center;     line-height: 1.8;
width: 95%;   margin: 0 auto 3vw auto;
height:16vw;
background: url(../faq_img/SP_Voice_note_bg_02.svg);
background-size: 100% ;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px #888);
//border: 1px solid red;
}

.voice_patient_voice_04{
font-size: 3.4vw;        padding: 7.0vw 0px 0 0;
text-align: center;     line-height: 1.0;
width: 95%;   margin: 0 auto 3vw auto;
height:16vw;
background: url(../faq_img/SP_Voice_note_bg_02.svg);
background-size: 100% ;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px #888);
//border: 1px solid red;
}

.voice_patient_voice_10{
font-size: 4.2vw;        padding: 3.0vw 0 2.0vw 0;
text-align: center;     line-height: 1.65;
width: 95%;   margin: 0 auto 3vw auto;
height:43vw;
background: url(../faq_img/SP_Voice_note_bg_05.svg);
background-size: 100% ;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px #888);
}


.voice_patient_voice_20{
font-size: 4.4vw;        padding: 7.0vw 0 0 0;
text-align: center;     line-height: 1.8;
width: 95%;   margin: 0 auto;
height:20vw;
background: url(../faq_img/SP_Voice_note_bg_01.svg);
background-size: 100% ;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px #888);
}

.voice_patient_box_arrow_box{
width: 95%;		margin: 10vw auto 12vw auto;
display:block;	text-align:right;
//border: 1px solid red;
}

.voice_patient_box_arrow{
//margin: 0px auto 0 0;
display:inline-block;
width: 40vw;
//border: 1px solid green;
}
.voice_patient_box_arrow  a{display:block; margin-right: auto;}

.voice_patient_box_arrow  img{width: 100%; display:block;}


/* Voice 患者の声部分　　　　ここまで */



.hp_list_box{
width: 100%;	height:30px;
//border: 1px solid orange;
}



/* 林Drの治療が受けられる病院 部分 */

.hospital_list_box{
position: relative;     width:100%;     height:180vw;
margin: 0 0 180px 0;
display: block;
//box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.3);
//border: 1px solid orange;
}

.hospital_list_box::after{
background: linear-gradient(90deg, #becaf5 0%, #798bd3 50%, #304db2 100%);
content:"";     width: 100%;    height:25.0vw;
position: absolute;     top:50px;
z-index: -5;
}


.hospital_list_hayashi_title{
width:100%;   height: 800px;
color: #fff;    text-align: right;      font-size: 5.5vw;
position: absolute;     top:40px;		line-height: 1.2;
margin: 0 auto;
//border: 1px solid yellow;
}
.hospital_list_hayashi_title  span{font-size: 150%;}


.hospital_list_hayashi_title::after{
content:"";
width:30vw;    height: 40vw;
position: absolute;     top:-30px;    left:0px;
background: url(../faq_img/PC_hosp_Dr.jpg);
background-size: 100%;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px rgba(0,0,0, 0.5));
}

.hospital_list_hayashi_title  p{
padding: 0 5vw 0 0;
//border: 1px solid pink;
}



.hospital_list_001{
width:90%;    height:25vw;
color: #000;    text-align: left;      font-size: 3.4vw;
padding: 10px 0 0 10px;                   line-height: 1.8;
position: absolute;     top:100vw;		right: 0;		left: 0;
margin:	0 auto;
background: url(../faq_img/PC_hosp_01.jpg);
background-size: 100%;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px rgba(0,0,0, 0.5));
//border: 1px solid red;
z-index: 0;
}

.hospital_list_001  span{font-size: 140%; color:#fff;}


.hospital_list_002{
width:90%;    height:25vw;
color: #000;    text-align: left;      font-size: 3.4vw;
padding: 10px 0 0 10px;                   line-height: 2.0;
position: absolute;     top:130vw;		right: 0;		left: 0;
margin:	0 auto;
background: url(../faq_img/PC_hosp_02.jpg);
background-size: 100%;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px rgba(0,0,0, 0.5));
//border: 1px solid red;
}

.hospital_list_002  span{font-size: 110%; color:#fff;   letter-spacing: -1px;}


.hospital_list_003{
width:90%;    height:25vw;
color: #000;    text-align: left;      font-size: 3.4vw;
padding: 10px 0 0 10px;                   line-height: 1.8;
position: absolute;     top:160vw;		right: 0;		left: 0;
margin:	0 auto;
background: url(../faq_img/PC_hosp_03_04.jpg);
background-size: 100%;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px rgba(0,0,0, 0.5));
//border: 1px solid red;
}

.hospital_list_003  span{font-size: 140%; color:#fff;}


.hospital_list_004{
width:90%;    height:25vw;
color: #000;    text-align: left;      	font-size: 3.4vw;
padding: 10px 0 0 10px;                	line-height: 1.8;
position: absolute;     top:40vw;		right: 0;		left: 0;
margin:	0 auto;
background: url(../faq_img/PC_hosp_03_04.jpg);
background-size: 100%;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px rgba(0,0,0, 0.5));
//border: 1px solid red;
}

.hospital_list_004  span{font-size: 140%; color:#fff;}


.hospital_list_005{
width:90%;    height:25vw;
color: #000;    text-align: left;      font-size: 3.4vw;
padding: 10px 0 0 10px;                   line-height: 1.8;
position: absolute;     top:70vw;		right: 0;		left: 0;
margin:	0 auto;
background: url(../faq_img/PC_hosp_05.jpg);
background-size: 100%;
background-position: 0px 0px;
background-repeat: no-repeat;
filter: drop-shadow(2px 2px 2px rgba(0,0,0, 0.5));
//border: 1px solid red;
}

.hospital_list_005  span{font-size: 140%; color:#fff;}



/* 林Drの治療が受けられる病院 部分　　　　ここまで */





/*_____スマホ用フッター 表示_____*/
.faq__footer_box_full{
max-width: 1440px;
color: white;
max-width: 100%;
background-color: #0B2580;
z-index: 100;
//background-image: linear-gradient(to top, #12277b 50%, #aeb5d4);
//margin: 30px 0px 50px 0px;
//background-image: linear-gradient(0deg, to top, rgb(18, 39, 123)  50% , rgb(174, 181, 212));
//border: 1px solid pink;
}



.faq__footer_box{
content-visibility: auto;		/*2025-03-07追加*/
contain-intrinsic-size: 650px;	/*2025-03-07追加*/
display: flex;	width: 100%;
margin: auto;	padding: 100px 0px 20px 0px;
flex-wrap: wrap;
//border: 1px solid yellow;		box-sizing: border-box;
}

.faq__footer_left_title{
font-family: 'ShipporiMincho-SemiBold';
text-align: center;		width: 100%;
font-size: 4.35vw;		line-height: 1.2;
margin: auto;			padding: 0px 0px 25px 0px;
//border-bottom: 1px solid #fff;
}

.faq__footer_right_menu_box{display: flex;justify-content: flex-end;width: 700px; flex-wrap: wrap;}

.app__footer_adjust_line{border-top: 1px solid #fff;}

.faq__footer_right_menu_items{
display: flex;			width: 70%;			justify-content: left;
align-items: center;	text-align: center;		line-height: 1.2;
margin: auto;			font-size: 5.0vw;
height: 80px;			padding: 0px 0px 0px 5px;
border-bottom: 1px solid #fff;
}

.faq__footer_right_menu_items::after{
content: "";
position: absolute;		right:40px;
width: 80px;	height: 30px;
//background-color: #fff;
background: url(../faq_img/Sp_footer_arrow_01.svg);
background-size: 40%;
background-position:  25px 5px;
background-repeat:  no-repeat;
//z-index: -10;
//border: 1px solid yellow;
}

.faq__footer_right_menu_items a{
display: flex;
text-align: left;		color: #fff;	align-items: center;
text-decoration: none;	width:120%;		height: 100%;
z-index: +1;
//border: 1px solid pink;
}
.faq__footer_right_menu_items a:hover{opacity: 0.7;}



.faq__footer_copy_right_box{
width: 100%;			margin: auto;
font-size: 4.0vw;
text-align: center;		padding: 30px 0px 120px 0px;
}

/*_____スマホ用フッター 表示_____　　　　　ここまで*/







