

* {
  margin: 0;
  padding: 0;
}
html{
    scroll-padding-top: 80px; /** 固定ヘッダの高さに合わせる **/
	scroll-behavior: smooth;
	margin:0px;
	padding:0px;
}
body{
	background:#fff;
	text-align:center;
	color:#000;
	font-size: 14px;
	line-height:1.5;
	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%;
	padding: 30px 0 30px 0;
	margin: 0px auto;
	text-align: left;
}
.box_in_x{
  	width:100%;
	padding: 30px 0 30px 0;
	margin: 0px auto;
	text-align: left;
}

.bg_006ffc{background-color: #006ffc;}
.bg_006ffc_top{width: 100%;margin: 0 0 -1px 0;}
.bg_006ffc_top img{width: 100%;}
.bg_006ffc_bottom{width: 100%;margin: -1px 0 0px 0;}
.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 {
	background-color:#fff;
	position:fixed;
	z-index:999;
	overflow:hidden;
	width: 100%;
	height:80px;
	box-shadow: 10px 10px 10px 10px rgba(0,0,0,0.05);
}

.header_top{
display: flex;
justify-content: space-between;
align-items: center;
text-align:left;
width:94%;
margin: 0 auto;
}

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

.h_logo_low{
width:100%; 
height:80px;
margin:0px;
}
.h_logo_low a{
height:80px;
margin:0px auto;

}
.h_logo_low img{
display:inline;
height:60px;
margin:10px auto 10px auto;
}

.h_logo{
width:100%; 
height:80px;
margin:0px auto;
text-align: center;

}
.h_logo a{
height:80px;
margin:0px auto;

}
.h_logo img{
display:inline;
height:60px;
margin:10px auto 10px auto;
}


/* ここから下がハンバーガーメニューに関するCSS */
  
/* チェックボックスを非表示にする */
.drawer_hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
  display: flex;
  height: 60px;
  width: 40px;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 100;/* 重なり順を一番上にする */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
  content: '';
  display: block;
  height: 2px;
  width: 25px;
  border-radius: 3px;
  background: #023d81;
  transition: 0.5s;
  position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
  bottom: 8px;
}
/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
  top: 8px;
}
/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
  background: rgba(255, 255, 255, 0);
}
/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
  bottom: 0;
  transform: rotate(45deg);
}
#drawer_input:checked ~ .drawer_open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.nav_content {
  width: 100%;
  height: calc(100vh - 80px); /* 上のヘッダー80px分を差し引く */
  position: fixed;
  top: 80px;
  left: 100%;
  z-index: 99;
  background: #fff;
  transition: .5s;
  overflow-y: auto;                 /* ← 中だけスクロール */
  -webkit-overflow-scrolling: touch;/* ← iOSで慣性スクロール */
  overscroll-behavior: contain;     /* ← 端での背景スクロール防止 */
  padding-bottom: max(24px, env(safe-area-inset-bottom)); /* 端末の下部安全域ケア */
}

/* メニュー黒ポチを消す */
.nav_list {
width: 86%;
margin:20px auto;
list-style: none;
}

.nav_list li{
border-bottom:1px solid #023d81;
color:#000;
font-size:16px;
font-weight: 600;
text-align:left;
margin:0 0 0px 0;

letter-spacing:3px;
}
.nav_list li:last-child{border-bottom:none;}
.nav_list li a{color:#000;display: block;padding:15px 0 15px 0;}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked ~ .nav_content {
  left: 0;/* メニューを画面に入れる */
}

.h_links01{
	width: 86%;
	margin:0px auto 10px auto;
    text-align: center;
}
.h_nav02_btn01{
width: 100%;
margin:0px auto;
padding:15px;
border-bottom:3px solid #029c02;
background-color:#00c300;
border-radius: 5px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
}
.h_nav02_btn01 img{max-width: 50px;width:10%;margin:0px 10px 0px 0px;}
.h_nav02_btn01 p{
font-size:18px;
letter-spacing:3px;
line-height:16px;
font-weight: 500;
text-align: left;
color:#fff;
}

