

* {
  margin: 0;
  padding: 0;
}
html{
	scroll-behavior: smooth;
	margin:0px;
	padding:0px;
}
body{
	background:#ffffff;
	text-align:center;
	color:#000;
    font-size: 16px;
	line-height:2;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
img{
	border-style:none;
	display:block;
	padding:0px 0px 0px 0px;
	margin:0px 0px 0px 0px;
}

a {
cursor:pointer;
	color:#333;
	text-decoration:none;
}
a:hover, a:focus {
	text-decoration: none;
	color:#ddd;
}

li{list-style:none;}


.box_in{
width:90%;
max-width:1100px;
padding: 70px 0 70px 0;
margin: 0px auto;
text-align: left;
}

.box_in_x{
width:100%;
padding: 70px 0 70px 0;
margin: 0px auto;
text-align: left;
overflow: hidden;
}

.bg_006ffc{background-color: #006ffc;}
.bg_006ffc_top{width: 100%}
.bg_006ffc_top img{width: 100%}
.bg_006ffc_bottom{width: 100%}
.bg_006ffc_bottom img{width: 100%}


.bg_d3f3fc{background-color: #d3f3fc;}


.text_red{color:red;font-weight:500;}
.text_yellow{color:#ffff00;font-weight:500;}
.text_green{color:#008e53;font-weight:500;}

.text_bg_yellow{background-color:#ffff00;font-weight:500;}
.text_bg_red{background-color:red;font-weight:500;}

/* ---Header----*/

#header {
	width:100%;

}
.header_in{
	width:100%;
	margin: 0px auto;
	padding:0px 0px 0px 0px;
}

.header_top{
	width:100%;
	margin: 0px auto 0px auto;
	display: flex;
	align-items:center;
	justify-content: space-between;
	padding:0px 0%;
	box-sizing: border-box;
}

.header_top_low{
	width:100%;
	margin: 0px auto 0px auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.h_logo{
width: 330px;
margin:0;
}
.h_logo img{
width: 100%;
}

.h_links02{
	display: flex;
	align-items: center;
	margin:0px 20px 0px 0;

}
.h_links02_in{
	margin:0px 0px 0px 20px;
}
.h_link02_text{
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.h_link02_text p{
display: inline-block;
text-align: right;
font-size: 15px;
font-weight: 500;
margin:0px 0px 0px 0;
}

.h_link02_tel{
	display: flex;
	align-items: center;
	margin:-5px 0 0px 0;
}

.h_link02_tel p{
font-size: 44px;
line-height:1;
margin:0px 0px 0px 0;
color:#000;
font-family: "Zen Maru Gothic", serif;
font-weight:600;
letter-spacing:1px;
}

.h_link02_tel img{
vertical-align: middle;
width:50px;
margin:4px 10px 0px 0;
}

.h_nav02_btn01{
margin:15px 0px 0px 0px;
font-size:13px;
letter-spacing:1px;
line-height:13px;
padding:20px 20px 20px 50px;
border-radius: 3px;
font-weight: 500;
color:#fff;
background-color:#e22424;
background-image: url(../images/h_mail_icon.png);
background-position:left 10% center;
background-repeat: no-repeat;
background-size: 25px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
display:block;
box-sizing: border-box;
}
.h_nav02_btn01:hover{
color:#fff;
background-color:#ad1c1c;
}



.s-fade-wrap{
background-image: url(../images/mv_bg.jpg);
background-position:center center;
background-repeat: no-repeat;
background-size:cover;
width:100%;
overflow: hidden;
}

.s-fade-wrap_in{
width:86%;
margin:0 auto;
display: flex;
align-items: center;
}
.mv_view_box01{
width:65%;
margin:4% 0;
position: relative;
z-index: 1;
}
.mv_view_box01 img{
width:100%;
}

.mv_view_box02{
width:35%;
margin: 0px 0 -20% -8%;
position: relative;
z-index: 0;
}
.mv_view_box02 img{
width:125%;
margin: 0 0 0 ;
}

.mv_none{
background-image: url(../images/mv_bg.jpg);
background-position:center center;
background-repeat: no-repeat;
background-size:cover;
width:100%;
overflow: hidden;
padding: 50px 0 0 0;
}


/* ---title---*/

.title_text_c01{
text-align: center;
}
.title_text_c01 h2{
font-size:41px;
font-weight:600;
line-height:1.5;
letter-spacing:1px;
text-align: center;
margin:0px auto;
color:#023d81;
display: inline-flex; /* 中央寄せしたい場合は親要素で text-align:center; */
align-items: center;  /* 縦位置を中央に揃える */
gap: 1em; /* 画像と文字の間隔 */
}
.title_text_c01 h2::before,
.title_text_c01 h2::after {
    content: "";
    flex: 0 0 auto; /* サイズ固定 */
    width: 4.5em;   /* ← 大きくしたい場合はここを変更 */
    height: 4.5em;  /* ← 高さも同じく変更 */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
.title_text_c01 h2::before {background-image: url('../images/text_c_bg_l.png');}
.title_text_c01 h2::after {background-image: url('../images/text_c_bg_r.png');}


.title_text_c02{
text-align: center;
}
.title_text_c02 h2{
font-size:41px;
font-weight:600;
line-height:1.5;
letter-spacing:2px;
text-align: center;
margin:0px auto;
color:#fff;
display: inline-flex; /* 中央寄せしたい場合は親要素で text-align:center; */
align-items: center;  /* 縦位置を中央に揃える */
gap: 1em; /* 画像と文字の間隔 */
}
.title_text_c02 h2::before,
.title_text_c02 h2::after {
    content: "";
    flex: 0 0 auto; /* サイズ固定 */
    width: 4.5em;   /* ← 大きくしたい場合はここを変更 */
    height: 4.5em;  /* ← 高さも同じく変更 */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
.title_text_c02 h2::before {background-image: url('../images/text_c_bg_l.png');}
.title_text_c02 h2::after {background-image: url('../images/text_c_bg_r.png');}


.title_text_b01{
text-align: center;
}
.title_text_b01 h2{
font-size:41px;
font-weight:600;
line-height:1.5;
letter-spacing:2px;
text-align: center;
margin:0px auto;
color:#fff;
display: inline-flex; /* 中央寄せしたい場合は親要素で text-align:center; */
align-items: center;  /* 縦位置を中央に揃える */
gap: 0.5em; /* 画像と文字の間隔 */
}
.title_text_b01 h2::before,
.title_text_b01 h2::after {
    content: "";
    flex: 0 0 auto; /* サイズ固定 */
    width: 2.5em;   /* ← 大きくしたい場合はここを変更 */
    height: 2.5em;  /* ← 高さも同じく変更 */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
.title_text_b01 h2::before {background-image: url('../images/text_b01_bg_l.png');}
.title_text_b01 h2::after {background-image: url('../images/text_b01_bg_r.png');}

.title_text_b02{
text-align: center;
}
.title_text_b02 h2{
font-size:41px;
font-weight:600;
line-height:1.5;
letter-spacing:2px;
text-align: center;
margin:0px auto;
color:#023d81;
display: inline-flex; /* 中央寄せしたい場合は親要素で text-align:center; */
align-items: center;  /* 縦位置を中央に揃える */
gap: 0.5em; /* 画像と文字の間隔 */
}
.title_text_b02 h2::before,
.title_text_b02 h2::after {
    content: "";
    flex: 0 0 auto; /* サイズ固定 */
    width: 2.5em;   /* ← 大きくしたい場合はここを変更 */
    height: 2.5em;  /* ← 高さも同じく変更 */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
.title_text_b02 h2::before {background-image: url('../images/text_b02_bg_l.png');}
.title_text_b02 h2::after {background-image: url('../images/text_b02_bg_r.png');}

.title_text_b02 h2 div{
display:inline;
}
.title_text_b02_01{
font-size:28px;
font-weight:600;
line-height:1.5;
letter-spacing:1px;
}
.title_text_b02_02{
}



.title_text_x h3{
color:#023d81;
font-size: 32px;
font-weight: 600;
letter-spacing: 2px;
display: flex;
align-items: center;
padding: 50px 0 0 0 ;
}
.title_text_x h3:before,
.title_text_x h3:after {
    content: "";
    height:7px;
    flex-grow: 1;
    background-color:#023d81;
}
.title_text_x h3:before {
    margin-right: 1rem;
}
.title_text_x h3:after {
    margin-left: 1rem;
}

/* ---t_one---*/
.t_one{
width:100%;
max-width:1100px;
padding:0px 0px 0px 0px;
margin:0 auto;
text-align: center;
}


.t_one_in01_text{
width:100%;
margin:0px 0 0px 0;
}
.t_one_in01_text_in p{
text-align: center;
font-size:18px;
line-height:2;
margin: 20px 0 0px 0;
}


.t_one_in02{
display: flex;
align-items:top;
justify-content:space-between;
flex-wrap: wrap;
width:100%;
margin:0px auto 0px auto;
}

.t_one_in02 li{
width: 31.5%;
text-align: center;
margin:50px 0 0 0;
padding: 30px;
box-sizing: border-box;
background-color: #fff;
}
.t_one_in02 li img{
width: 20%;
margin:10px auto 0px auto;
}
.t_one_in02 li h3{
font-size:26px;
line-height:2;
font-weight:600;
letter-spacing: 2px;
padding: 10px 0 5px 0;
border-bottom: 3px solid #000;
}
.t_one_in02 li h3 span{
font-size:22px;
line-height:2;
font-weight: 500;
letter-spacing:1px;
}
.t_one_in02_in{
padding:15px 0px;
text-align: left;
font-size: 16px;
line-height:1.7;
}
.t_one_in02_in p{
padding:10px 0;
}
.t_one_in02_in p span{
color:#008e53;
font-weight: 600;
}

.t_one_bottom_text{
font-size: 18px;
margin: 40px 0 0 0;
}
.t_one_bottom_text span{
color:red;
font-weight: 600;
}

/* ---t_eight---*/
.t_eight{
display: flex;
align-items:top;
justify-content:space-between;
flex-wrap: wrap;
margin: 0px 0 40px 0;
}
.t_eight li{
width:  48%;
background-color: #023d81;
display: flex;
align-items:center;
justify-content:space-between;
margin: 40px 0 0 0;
padding: 30px;
box-sizing: border-box;
}
.t_eight li img{
width: 12%;
}
.t_eight li p{
width:83%;
color:#fff;
font-size: 26px;
font-weight: 400;
letter-spacing:1px;
line-height: 1.5;
text-align: left;
padding: 10px 0;
}
.t_eight li p span{
color:yellow;
font-weight:500;
}


/* ---t_two---*/
.t_two{
padding:30px 0px 0px 0px;
margin:0 auto;
}

.t_two_top_text{
padding:25px 0px;
text-align:center;
font-weight: 600;
font-size: 24px;
line-height:1.7;
letter-spacing: 2px;
}
.t_two_top_text p{display: inline;}
.t_two_top_text p span{font-size: 32px;}

.t_two_middle_text p{font-size:18px;margin: 25px 0 0 0;}

.t_two_in{
display: flex;
align-items:top;
justify-content:space-between;
flex-wrap: wrap;
margin:0px 0 0 0;
}

.t_two_in_box{
width:48%;
position: relative;
background-color: #fff;
margin:25px 0 25px 0;
}
.t_two_in_icon{
width:25%;
position: absolute;
top:-30px;
left:-30px;
}
.t_two_in_icon img{width:100%;}
.t_two_in_view{width:100%;}
.t_two_in_view img{width:100%;}

.t_two_in_text{
display: flex;
align-items:center;
padding:20px 15px;
min-height:70px;
text-align: center;
}

.t_two_in_text h3{
letter-spacing:3px;
line-height: 1.5;
font-size: 20px;
font-weight:600;
text-align: center;
margin: 0 auto;
}
.t_two_in_text h3 span{
color:red;
}


/* ---cv_area---*/

.cv_area{
width:100%;
}

.cv_btn_box{
width:100%;
display: flex;
align-items: center;
justify-content: space-between;
margin:40px 0px 0px 0px;
}

.cv_links01{
width:  48%;
}
.cv_links02{
width:  48%;
}


.cv_btn01{
display: flex;
align-items: center;
justify-content: space-between;
margin:0px 0px 0px 0px;
padding: 30px;
background-color: #00c300;
border-bottom:5px solid #029c02;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
box-sizing: border-box;
}
.cv_btn01:hover{
color:#fff;
background-color:#029c02;
border-bottom:5px solid #015701;
}
.cv_btn02{
display: flex;
align-items: center;
justify-content: space-between;
margin:0px 0px 0px 0px;
padding: 30px;
background-color: #e22424;
border-bottom:5px solid #b50c0c;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
box-sizing: border-box;
}
.cv_btn02:hover{
color:#fff;
background-color:#b50c0c;
border-bottom:5px solid #740808;
}

.cv_links01 img{
width:  23%;
}
.cv_links02 img{
width:  23%;
}

.cv_btn_box p{
width:70%;
color: #fff;
font-size:14px;
line-height:1.5;
letter-spacing:2px;
font-weight: 400;
}
.cv_btn_box span{
color: #fff;
font-size:36px;
letter-spacing:2px;
font-weight: 500;
}


/* ---t_three---*/
.t_three{
max-width: 1100px;
padding:0px 0px 0px 0px;
margin:0 auto;
}
.t_three_top_text{
color: #fff;
text-align: center;
font-size:18px;
line-height: 1.7;
padding:0px 0px 30px 0px;
}
.t_three_top_text img{
background-color: #fff;
padding:10px;
width: 40%;
margin: 20px auto 0px auto;
}

.t_three_box{
display: flex;
justify-content: space-between;
box-sizing: border-box;
margin: 30px 0;
}

.t_three_in{
width: 32%;
padding:0px;
margin: 0px 0 0px 0;
background-color: #fff;
}


.t_three_in_view{
width:100%;
padding:0px 0;
}
.t_three_in_view img{width:100%;margin: 0 auto;}

.t_three_in_text{width:100%;padding:0;box-sizing: border-box;}


.t_three_in_text h3{
padding: 0 0px;
color:#023d81;
font-size:26px;
line-height:26px;
font-weight: 600;
letter-spacing: 3px;
margin:25px auto ;
text-align: center;
}


.t_three_in p{
font-size:18px;
letter-spacing:0px;
line-height:1.5;
margin: 20px;
}

.t_three_arrow{width:3%;}
.t_three_arrow img{
width: 100%;
padding:150px 0 0 0;
}

/* ---t_four---*/
.t_four{
max-width: 1100px;
padding:0px 0px 0px 0px;
margin:0 auto;
display: flex;
align-items:top;
justify-content:space-between;
flex-wrap: wrap;
}
.t_four_in{
width:48%;
background-color: #f3f3f3;
margin: 75px 0 30px 0;
padding:40px 40px 100px 40px;
box-sizing: border-box;
position: relative;
}
.t_four_in_box{
margin:-100px 0 0 0;
width:100%;
padding: 0 0 0px 0;

}

.t_four_view{
width:100%;
margin:0px auto;
}
.t_four_view img{margin:0 auto;width:30%;}
.t_four_view p{
letter-spacing:2px;
text-align: center;
padding:10px 0 0px 0; 
}

.t_four_in h3{
font-size: 24px;
line-height:1.5;
letter-spacing:1px;
font-weight:600;
padding:20px 0 20px 0; 
color:#023d81;
text-align: center;
}

.t_four_text p{
font-size:16px;
line-height:1.5;
letter-spacing:1px;
padding:0px 0 20px 0;
}

.text_center{
text-align: center;
}
.t_four_refund{
display: flex;
justify-content:space-between;
align-items: center;
width: 100%;
position: absolute;
bottom:40px;
left:0;
right: 0;
padding:40px 40px 0px 40px;
box-sizing: border-box;
}

.t_four_refund_in_white{
width: 47%;
background-color: #fff;
border: 3px solid #000;
padding:10px;
box-sizing: border-box;
}
.t_four_refund_in_white p{
letter-spacing: 2px;
font-size:18px;
line-height: 28px;
font-weight: 600;
text-align: center;
}
.t_four_refund_in_white p span{
font-size:28px;
color:red;
}

.t_four_arrow{width: 6%;}
.t_four_arrow img{width: 100%;}

.t_four_refund_in_yellow{
width: 47%;
background-color: #ffff00;
border: 3px solid #000;
padding:10px;
box-sizing: border-box;
}
.t_four_refund_in_yellow p{
letter-spacing: 2px;
font-size:18px;
line-height: 28px;
font-weight: 600;
text-align: center;
}
.t_four_refund_in_yellow p span{
font-size:28px;
color:red;
}



/* ---t_five---*/
.t_five{
	max-width:1100px;
	padding:20px 0px 20px 0px;
	margin:0 auto;
	list-style:none;
}
.t_five dl+dl {
    margin-top:30px;
}

.t_five 
dt,
dd {
    padding:15px 20px;
}

.t_five dl {
    position: relative;
    overflow: hidden;
}

.t_five dl>input {
    display: none;
}

.t_five dt {
    position: relative;
    z-index: 1;
    padding-right:50px;
    background: #023d81;
	color:#fff;
	font-size:18px;
	font-weight:500;
	letter-spacing: 2px;
}

.t_five dd {
    position: absolute;
    visibility: hidden;
    transform: translateY(-100%);
    transition: .4s;
    background: #f3f3f3;
	font-size: 16px;
	font-weight:500;
	letter-spacing: 2px;
}

.t_five dl>input:checked+label+dd {
    position: relative;
    visibility: visible;
    transform: translateY(0);
}

.t_five dt::before {
    content: '';
    position: absolute;
    width: 20px;
    height: 3px;
    top: 50%;
    right: 30px;
    background: #fff;
    transform: translateY(-50%);
}

.t_five dt::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 30px;
    width: 20px;
    height: 3px;
    background: #fff;
    transition: .4s;
    transform: translateY(-50%) rotate(90deg);
}

.t_five dl>input:checked+label>dt::after {
    transform: translateY(-50%) rotate(180deg);
}



/* ---t_six---*/

.t_six{
max-width: 1200px;
padding:0px 0px 0px 0px;
margin:0 auto;
}

.t_six_in{
position: relative;
margin:0px auto 60px auto;
}
.t_six_in_view_l{
position: absolute;
right:2.5%;
bottom:0;
width:25%;
}
.t_six_in_view_l img{width:100%;}

.t_six_in_title_l{
display: flex;
align-items: center;
background-color: #008e53;
padding: 10px;
box-sizing: border-box;
}
.t_six_in_title_l h3{
font-size:30px;
line-height: 30px;
color: #fff;
font-weight: 500;
letter-spacing:2px;
}
.t_six_in_title_l img{
width: 70px;
margin: 0 5px 0 0;
}


.t_six_in_contents_l{
background-color: #f2f2f2;
padding:40px;
box-sizing: border-box;
}
.t_six_in_contents_l p{
font-size:18px;
line-height:1.7;
letter-spacing:1px;
margin: 0 30% 0 0;
}


.t_six_in_view_r{
position: absolute;
left:2.5%;
bottom:0;
width:25%;
}
.t_six_in_view_r img{width:100%;}

.t_six_in_title_r{
display: flex;
align-items: center;
justify-content: flex-end;
background-color: #008e53;
padding: 10px;
box-sizing: border-box;
}
.t_six_in_title_r h3{
font-size:30px;
line-height: 30px;
color: #fff;
font-weight: 500;
letter-spacing:2px;
margin: 0 20px 0 0;
text-align:left;
}
.t_six_in_title_r img{
width: 70px;
margin: 0 5px 0 0;
}

.t_six_in_contents_r{
background-color: #f2f2f2;
padding:40px;
box-sizing: border-box;
}
.t_six_in_contents_r p{
font-size:18px;
line-height:1.7;
letter-spacing:1px;
margin: 0 0 0 30%;
text-align: right;
}

/* ---t_form---*/
.t_form{

}
.t_form_box{
background-color: #fff;
padding: 40px;
margin: 40px 0 0 0;
}
.t_form_box h3{
text-align: center;
font-size:28px;
line-height: 28px;
font-weight: 500;
letter-spacing: 2px;
}
.t_fotm_box_in01{
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}

.t_fotm_box_in01 input[type=radio] {
display: none; /* ラジオボタンを非表示にする */
}
.t_fotm_box_in01 input[type=radio]:checked + label {
background-color: #2c7dda;/* マウス選択時の背景色を指定する */
color: #ffffff; /* マウス選択時のフォント色を指定する */
}

.t_fotm_box_in01 label{
display: block;
width:48%;
cursor: pointer; 
background-color: #023d81;
border-radius: 15px;
margin: 3% 0 0 0;
padding: 25px;
box-sizing: border-box;
color: #fff;
text-align: center;
font-size:24px;
font-weight: 500;
letter-spacing: 2px;
transition: background-color 0.3s ease, color 0.3s ease;
}

.form-group{
width: 100%;
text-align:left;
display: flex;
align-items: center;
justify-content: space-between;
margin:30px 0 0 0;
}

.t_fotm_box_in02 label{
display: block;
width: 30%;
text-align: left;
margin: 0;
font-size: 24px;
letter-spacing: 2px;
font-weight: 600;
}
.t_fotm_box_in02 label span{
background-color:#e22424;
color:#fff;
font-size: 18px;
line-height: 18px;
border-radius:5px;
display: inline-block;
margin: 0 0 0 10px;
padding: 5px 10px;
}
.t_fotm_box_in02 input{
width:68%;
padding:20px;
border-radius: 15px;
font-size: 24px;
font-weight: 500;
color:#000;
background-color: #ecf0ed;
border: 3px solid #d1d2d3;
}
.t_fotm_box_in02 input::placeholder {color:#999999;}

/* エラー／必須のカンタン表現（任意） */
.input[aria-invalid="true"],
.input:invalid:focus{
  border-color:#e74c3c;
  box-shadow:0 0 0 3px rgba(231,76,60,.18);
}


.t_form_text{
text-align: center;
margin: 30px 0;
font-size: 16px;
}
.t_form_text a{
color:#023d81;
text-decoration: underline;
}

/* ---送信ボタン-- */

.form-submit{text-align: center;}
.button-submit{
  width:40%;
  padding:30px;
  margin: 0 auto;
  font-size:24px;
  letter-spacing: 2px;
  font-weight:600;
  color:#fff;
  background:#e22424;
  border:0;
  border-radius:15px;
  cursor:pointer;
  transition:transform .06s ease, background-color .2s ease, box-shadow .2s ease;
}

.button-submit:hover{
  background:#b50c0c;
}

/* アニメーション控えめ設定 */
@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; }
}

/* ---form---*/

.form_top_text{
padding:40px 0px 25px 0px;
text-align:center;
font-size:18px;
letter-spacing:1px;
}


.form_box{
max-width: 950px;
margin:0 auto;
padding:20px 0px 0px 0px;
}
.form_box table {
width: 100%;
border-collapse:collapse;
border-spacing:0;
}
.form_box th {
font-size:20px;
font-weight:600;
width: 30%;
padding:30px;
text-align: left;
vertical-align:top;
border-bottom: 2px solid #fdc89e;
}
.form_box th span{
background-color: red;
color:#fff;
font-size:14px;
border-radius:5px;
line-height:14px;
padding: 5px;
display: inline-block;
margin: 0 0 0 15px;
vertical-align: middle;
}
.form_box td  {
padding:30px 0px 30px 0px;
text-align: left;
vertical-align:top;
border-bottom: 2px solid #fdc89e;
}
 
.form_box td p{
padding:10px 0px 5px 0px;
margin:0px 0 0 0px;
}
.form_box p span{color:red;font-size:13px;}


/* ---service---*/
.service{
width:70%;
margin: 30px auto;
}

.service li{
display: flex;
align-items:center;
justify-content:space-between;
border-bottom: 1px solid #5aaf00;
padding:40px 0;
}
.service li:last-child{
border-bottom: none;
}

.service_box_right{width:100%;}
.service_box_right h3{
letter-spacing:1.5px;
font-size:24px;
font-weight:600;
color:#5aaf00;
}
.service_box_right p{
letter-spacing:1.5px;
font-size:16px;
font-weight:400;
}

/* ---company---*/

.company{
width: 70%;
margin:0 auto;
padding:40px 0px 0px 0px;
}

.company li{
display: flex;
align-items:center;
border-bottom: 1px solid #ccc;
padding:40px 0;
}
.company li:last-child{
border-bottom: none;
}
.company h3{width: 30%;}
.company p{

}


/* ---pp---*/
.pp{
width: 70%;
margin:0 auto;
padding:35px 0px 55px 0px;
}
.pp h3{padding:30px 0 10px 0;}
.pp p{}


/* ---footer---*/


.footer{
background-image: url(../images/fot_bg.jpg);
background-position:bottom right;
background-repeat: no-repeat;
background-size:200%;
width:100%;
overflow: hidden;

}
.footer_in{
width:90%;
max-width: 1100px;
margin: 0 auto;
padding:70px 0 70px 0;
display: flex;
align-items:center;
justify-content:space-between;
}
.f_logo{
width:20%;
margin: 0 ;
}
.f_logo img{
width:100%;
}

.f_navi{
width:25%;
text-align:left;
color:#fff;
letter-spacing:2px;
font-size:16px;
line-height: 16px;
font-weight:500;
margin:0px ;
}
.f_navi a img{
width: 20px;
margin: 0 10px 0 0 ;
display: inline-block;
vertical-align: middle;
}
.f_navi a:hover{color:#fff;text-decoration: underline;}
.f_navi a {
display: inline-block;
margin: 10px 0;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
 -o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
color:#fff;
}


.f_copy{
width:100%;
height: 60px;
margin:0px auto;
text-align:center;
padding:0px 0 0px 0;
}
.f_copy_in{
	width:100%;
	margin:0 auto;
}
.copy{
letter-spacing:1px;
text-align:center;
font-size:14px;
font-weight:500;
color:#181818;
margin:0px auto 0px auto;
padding:18px 0 0 0;
}


#side_line_btn a{
position:fixed;
top:150px;
right: -10px; /* ← 初期位置を少し隠す */
width:90px;	
margin:0px;
z-index:10;
background-color: #00c300;
border-radius: 3px 0 0 3px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
#side_line_btn img{
width: 35px;
margin: 0px 0 0 25px;
padding: 20px 0;
}

#side_line_btn a:hover{
right: 0; /* ← ホバー時に完全に出す */
background-color: #029c02;
}


#pageTop a{
position:fixed;
bottom:100px;
right:0px;
width:80px;
margin:0px auto 0px auto;
z-index:10;
background-color: #023d81;
border-radius: 3px 0 0 3px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
#pageTop a img {
width:50px;
margin:15px auto 15px auto;

}
#pageTop a:hover {
  opacity: 0.7;
}



.pc-none{
display:none !important;
}
.sp-br{
display:none !important;
}
.link_sp{
display:none !important;
}
.contact_btn_sp{
display:none !important;
}
#navToggle{
display:none !important;
}

.mt80{margin-top:80px;}



/* ---login---*/
.login_box{
width: 40%;
margin:0 auto;
padding:65px 0px 0px 0px;
}
.login_box table {
width: 100%;
border-collapse:collapse;
border-spacing:0;
}
.login_box th {
display: block;
font-weight:400;
padding:0px 0px;
}
.login_box th span{color:red;font-size:12px;}
.login_box td  {display: block;padding:0px 0px 20px 0px;}
 
.login_box th  {text-align: left; vertical-align:top;}
.login_box td  {text-align: left; vertical-align:top; }
.login_box p{display:inline;padding:0px 0px 0px 0px;}

.login_forget_pass a{
text-decoration: underline;
}


/* ---register---*/
.register_box{
width: 60%;
margin:0 auto;
padding:40px 0px 0px 0px;
}
.register_box table {
width: 100%;
border-collapse:collapse;
border-spacing:0;
}
.register_box th {
font-weight:400;
width: 30%;
padding:0px 0px 25px 0px;
text-align: left;
vertical-align:top;
}
.register_box th span{color:red;font-size:12px;}
.register_box td  {
padding:0px 0px 25px 0px;
text-align: left;
vertical-align:top;
}
 
.register_box p{display:inline;padding:0px 0px 0px 0px;}

.policy_tit{
padding:0px 0px 5px 0px;
}
.form_policy_box{
border: 1px solid #ccc;
width: 100%;
height: 200px;
padding: 25px;
box-sizing: border-box;
overflow-x:scroll;
font-size: 14px;
line-height: 1.7;
}

.privacy_block{
padding:0px 0px 15px 0px;
}

.agree_box{
text-align: center;
margin: 20px auto 0px auto;
}
.link_txt{text-decoration:underline;}


/* ---contact---*/

.contact_box{
width: 75%;
margin:0 auto;
padding:45px 0px 0px 0px;
}
.contact_box table {
width: 100%;
border-collapse:collapse;
border-spacing:0;
margin:20px auto 0 auto;
}
.contact_box th {
font-weight:400;
padding:25px;
}
.contact_box th span{color:red;font-size:12px;}
.contact_box td  {padding:25px;}
 
.contact_box th  {border-bottom:1px solid #dddddd;width: 30%; text-align: left; vertical-align:top;}
.contact_box td  {border-bottom:1px solid #dddddd;text-align: left; vertical-align:top; }
.contact_box p{display:inline;padding:0px 20px 0px 5px;}

.form_01{
border:0;
padding:12px;
font-size:16px;
border:solid 1px #ccc;
margin:0 0 0px;
width: calc(100% - 20px);
}
.form_02{
border:0;
padding:12px;
font-size:16px;
border:solid 1px #ccc;
margin:10px 0 10px 0;
width: calc(50% - 20px);
}
.form_03{
border:0;
padding:12px;
font-size:16px;
border:solid 1px #ccc;
margin:0 0 0px;
width: calc(100% - 20px);
height:200px;
resize: vertical;
}
.form_04{
border:0;
padding:12px;
font-size:16px;
border:solid 1px #ccc;
margin:0 0 10px;
width: calc(20% - 20px);
}
.form_01:focus {
	box-shadow: 0 0 7px #ccc;
	border: 1px solid #ff008c;
}
.form_02:focus {
	box-shadow: 0 0 7px #ccc;
	border: 1px solid #ff008c;
}
.form_03:focus {
	box-shadow: 0 0 7px #ccc;
	border: 1px solid #ff008c;
}
.form_04:focus {
	box-shadow: 0 0 7px #ccc;
	border: 1px solid #ff008c;
}
input.btn_f1{
	letter-spacing:5px;
	font-size:18px;
	color:#fff;
	font-weight:600;
	width: 250px;
	text-align: center;
	display: block;
	padding:15px;
	margin: 50px 20px;
	border-radius:3px;
	background-color:#ff0000;
	border: 3px solid #ff0000;
	border-bottom: 3px solid #cc0000;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	 -o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	cursor:pointer ; 
	}
input.btn_f1:hover {
	cursor:pointer ; 
	color:#fff;
	background-color:#cc0000;
	border: 3px solid #cc0000;
	border-bottom: 3px solid #990000;
}
input.btn_f2{
	letter-spacing:5px;
	font-size:18px;
	color:#555;
	font-weight:600;
	width: 250px;
	text-align: center;
	display: block;
	padding:15px;
	margin: 50px 20px;
	border-radius:3px;
	background-color:#dddddd;
	border: 3px solid #dddddd;
	border-bottom: 3px solid #ccc;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	 -o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	cursor:pointer ; 
	}
input.btn_f2:hover {
	cursor:pointer ; 
	color:#555;
	background-color:#eeeeee;
	border: 3px solid #eeeeee;
}
.btn_f3{
	letter-spacing:5px;
	font-size:18px;
	color:#fff;
	font-weight:600;
	width: 250px;
	text-align: center;
	display: block;
	padding:10px;
	margin: 30px 0px;
	border-radius:5px;
	background-color:#023d81;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	 -o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	cursor:pointer ; 
	}
.btn_f3:hover {
	cursor:pointer ; 
	color:#fff;
	background-color:#006ffc;
}

.form_btn_area{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}


/* ---コンテンツ表示アニメーション---*/
.animate {
  opacity: 0;
  transition: opacity 0.8s ease 0.2s, transform 0.8s ease 0.2s; /* 0.5秒の遅延 */
  will-change: opacity, transform;
}

.fade-in-from-bottom {
  transform: translateY(30px); /* 下から */
}

.fade-in-from-top {
  transform: translateY(-30px); /* 上から */
}

.fade-in-from-left {
  transform: translateX(-30px); /* 左から */
}

.fade-in-from-right {
  transform: translateX(30px); /* 右から */
}

.animate.visible {
  opacity: 1;
  transform: translateY(0) translateX(0); /* 元の位置に */
}







.error_box{
  display: none;
  width: 80%;
  padding: 15px;
  text-align: left;
  margin: 10px auto;
  /*border: 2px solid red;*/
  background:#efefef;
  flex-direction:column;
  font-size: 14px;
  color: red;
}
.error_box p{
  display:block;
}
.error_box2{
  display: none;
  width: 80%;
  padding: 15px;
  text-align: left;
  margin: 10px auto;
  border-radius: 10px;
  border: 2px solid red;
  font-size: 14px;
  color: red;
}


.question-wrap{
  max-width:650px;
  width:100%;
  box-sizing:box-sizing;
  margin:0 auto;
  padding:40px 10px;
  text-align:center;
}
.question-wrap h4{
  font-size:24px;
  color:#fff;
  line-height:1;
}
.question-wrap h2{
  font-size:60px;
  color:#fff;
  line-height:1.5;
}

.question-block {
  background-color: #fff;
  padding: 16px;
  border-radius: 10px;
  margin-bottom: 20px;
  color: #000;
  font-family: sans-serif;
}

.question-title {
  font-weight: bold;
  margin-bottom: 10px;
  font-size:20px;
}

.radio-group {
  display: flex;
  flex-wrap: wrap;
  justify-content:center;
  gap: 10px;
  box-sizing:box-sizing;
  width:100%;
  text-align:center;
}

.radio-btn {
  position: relative;
  display: inline-block;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
  width:45%;
  box-sizing:border-box;
}

.radio-btn input[type="radio"] {
  display: none;
}

.radio-btn span {
  display: block;
  padding: 16px 16px;
  background: #fff;
  color: #008e53;
  border: 2px solid #ccc;
  border-radius: 8px;
  font-size: 24px;
  transition: all 0.2s;
  box-sizing:border-box;
  width:100%;
  font-weight:bold;
}
.bg_g span {
  background: #023d81;
  color:#fff;
}
.radio-btn input[type="radio"]:checked + span {
  background: #ff6600;
  color: #fff;
  border-color: #ff6600;
}

/* 赤強調ボタン（例：その他） */
.radio-btn.alert span {
  border-color: #ff6600;
  color: #ff6600;
}

/* チェックされているときは強調色 */
.radio-btn.alert input[type="radio"]:checked + span {
  background: #ff6600;
  color: #fff;
}

.question-text{
  padding:20px;
  box-sizing:border-box;
  font-size:24px;
  text-align:left;
  color:#fff;
  line-height:1.5;
  font-weight:bold;
}
.question-info{
  padding:0;
  text-align:left;
}
.question-info h3{
  font-size:24px;
  color:#fff;
  margin-top:10px;
}
.question-info h3 span{
  display:inline-block;
  padding:10px;
  line-height:1;
  border-radius:5px;
  font-size:18px;
  background:orange;
  text-align:center;
}

.s_input01{
  border:2px solid #ccc;
  padding:18px 12px 14px 12px;
  height:60px;
  width:100%;
  box-sizing:border-box;
  font-size:16px;
  line-height:1;
}
.s_input01::placeholder {
  font-weight: bold;
  box-sizing:border-box;
  font-size:24px;
  line-height:1;
  opacity: 0.5;
}
.question-btn{
  margin:20px auto 0;
  text-align:center;
}
.ques_btn{
  width:90%;
  border-radius:100px;
  padding:15px 0;
  box-sizing:border-box;
  background:orange;
  font-size:60px;
  color:#fff;
  border:2px solid #fff;
}
.ques_btn:hover{
  opacity:0.8;
}
.question-text a{
  color:yellow;
}
.question-text a:hover{
  opacity:0.7;
}


.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0; top: 0;
  border:2px solid #008e53;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.6);
}
.modal-content {
  background: #fff;
  padding: 20px;
  margin: 100px auto;
  width: 90%;
  max-width: 500px;
  text-align: center;
  border-radius: 5px;
  position:relative;
}

.close-btn {
  position: absolute;
  top: -10px;
  right: -10px;
  background: none;
  border: none;
  font-size: 36px;
  color: #fff;
  cursor: pointer;
  background:#666;
  padding:10px;
  line-height:1;
  border-radius:;
  width:50px;
  height:50px;
  border-radius:100px;
  border:1px solid #000;
}
.modal-content h2{
  font-size:24px;
  color:yellow;
  text-align:center;
  background:#023d81;
  padding:10px 0;
  border-radius:20px;
  margin:10px auto;
}
.modal-content h3{
  font-size:30px;
  color:#023d81;
  text-align:center;
  padding:10px 0;
}

.modal-content p{
  font-size:22px;
  color:#000;
  text-align:left;
  line-height:1.5;
  padding:20px 15px 0;
  font-weight:bold;
  box-sizing:border-box;
}
.modal-content p span{
  color:red;
}

