@charset "utf-8";

body{
min-width: 375px;
overflow: hidden;
letter-spacing: 0.3px;
}
    
img{
max-width: 100%;
height:auto;
}

.font-r{
font-weight: bold;
font-family: "Roboto", sans-serif;
}

input[type="checkbox"],
input[type="radio"]{
border: 1px solid #ccc;
}

input[type="submit"],
input[type="text"]{
-webkit-appearance: none;
}

.w320_only,
.pc_only{display:none !important;}
.sp_only{display:block;}

.sp_only.ib{display:inline-block;}

a.no_sp{
pointer-events: none;
}

.left{float: none;}
.right{float: none;}

.mb0_sp,
.mb0{margin-bottom: 0 !important;}
.mb5{margin-bottom:5px;}
.mb10{margin-bottom:8px;}
.mb15{margin-bottom:10px;}
.mb20{margin-bottom:15px;}
.mb25{margin-bottom:18px;}
.mb30{margin-bottom:20px;}
.mb35{margin-bottom:22px;}
.mb25sp,
.mb40{margin-bottom:25px;}
.mb50{margin-bottom:25px;}
.mb60{margin-bottom:30px;}
.mb70{margin-bottom:30px;}
.mt_15{margin-top:-15px;}
.ml10{margin-left:10px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.pt10{padding-top:10px;}
.pt20{padding-top:10px;}
.pt25{padding-top:15px;}
.pt30{padding-top:15px;}
.pt35{padding-top:20px;}
.pt40{padding-top:20px;}
.pt45{padding-top:25px;}
.pt50{padding-top:25px;}
.pb10{padding-bottom:10px;}
.pb20{padding-bottom:10px;}
.pb30{padding-bottom:15px;}
.pb40{padding-bottom:20px;}
.pb45{padding-bottom:25px;}
.pl10{padding-left:10px;}

.txt11{ font-size:10px; }
.txt12{ font-size:11px; }
.txt13{ font-size:12px; }
.txt14{ font-size:13px; }
.txt16{ font-size:15px; }
.txt17{ font-size:15px; }
.txt18{ font-size:16px; }
.txt19{ font-size:17px; }

.txt19sp,
.txt20{ font-size:18px; }
.txt22{ font-size:18px; }
.txt23{ font-size:19px; }
.txt24{ font-size:19px; }
.txt25{ font-size:20px; }
.txt26{ font-size:20px; }
.txt27{ font-size:21px; }
.txt28{ font-size:21px; }
.txt30{ font-size:22px; }
.txt32{ font-size:24px; }
.txt36{ font-size:26px; }
.txt38{ font-size:27px; }
.txt40{font-size:28px;}
.txt45{font-size:29px;}

.sptL,
.tLsp{
text-align: left!important;
}

.tCsp{
text-align: center;
}

.sp_only{display:block;}

.a_link{
padding-top: 70px !important;
margin-top: -70px !important;
}

.ls0{
letter-spacing: 0;
}

.txt120 {
font-size: 120%;
}

.w94sp .img.sp100{
width: 106%;
margin-left: -3%;
margin-right: -3%;
}

p{
line-height: 1.6;
font-size:16px;
letter-spacing: 0.3px;
}

.justify_sp,
.justify.sp{
display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-justify-content: space-between;
   -ms-flex-pack:space-between;
     justify-content:space-between;
 -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
     flex-wrap: wrap;
}

.scroll_x{
overflow-x: scroll;
}

.scroll_x::-webkit-scrollbar{height:10px;}/*バーの太さ*/
.scroll_x::-webkit-scrollbar-track{background:#dddddd;}/*バーの背景色*/
.scroll_x::-webkit-scrollbar-thumb{background:#999;
border-radius: 5px;}/*バーの色*/

.scroll_x::-webkit-scrollbar-track-piece {
background: #dddddd;
}

.scroll_x img{
max-width: none;
}

/*----------------------------------------------------
	#contents（メインとサイド）
----------------------------------------------------*/

#main{
/*padding-bottom: 70px;*/
}

#main_contents {
	/zoom: 1;	
clear:both;
}


#container{
text-align:center;
overflow:hidden;
}

.box1000{
max-width:100%;
margin-left:auto;
margin-right:auto;
}

.w94sp{
width:92% !important;
margin-left:auto;
margin-right:auto;
}

.box90,
.w90sp{
width:90% !important;
margin-left:auto;
margin-right:auto;
}

.w96sp{
width:96%;
margin-left:auto;
margin-right:auto;
}