.h_links02{
	width: 86%;
	margin:0px auto 10px auto;
    text-align: center;
}
.h_nav02_btn02{
width: 100%;
margin:0px auto;
padding:15px;
border-bottom:3px solid #b50c0c;
background-color:#e22424;
border-radius: 5px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
}
.h_nav02_btn02 img{max-width: 50px;width:10%;margin:0px 10px 0px 0px;}
.h_nav02_btn02 p{
font-size:18px;
letter-spacing:3px;
line-height:16px;
font-weight: 500;
text-align: left;
color:#fff;
}

.h_links03{
	width: 86%;
	margin:0px auto 10px auto;
    text-align: center;
}
.h_nav02_btn03{
width: 100%;
margin:0px auto;
padding:18px;
border-bottom:3px solid #023d81;
background-color:#006ffc;
border-radius: 5px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
}
.h_nav02_btn03 img{max-width: 50px;width:10%;margin:0px 10px 0px 0px;}
.h_nav02_btn03 p{
font-size:24px;
letter-spacing:1px;
line-height:24px;
font-weight: 500;
text-align: left;
color:#fff;
}

.body-lock {
  overflow: hidden;          /* 背景スクロール停止 */
  touch-action: none;        /* モバイルの誤操作抑止（必要に応じて） */
}




.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;
padding:80px 0 0 0;
}

.s-fade-wrap_in{
width:96%;
margin:0 auto;
position: relative;
}
.mv_view_box01{
width:100%;
margin:0 0;
padding:5% 0 15% 0;
position: relative;
z-index: 1;
overflow: hidden;
}
.mv_sp_view01{
width:100%;

margin:0% 0 0 0;
}
.mv_sp_view02{
width:75%;
margin:4% 0 0 0;
}
.mv_sp_view03{
width:85%;
margin:2% 0 0 0;
}

.mv_view_box02{
width:45%;
margin: 0px;
position:  absolute;
right: -3%;
bottom:-25%;
z-index: 0;
padding:0% 0 0 0;
}
.mv_view_box02 img{
width:135%;
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:120px 0 0 0;
}

/* ---title---*/

.title_text_c01{
width: 100%;
text-align: center;
overflow: hidden;
}
.title_text_c01 h2{
font-size:18px;
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: 0.5em; /* 画像と文字の間隔 */
}
.title_text_c01 h2::before,
.title_text_c01 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_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:18px;
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_c02 h2::before,
.title_text_c02 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_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:18px;
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: 1.5em;   /* ← 大きくしたい場合はここを変更 */
    height: 1.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:18px;
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: 1.5em;   /* ← 大きくしたい場合はここを変更 */
    height: 1.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:12px;
font-weight:600;
line-height:1.5;
letter-spacing:0px;
}
.title_text_b02_02{
}



.title_text_x h3{
color:#023d81;
font-size:18px;
font-weight: 600;
letter-spacing:1px;
display: flex;
align-items: center;
padding:30px 0 0 0 ;
}
.title_text_x h3:before,
.title_text_x h3:after {
    content: "";
    height:5px;
    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%;
overflow: hidden;
padding:0px 0px 0px 0px;
margin:0 auto;
text-align: center;
}

.t_one_in01{
display: flex;
align-items:top;
justify-content:space-between;
}

.t_one_in01_text{
width:100%;
margin:0px 0 0px 0;
}
.t_one_in01_text_in{width:100%;}
.t_one_in01_text_in p{
text-align: left;
font-size:14px;
line-height:1.7;
margin:15px 0 0px 0;
}


.t_one_in02{
width:100%;
margin:20px auto 20px auto;
}

.t_one_in02 li{
width: 100%;
text-align: center;
margin:20px 0 0 0;
padding:20px;
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:18px;
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:16px;
line-height:2;
font-weight: 500;
letter-spacing:1px;
}
.t_one_in02_in{
padding:10px 0px 0px 0px;
text-align: left;
font-size: 14px;
line-height:1.5;
}
.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: 14px;
line-height:1.7;
margin:0px 0 0 0;
}
.t_one_bottom_text span{
color:red;
font-weight: 600;
}

/* ---t_eight---*/
.t_eight{
flex-wrap: wrap;
margin: 20px 0 20px 0;
}
.t_eight li{
width: 100%;
background-color: #023d81;
display: flex;
align-items:center;
justify-content:space-between;
margin:10px 0 10px 0;
padding:15px;
box-sizing: border-box;
}
.t_eight li img{
width: 10%;
}
.t_eight li p{
width:83%;
color:#fff;
font-size:16px;
font-weight: 400;
letter-spacing:1px;
line-height: 1.5;
text-align: left;
padding:5px 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:15px 0px;
text-align:left;
font-weight: 600;
font-size:16px;
line-height:1.7;
letter-spacing: 2px;
}
.t_two_top_text p{display: inline;}
.t_two_top_text p span{font-size: 18px;}

.t_two_middle_text p{font-size:14px;line-height:1.7;margin:0px 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:100%;
position: relative;
background-color: #fff;
margin:0px 0 25px 0;
}
.t_two_in_icon{
width:20%;
position: absolute;
top:-15px;
left:-10px;
}
.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: 15px;
min-height:70px;
text-align: center;
}

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


/* ---cv_area---*/

.cv_area{
width:100%;
}

.cv_btn_box{
margin:30px 0px 0px 0px;
}

.cv_links01{
width:  100%;
	margin:0px auto 10px auto;
    text-align: center;
}
.cv_links02{
width:  100%;
	margin:0px auto 10px auto;
    text-align: center;
}
.cv_links03{
width:  100%;
	margin:0px auto 10px auto;
    text-align: center;
}

.cv_btn01{
width: 100%;
margin:0px auto;
padding:15px;
border-bottom:3px solid #029c02;
background-color:#00c300;
border-radius: 5px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
}
.cv_btn01 img{
width:10%;
max-width: 50px;
margin:0px 10px 0px 0px;
}
.cv_btn01 p{
width:85%;
color: #fff;
font-size:12px;
line-height:1.5;
letter-spacing:1px;
font-weight: 400;
}

.cv_btn02{
width: 100%;
margin:0px auto;
padding:15px;
border-bottom:3px solid #b50c0c;
background-color:#e22424;
border-radius: 5px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
}
.cv_btn02 img{
width:10%;
max-width: 50px;
margin:0px 10px 0px 0px;
}

.cv_btn02 p{
width:85%;
color: #fff;
font-size:12px;
line-height:1.5;
letter-spacing:1px;
font-weight: 400;
}

.cv_btn03{
width: 100%;
margin:0px auto;
padding:15px;
border-bottom:3px solid #023d81;
background-color:#006ffc;
border-radius: 5px;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
}
.cv_btn03 img{
width:10%;
max-width: 50px;
margin:0px 10px 0px 0px;
}

.cv_btn03 p{
width:85%;
color: #fff;
font-size:12px;
line-height:1.5;
letter-spacing:1px;
font-weight: 400;
}

.cv_btn_box span{
color: #fff;
font-size:24px;
letter-spacing:2px;
font-weight: 500;
text-align: center;
}



/* ---t_three---*/
.t_three{
width: 100%;
padding:20px 0px 0px 0px;
margin:0 auto;
}
.t_three_top_text{
color: #fff;
text-align:left;
font-size:14px;
line-height: 1.7;
padding:0px 0px 15px 0px;
}
.t_three_top_text img{
background-color: #fff;
padding:10px;
box-sizing: border-box;
width: 100%;
margin: 20px auto 0px auto;
}

.t_three_box{
margin:0px 0;
}

.t_three_in{
width:100%;
padding:0px 0px 20px 0px;
margin: 0px 0 20px 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: 15px 0px;
color:#023d81;
font-size:18px;
line-height:18px;
font-weight: 600;
letter-spacing: 3px;
margin:0px auto ;
text-align: center;
}
.t_three_in p{
font-size:14px;
letter-spacing:0px;
line-height:1.5;
padding:15px 20px 0 20px;
}

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