#main article,
#main li{
position: relative;
}

a.more:hover{
background-color: rgba(255,255,255,0.2)
}

a.more:hover{
background-color: rgba(255,255,255,0.3);
}

.scroll_wrap{
overflow-x: scroll;
}

.scroll_wrap img{
max-width: none;
}

.scroll_wrap {
  overflow-x: scroll;
}

.scroll_wrap::-webkit-scrollbar {
  height: 10px;
}

.scroll_wrap::-webkit-scrollbar-track {
  margin: 0 2px;
  background: #ccc;
  border-radius: 5px;
}

.scroll_wrap::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #666;
}
/*----------------------------------------------------
	tit
----------------------------------------------------*/
#main .title{
position: relative;
width:100%;
height:100px;
}

#main .title h2 img{
width:100%;
height: 100px;
object-fit: cover;
object-position: 0% 50%;
}

.stit_navy{
background: #0f557a;
text-align: center;
padding: 0 10px;
}

.stit01{
letter-spacing: 1px;
font-size:18px;
text-align: center;
line-height: 40px;
background: #e9f4f9;
}

.stit01.l2{
line-height: 1.4;
padding: 10px;
}

.btn01{
text-align: center;
}

.btn01 a{
color:#fff;
/*border: 2px solid #32527a;*/
text-align: center;
display: inline-block;
cursor: pointer;
font-size:15px;
letter-spacing: 1.6px;
font-weight: bold;
line-height: 36px;
background:#fcb73e;
min-width: 200px;
-webkit-border-radius: 30px;
-moz-border-radius: 30px;
border-radius: 30px;
position: relative;
z-index: 99;
padding: 0 20px;
-webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
      box-sizing: border-box;
}

.btn01 a span {
position: relative;
padding-right: 15px;
}

.btn01 a span:before{
display: block;
content: "";
position: absolute;
top:0;
bottom:0;
right: 0;
margin: auto;
width: 7px;
height: 7px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: rotate(45deg);
}

.btn01.mini a{
font-size:15px;
background:#ff7e0c;
padding: 0 20px;
line-height: 34px;
min-width:225px;
margin-bottom: 0px;
}

.btn01.mini2 a{
font-size:15px;
padding: 0 30px;
min-width:230px;
margin-bottom: 0px;
}

.btn01 a:hover{
opacity: .8;
-webkit-transition: all .4s linear;
transition: all .4s linear;
}

a.more{
position: absolute;
top:-1px;
bottom:-1px;
right:-1px;
left:-1px;
cursor: pointer;
text-indent:-9999px;
z-index: 999;
 -webkit-transition: 0.7s;
    -moz-transition: 0.7s;
    -o-transition: 0.7s;
    transition: 0.7s;
}

a.more:hover{
background-color: rgba(255,255,255,0.3)
}

.table01{
width: 100%;
display: block;
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
-webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
      box-sizing: border-box;
}

.table01 tr,
.table01 tbody{
display: block;
width: 100%;
}

.table01 th{
display: block;
width: 100%;
-webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
      box-sizing: border-box;
padding: 7px 15px;
text-align: left;
font-size:90%;
font-weight: bold;
background: #f3f9fb;
}

.table01 td{
display: block;
width: 100%;
-webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
      box-sizing: border-box;
padding: 10px 15px;
border-bottom: 1px solid #ccc;
}

.table01 td p{
font-size:15px;
}

.table01 td li{
text-indent: -1em;
padding-left:1em;
font-size:15px;
margin-bottom: 5px;
}

.table01 .inline_wrap{
display: block;
height:0;
padding-top:55%;
position: relative;
overflow: hidden;
margin: 15px auto;
}

.table01 .inline_wrap iframe{
display: block;
height:100%;
width:100%;
top: 0;
left: 0;
position: absolute;
}


.page_404{
padding: 40px 0;
}
/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
.tagline{
font-size:10px;
position: relative;
z-index: 999;
font-weight: normal;
padding: 2px 4px;
border-bottom: 1px solid #ccc
}

header{
width:100%;
z-index: 9999;
position: relative;
height: ;
}

#header{
min-height:101px;
background: #fff;
}

#sp_header.fixed {
background: #fff;
position: fixed;
height: 64px;
width: 100%;
z-index: 999999;
top: 0;
right: 0;
left: 0;
-webkit-box-shadow: 1px 1px 3px #ccc;
-moz-box-shadow: 1px 1px 3px #ccc;
box-shadow: 1px 1px 3px #ccc;
}