/* ---t_four---*/
.t_four{
width:100%;
padding:0px 0px 0px 0px;
margin:0 auto;

}
.t_four_in{
width:100%;
background-color: #f3f3f3;
margin:55px 0 30px 0;
padding:20px;
box-sizing: border-box;
}
.t_four_in_box{
margin:-55px 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{
font-size: 14px;
letter-spacing:2px;
text-align: center;
padding:10px 0 0px 0; 
}

.t_four_in h3{
font-size: 18px;
line-height:1.5;
letter-spacing:1px;
font-weight:600;
padding:10px 0 15px 0; 
color:#023d81;
text-align:left;
}

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

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

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

.t_four_arrow{width: 6%;}
.t_four_arrow img{width: 100%;max-width: 30px;margin: 0 auto;}

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


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

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

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

.t_five dl>input {
    display: none;
}

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

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

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

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

.t_five dt::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    width: 15px;
    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{
padding:0px 0px 0px 0px;
margin:0 auto;

}

.t_six_in{
position: relative;
margin:0px auto 20px auto;
overflow: hidden;
}
.t_six_in_view_l{
display: none;
}

.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:16px;
line-height:16px;
color: #fff;
font-weight: 500;
letter-spacing:1px;
}
.t_six_in_title_l img{
width:35px;
margin: 0 5px 0 0;
}


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


.t_six_in_view_r{
display: none;
}

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

.t_six_in_contents_r{
background-color: #f2f2f2;
padding:15px;
box-sizing: border-box;
}
.t_six_in_contents_r p{
font-size:14px;
line-height:1.7;
letter-spacing:1px;
margin: 0 0 0 0;
}

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

}
.t_form_box{
background-color: #fff;
padding:5%;
margin:20px 0 0 0;
}
.t_form_box h3{
text-align: center;
font-size:16px;
line-height: 16px;
font-weight: 500;
letter-spacing: 2px;
margin:0px 0 5px 0;
}
.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:10px;
margin: 3% 0 0 0;
padding:15px 10px;
box-sizing: border-box;
color: #fff;
text-align: center;
font-size:14px;
font-weight: 500;
letter-spacing:1px;
transition: background-color 0.3s ease, color 0.3s ease;
}

.form-group{
width: 100%;
text-align:left;
margin:20px 0 0 0;
}

.t_fotm_box_in02 label{
display: block;
width:100%;
text-align: left;
margin: 0 0 10px 0;
font-size:14px;
letter-spacing:1px;
font-weight: 600;
}
.t_fotm_box_in02 label span{
background-color:#e22424;
color:#fff;
font-size: 12px;
line-height: 12px;
border-radius:5px;
display: inline-block;
margin: 0 0 0 5px;
padding: 4px 6px;
}
.t_fotm_box_in02 input{
width:100%;
box-sizing: border-box;
padding:10px;
border-radius: 10px;
font-size:14px;
font-weight: 500;
color:#000;
background-color: #ecf0ed;
border: 2px 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: left;
margin:20px 0;
font-size: 14px;
}
.t_form_text a{
color:#023d81;
text-decoration: underline;
}

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

.form-submit{text-align: center;}
.button-submit{
  width:100%;
  padding:20px;
  margin: 0 auto;
  font-size:18px;
  letter-spacing: 2px;
  font-weight:600;
  color:#fff;
  background:#e22424;
  border:0;
  border-radius:10px;
  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:20px 0px 20px 0px;
text-align:left;
font-size:14px;
letter-spacing:1px;
}


.form_box{
margin:0 auto;
padding:0px 0px 0px 0px;
}
.form_box table {
width: 100%;
border-collapse:collapse;
border-spacing:0;
}
.form_box th {
font-size:15px;
font-weight:600;
width:100%;
padding:15px 0 0 0;
text-align: left;
display: block;
vertical-align: middle;
}
.form_box th span{
background-color: red;
color:#fff;
font-size:11px;
border-radius:3px;
line-height:11px;
padding:4px 7px;
display: inline-block;
margin:0 0 0 10px;
vertical-align: middle;
}
.form_box td  {
padding:10px 0 15px 0;
text-align: left;
display: block;
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:12px;}