header .logo_box{
margin-right: 17%;
height:61px;
padding-left: 3px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

header .logo_box a img{
padding: 6px 10px 5px 4%;
width:auto;
height:48px;
}

header .guide_navi ul{
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-justify-content: space-between;
   -ms-flex-pack:space-between;
     justify-content:space-between;
 -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
     flex-wrap: wrap;
}

header .guide_navi li{
width:50%;
text-align: center;
}
/*

header .guide_navi p{
display: none;
}*/

header .guide_navi li.h_mail{
font-weight: bold;
}

header .guide_navi li.h_tel a{
display: block;
background: #0f557a;
color:#fff;
height:40px;
box-sizing: border-box;
display: grid;
place-content: center;
}

header .guide_navi li.h_tel a .icon{
font-size:22px;
line-height: 40px;
background: url(/img/common/h_tel.svg) 0 50% no-repeat;
background-size:15px auto;
font-weight: bold;
padding-left: 20px;
display: inline-block;
}

header .guide_navi li.h_tel a img{
max-height: 30px;
}

header .guide_navi li.h_mail a{
height: 40px;
display: block;
background: #fcb73e;
font-size:13px;
line-height: 40px;
color:#fff;
letter-spacing: 0;
}

header .guide_navi li.h_mail a .icon{
display: inline-block;
background: url(/img/common/i_mail.png) 0 50% no-repeat;
background-size: 20px auto;
padding-left: 24px;
font-size:13px;
letter-spacing: 0;
}

header .guide_navi li.h_mail span.sp_only{
display: inline-block !important;
}

.guide_navi li.h_mail a em{
font-size:14px;
}

@media screen and (min-width: 481px) {/*-----------------------------*/

header .logo_box{
margin-right: 17%;
height:75px;
}

header .logo_box a img{
max-height:65px;
width:auto;
}

.guide_navi li.h_mail a{
font-size:16px;
}

.guide_navi li.h_mail a em{
font-size:18px;
}

}/*-----------------------------*/


.bl_floatingBanner_close {
  width: 40px;
  height: 40px;
  position: absolute;
  right: 0;
  top: -20px;
  cursor: pointer;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 100%;
  z-index: 10;
}
.bl_floatingBanner_close span:nth-of-type(1) {
  position: absolute;
  top: 20px;
  right: 10px;
  width: 21px;
  height: 1px;
  background-color: #707070;
  transform: rotate(45deg);
}
.bl_floatingBanner_close span:nth-of-type(2) {
  position: absolute;
  top: 10px;
  right: 20px;
  width: 1px;
  height: 21px;
  background-color: #707070;
  transform: rotate(45deg);
}
#bn_semi2024.bl_floatingBanner.js_close {
  transform: translateY(140%);
  transition: all 500ms 0s ease;
}

#bn_semi2024{
position: fixed;
bottom:-1px;
left:0;
right:0;
width:100%;
transition: .5s;
z-index: 999 !important;
}


/*
#bn_semi2024.hide{
    transform: translateY(100%);
}
*/
/*----------------------------------------------------
	nav
----------------------------------------------------*/

/*--- スマホメニュー-----------*/

#gnavi{
position: absolute;
width: 100%;
overflow: visible;
pointer-events: none;
top: 0;
z-index: 9999;
left:0;
right:0;
}

.toggle {
text-indent: -9999px;
width: 46px;
height: 54px;
display: block;
content: "";
position: absolute;
top: 6px;
right: 2%;
background: url(/img/common/sp/sp_menu.png) 50% 50% no-repeat #fff;
background-size: auto 54px;
z-index: 99;
cursor: pointer;
pointer-events: all;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

#gnavi .toggle.active {
background: url(/img/common/sp/sp_menu2.png) 50% 50% no-repeat #fff;
background-size: auto 54px;
}

/*--- スマホメニュー-----------*/

#gnavi{
position: absolute;
width: 100%;
overflow: visible;
pointer-events: none;
top: 0;
z-index: 9999;
left:0;
right:0;
}

#gnavi .menu_open{
background: #fff;
display: none;
/*position: fixed;*/
top:0;
margin-top:61px;
height: 84vh;
z-index: 9999;
width:100%;
overflow-y:scroll;
pointer-events: all;
-webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
      box-sizing: border-box;
}

@media screen and (min-width: 481px) {/*-----------------------------*/

.toggle {
right: 3%;
height: 64px;
background-size: auto 64px;
}

#gnavi .menu_open{
margin-top:75px;

}
 
}/*-----------------------------*/