/* ---service---*/
.service{
width:100%;
margin:0px auto;
}

.service li{
border-bottom: 1px solid #5aaf00;
padding:30px 0;
}
.service li:last-child{
border-bottom: none;
}
.service_box_left{width:30%;margin:0 auto;}
.service_box_left img{width:100%;}
.service_box_right{width:100%;}
.service_box_right h3{
letter-spacing:1.5px;
font-size:20px;
font-weight:600;
padding:0 0 10px 0;
text-align: center;
color:#5aaf00;
}
.service_box_right p{
letter-spacing:1.5px;
font-size:14px;
font-weight:400;
}


/* ---company---*/

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

.company li{
border-bottom: 1px solid #ccc;
padding:20px 0;
}
.company li:last-child{
border-bottom: none;
}
.company h3{width:100%;padding:0 0 10px 0;}
.company p{

}


/* ---pp---*/
.pp{
width:100%;
margin:0 auto;
padding:20px 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%;
margin: 0 auto;
padding:30px 0 30px 0;
display: flex;
align-items:center;
justify-content:space-between;
}
.f_logo{
width:20%;
margin: 0 auto;
}
.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: 35px;
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:10px;
font-weight:500;
color:#181818;
margin:0px auto 0px auto;
padding:10px 0 0 0;
}


#side_line_btn a{
display: none;
}

    #pageTop {
	position:fixed;
	bottom:0px;
	right:0px;
	width:35px;	
	margin:0px auto 0px auto;
	z-index:10;
    }
    #pageTop a img {
	width:100%;
	margin:0px auto 0px auto;
	-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:hover {
      opacity: 0.7;
    }



.sp-none{
display:none !important;
}
.pc-br{
display:none !important;
}
.link_pc{
display:none !important;
}
.contact_btn02{
display:none !important;
}

.mt80{margin-top:80px;}


/* ---login---*/

.login_box {
width: 100%;
margin: 30px auto 30px auto;
}
.login_box table{
width: 100%;
}
.login_box th{
	padding: 0 0px 5px 0px; 
    display: block;
    border: none;
	text-align:left;
	color:#333;
	font-weight:bold;
    }
.login_box th span{color:red;font-size:12px;}
.login_box td{
	padding: 0 0px 20px 0px; 
    display: block;
    border: none;
	text-align:left;
    }
.login_box p{display:inline;padding:0px 0px 0px 0px;}

.login_forget_pass a{
text-decoration: underline;
}

/* ---register---*/

.register_box {
width: 100%;
margin: 30px auto 30px auto;
}
.register_box table{
width: 100%;
}
.register_box th{
	padding: 0 0px 5px 0px; 
    display: block;
    border: none;
	text-align:left;
	color:#333;
	font-weight:bold;
    }
.register_box th span{color:red;font-size:12px;}
.register_box td{
	padding: 0 0px 20px 0px; 
    display: block;
    border: none;
	text-align:left;
    }
.register_box p{display:inline;padding:0px 0px 0px 0px;}

.policy_tit{
font-weight:bold;
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;
}

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

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


/* ---contact---*/

.contact_box {
width: 100%;
margin: 20px auto 0px auto;
}
.contact_box table{
width: 100%;
}
.contact_box th{
	padding: 15px 0px 0px 0px; 
    display: block;
    border: none;
	text-align:left;
	color:#333;
	font-weight:bold;
    }
.contact_box th span{color:red;font-size:12px;}
.contact_box td{
	padding: 5px 0px 20px 0px; 
    display: block;
    border: none;
	text-align:left;
	border-bottom:1px solid #dddddd;
    }
.contact_box p{padding:0px 0px 20px 0px;}