#gnavi .menu_open ul.pa{
border-top:1px solid #ccc; 
width:100%;
 display: -webkit-flex;
 display: -ms-flexbox;
 display: flex;
 -webkit-justify-content: space-between;
   -ms-flex-pack:space-between;
     justify-content:space-between;
 -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
     flex-wrap: wrap;
}


.f_nav .justify li,
#gnavi ul.pa li{
text-align: left;
width:100%;
margin: 0;
border-bottom: 1px solid #ccc;
position: relative;
}

.f_nav .justify li:after,
#gnavi ul.pa li:after{
display: block;
content: "";
position: absolute;
top:0;
bottom:0;
right: 7%;
margin: auto;
width: 9px;
height: 9px;
border-top: 2px solid #333;
border-right: 2px solid #333;
transform: rotate(45deg);
}

#gnavi ul.pa li.nav07{
display: none;
}

.f_nav .justify li a,
#gnavi ul.pa li a{
font-weight: normal;
display: block;
/*font-weight: bold;*/
padding: 12px 0 12px 12px;
font-size:17.5px;
background: #fff;
-webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
      box-sizing: border-box;
}


.inq_btn{
background: #0f557a;
padding: 20px 8%;
margin-left: auto;
margin-right: auto;
}

footer .guide_navi li,
#gnavi .inq_btn li{
display: block;
margin:0 auto 0;
}

footer .guide_navi li.h_tel,
#gnavi .inq_btn .inq_tel{
background: #fff;
padding: 10px 10px 6px;
margin:0 auto 15px;
}

footer .guide_navi li.h_tel{
border: 1px solid #0f557a;
text-align: center;
}


footer .guide_navi li.h_tel a img,
#gnavi .inq_btn .inq_tel a img{
width:255px;
}

footer .guide_navi li.h_tel a span,
#gnavi .inq_btn .inq_tel a span{
line-height: 30px;
background: url(/img/common/i_tel.svg) 0 50% no-repeat;
background-size:22px auto;
padding-left: 30px;
display: inline-block;
color:#124C6D;
font-size:32px;
}

footer .guide_navi li.h_tel .time,
#gnavi .inq_btn li.inq_tel .time{
font-size:12px;
text-align: center;
}

footer .guide_navi li.h_mail a,
#gnavi .inq_btn li.inq_mail a{
display: block;
color:#fff;
font-size:17px;
letter-spacing: 0.5px;
line-height:56px;
text-align: center;
background:#fcb73e;
padding:0;
font-weight: bold;
position: relative;
}

footer .guide_navi li.h_mail a:before,
.inq_box li.h_mail a:before,
#gnavi .inq_btn li.inq_mail a:before{
display: block;
content: "";
position: absolute;
top:0;
bottom:0;
right: 20px;
margin: auto;
width: 8px;
height: 8px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: rotate(45deg);
}

footer .guide_navi li.h_mail span,
#gnavi .inq_btn li.inq_mail span{
background: url(/img/common/i_mail.png) 0 50% no-repeat;
background-size: 20px auto;
padding-left: 30px;
}


/*----------------------------------------------------
	#breadcrumb
----------------------------------------------------*/

.breadcrumb{
padding: 5px 3%;
}

.breadcrumb.txt_b{
position: relative;
border-top:1px solid #efefef;
}

.breadcrumb ol{
text-align:left;
line-height: 1.4;
}

.breadcrumb ol li{
display:inline;
font-size:12px;
}

.breadcrumb ol li span{
display: inline;
}

.breadcrumb ol li:before{
content: ">";
}

.breadcrumb ol li:first-child:before{
display: none;
}

.breadcrumb ol li a{
display: inline;
font-weight: normal;
text-decoration: none;
}

.breadcrumb.txt_b ol li,
.breadcrumb.txt_b ol li a{
color:#333;
}

.breadcrumb ol li a:hover span{
text-decoration: underline !important;
}

.breadcrumb ol li img{
vertical-align: middle;
padding-bottom: 2px;
}


.marker{
background: linear-gradient(transparent 70%, #f6fa86 0%);
padding: 2px 4px 2px 1px;
}


/*----------------------------------------------------
	index
----------------------------------------------------*/

#index .main_img{
background: #e9f4f9;
}

#index .txt_box01{
padding: 10px 3% 15px;
position: relative;
background: url(/img/top/main_bg001_sp.svg) right 50% no-repeat;
background-size: auto 100% ;
}

#index .txt_box01_in{
max-width: 500px;
margin: 0 auto;
}