.form_01{
width: 96%;
padding:10px 2% 10px 2%;
font-size:14px;
border:solid 1px #ccc;
margin:0 auto;
}
.form_02{
width: 96%;
padding:10px 2% 10px 2%;
font-size:14px;
border:solid 1px #ccc;
margin:0 auto;
}
.form_03{
padding:10px 2% 10px 2%;
font-size:14px;
border:solid 1px #ccc;
margin:0 auto;
width: 96%;
height:200px;
resize: vertical;
}
.form_04{
width: 46%;
padding:10px 2% 10px 2%;
font-size:14px;
border:solid 1px #ccc;
margin:0 auto;
}
input.btn_f1{
	font-weight:bold;
	letter-spacing:5px;
	font-size:16px;
	color:#fff;
	width: 100%;
	text-align: center;
	display: block;
	padding:15px 0px 15px 0px;
	margin: 20px auto 0px auto;
	border-radius:5px;
	background-color:#ff0000;
	border: 3px solid #ff0000;
	box-sizing: border-box;
	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_f2{
	font-weight:bold;
	letter-spacing:5px;
	font-size:16px;
	color:#555;
	width: 100%;
	text-align: center;
	display: block;
	padding:15px 0px 15px 0px;
	margin: 20px auto 0px auto;
	border-radius:5px;
	background-color:#dddddd;
	border: 3px solid #dddddd;
	box-sizing: border-box;
	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 ; 
	}


.btn_f3{
	font-weight:bold;
	letter-spacing:5px;
	font-size:16px;
	color:#fff;
	width: 100%;
	text-align: center;
	display: block;
	padding:20px 0px 20px 0px;
	margin: 20px auto 0px auto;
	border-radius:5px;
	background-color:#008e53;
	border:none;
	-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 ; 
	}



/* ---コンテンツ表示アニメーション---*/
.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(-15px); /* 左から */
}

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

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




.error_box{
  display: none;
  width: 90%;
  padding: 15px;
  text-align: left;
  margin: 10px auto;
  /*border: 2px solid red;*/
  background:#efefef;
  font-size: 14px;
  color: red;
}
.error_box p{
  display:block;
  padding:0 0 5px 0;
}
.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{
  width:100%;
  box-sizing:border-box;
  margin:0 auto;
  padding:20px;
  text-align:center;
}
.question-wrap h4{
  font-size:18px;
  color:#fff;
  line-height:1;
}
.question-wrap h2{
  font-size:48px;
  color:#fff;
  line-height:1.5;
}

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

.question-title {
  font-weight: bold;
  margin-bottom: 10px;
  font-size:16px;
  box-sizing:border-box;
}

.radio-group {
  display: flex;
  flex-wrap: wrap;
  justify-content:center;
  gap: 10px;
  box-sizing:border-box;
  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 4px;
  background: #fff;
  color: #008e53;
  border: 2px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  transition: all 0.2s;
  box-sizing:border-box;
  width:100%;
  font-weight:bold;
}

.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:0 0 10px 0;
  box-sizing:border-box;
  font-size:18px;
  text-align:left;
  color:#fff;
  line-height:1.5;
  font-weight:bold;
}
.question-info{
  padding:0;
  text-align:left;
}
.question-info h3{
  font-size:18px;
  color:#fff;
  margin-top:10px;
  padding-bottom:5px;
}
.question-info h3 span{
  display:inline-block;
  padding:7px;
  line-height:1;
  border-radius:5px;
  font-size:14px;
  background:orange;
  text-align:center;
}

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

.bg_g span {
  background: #023d81;
  color:#fff;
}


.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: 15px 10px;
  box-sizing:border-box;
  margin: 100px auto;
  width: 90%;
  max-width: 500px;
  text-align: center;
  border-radius: 5px;
  position:relative;
}

.close-btn {
  position: absolute;
  top: -15px;
  right: -15px;
  background: none;
  border: none;
  font-size: 36px;
  color: #fff;
  cursor: pointer;
  background:#666;
  line-height:1;
  border-radius:;
  width:40px;
  height:40px;
  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;
  line-height:1.2;
  text-align:center;
  padding:10px 0;
}

.modal-content p{
  font-size:18px;
  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;
}

.pc-none{
  display:block;
}