#index .txt_box01 h2 span{
display: block;
width:8em;
font-size:12px;
line-height: 20px;
text-align: center;
color: #fff;
background: #0f557a;
letter-spacing: 2px;
margin-bottom: 5px;
font-weight: normal;
padding: 2px 5px;
}

#index .txt_box01 h2 img{
max-width: 75%;
width:400px;
}

#index .txt_box01 h3{
line-height: 1.7;
font-size:14px;
letter-spacing: 0;
}

#index .txt_box01 ul.check02{
margin: 10px auto 12px;
}

#index .txt_box01 li{
margin: 8px 0;

}

#index .txt_box01 li span{
background: url(/img/common/check02.png) 8px 50% no-repeat #fff;
background-size: 20px auto;
padding: 2px 10px 2px 34px;
display: inline-block;
font-size:18px;
letter-spacing: 1.5px;
}

#index .txt_box02{
clear: both;
margin: 0 auto;
background:url(/img/top/sp/main_bg03.jpg) left 50% no-repeat #3fa1d0;
z-index: 9;
color:#fff;
padding: 15px 10px;
text-align: center;
}

#index .txt_box02 .txt23{
font-size:15px;
}

#index .txt_box02 .txt18{
font-size:12px;
margin-bottom: 10px;
}

#index01 h2{
height: 96px;
}

#index01 h2 span{
font-size:14.5px;
padding-top: 20px;
margin-bottom: 3px;
}

#index01 h2 img{
height:30px;
width: auto;
}

#index01 .bg01{
background: url(/img/top/bg01.jpg) 50% 50% no-repeat;
background-size: cover;
padding: 12px;
}

#index01 .bg_w{
padding: 10px 10px 20px;
max-width:500px;
}

#index01 .bg01 .check01:before {
display: block;
content: "";
width:44px ;
height: 44px;
top: 0px;
left: 0px;
position: absolute;
border-left: 2px solid #3fa1d0;
border-top: 2px solid #3fa1d0;
}

#index01 .bg01 .check01:after {
display: block;
content: "";
width:44px ;
height: 44px;
bottom: 0px;
right: 0px;
margin: auto;
position: absolute;
border-right: 2px solid #3fa1d0;
border-bottom: 2px solid #3fa1d0;
}

#index01 .bg01 .check01{
margin: 3px auto 10px;
position: relative;
padding: 10px 10px 0;
}

.check01 li{
color:#0f557a;
font-size:15px;
line-height: 1.5;
padding:10px 10px 10px 30px;
background-image: linear-gradient(to right, #3fa1d0, #3fa1d0 3px, transparent 1px, transparent 3px);
background-size: 5px 1px;
background-position: bottom;
background-repeat: repeat-x;
}

#index01 .bg01 .check01 li:last-child{
background: none;
}

.check01 li:before {
display: block;
content: "";
width:23px ;
height:23px ;
top: 8px;
left: 8px;
margin: auto;
position: absolute;
background: url(/img/common/check01.png) 0 50% no-repeat;
background-size: 14px auto;
}

#index01 .bg01 .txt31{
font-size:16px;
padding: 0 10px;
}

#index01 .bg01 .txt31 span{
background: linear-gradient(transparent 70%, #feff8a 0%);
padding: 2px;
}

#com_box02 figure{
display: block;
text-align: center;
margin-bottom: 20px;
}

#com_box02 .txt_box{
margin-bottom: 40px;
}

#com_box02 .txt_box figure img{
width:220px;
}

#com_box02 .txt_box .txt_prof{
display: inline-block;
text-align: left;
margin-bottom: 28px;
font-size:90%;
}

#com_box02 .txt_box2 .in_box li{
padding-left:1em;
margin-bottom: 10px;
}

#com_box02 .txt_box2 .in_box li:before {
display: block;
content: "";
top:8px;
left: 2px;
margin: auto;
position: absolute;
width: 10px;
height: 10px;
background-color: #0f567a;
border-radius: 100%;
}

#com_box02 em.txt18{
font-size:110%;
}

#com_box02 .stit_navy{
font-size:21px;
line-height: 56px;
letter-spacing: 5px;
color:#fff;
margin-bottom: 20px;
}

#com_box02 .prof{
padding:0 3%;
font-size:90%;
}

#com_box02 .txt_box2{
padding: 20px;
border: 1px solid #ccc;
}

#pagetop{
display: none !important;
opacity: 0;
z-index: -1;
}

/*----------------------------------------------------
	footer
----------------------------------------------------*/
