@charset "UTF-8";
@media screen and (max-width: 639px) {
/* 639px 以下 */
ul#breadclumb li br,
nav#gnav ul li,
pc { display: none; }

.pc { display: none!important;}
.sp { display: block!important;}
.sp_br {word-break: break-all;}

body { line-height: 1.7; font-size: 1.4rem; }
img {max-width: 100%;}
ul.disc li{margin-left: 6%;} /*リスト黒丸 出す*/
.p_cnt {text-align: center;}
.sp-txt_L {text-align: left!important;}
 figure {font-size: 1.3rem; line-height: 1.3; margin-top: 0.5rem; }


/* トップページへボタン
-------------------- */
.pagetop {bottom: 15px; right: 10px;}

/* header
-------------------- */
header#header { position: fixed; width: 100%; height: 70px; background: #fff; overflow: visible!important; z-index: 1000; }
	#header_inner { background:#fff; width: 100%;}

/* logo
-------------------- */
div#logo {/*position: absolute;left: 5px;top: 15px;*/ margin: 8px;  }
div#logo a { height: 60px; background-size: contain;}
 
 
/***************************************************
menu
***************************************************/
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-stretch: normal;
  src: url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVc.ttf) format('truetype');
}
@font-face {
  font-family: 'Pacifico';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/pacifico/v22/FwZY7-Qmy14u9lezJ-6H6Mw.ttf) format('truetype');
}
.flex-center { display: flex; align-items: center; justify-content: center;}
a,
a:visited,
a:hover,
a:active { color: inherit; text-decoration: none;}
.outer-menu { position: fixed;top: 0; right: 0; z-index: 1001;}
.outer-menu .checkbox-toggle {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1002;
  cursor: pointer;
  width: 40px;
  height: 40px;
  opacity: 0;
}
.outer-menu .checkbox-toggle:checked + .hamburger > div { transform: rotate(135deg);}
.outer-menu .checkbox-toggle:checked + .hamburger > div:before,
.outer-menu .checkbox-toggle:checked + .hamburger > div:after { top: 0; transform: rotate(90deg);}
.outer-menu .checkbox-toggle:checked + .hamburger > div:after { opacity: 0;}
.outer-menu .checkbox-toggle:checked ~ .menu { pointer-events: auto; visibility: visible;}
.outer-menu .checkbox-toggle:checked ~ .menu > div {transform: scale(1); transition-duration: 0.75s;}
.outer-menu .checkbox-toggle:checked ~ .menu > div > div { opacity: 1; transition: opacity 0.4s ease 0.4s;}
.outer-menu .checkbox-toggle:hover + .hamburger { }
.outer-menu .checkbox-toggle:checked:hover + .hamburger > div { transform: rotate(225deg);}
.outer-menu .hamburger {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1001;
  width: 60px;
  height: 70px;
  padding: 0.5em 1em;
  border-radius: 0 0.12em 0.12em 0;
  cursor: pointer;
  transition: box-shadow 0.4s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .hamburger > div {
  position: relative;
  flex: none;
  width: 100%;
  height: 1px;
  background: #666;
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .hamburger > div:before,
.outer-menu .hamburger > div:after {
  content: '';
  position: absolute;
  z-index: 1001;
  top: -12px;
  left: 0;
  width: 100%;
  height: 1px;
  background: inherit;
  transition: all 0.4s ease;
}
.outer-menu .hamburger > div:after { top: 12px;}
.outer-menu .menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  outline: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
} 
.outer-menu .menu > div {
  width: 210vw;
  height: 210vw;
  color: #fff;
  background-image: linear-gradient(180deg, rgba(14, 48, 105, 1) 27%, rgba(44, 103, 228, 1));
  border-radius: 50%;
  transition: all 0.4s ease;
  flex: none;
  transform: scale(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div > div {
  text-align: center;
  max-width: 90vw;
  max-height: 100vh;
  opacity: 0;
  transition: opacity 0.4s ease;
  overflow-y: auto;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.outer-menu .menu > div > div > ul { list-style: none; padding: 0 1em; margin: 0; display: block; max-height: 100vh;}
.outer-menu .menu > div > div > ul > li { padding: 0; margin: 1em; font-size: 2rem; display: block;}
.outer-menu .menu > div > div > ul > li > a { position: relative; color: #fff; display: inline; cursor: pointer; transition: color 0.4s ease;}
.outer-menu .menu > div > div > ul > li > a:hover { color: #FFE700;}
.outer-menu .menu > div > div > ul > li > a:hover:after { width: 100%;}
.outer-menu .menu > div > div > ul > li > a:after {
  content: '';
  position: absolute;
  z-index: 1001;
  bottom: -0.15em;
  left: 0;
  width: 0;
  height: 2px;
  background: #FFE700;
  transition: width 0.4s ease;
}
 
/***************************************************
横ボタン
***************************************************/  
.fltSide01 {
  font-size: 3vw;
  width: 20vw;
  height: 18vw;
  padding: 2vw;
 }
.fltSide01:before {
  content: "";
  position: absolute;
  bottom: 10px;
  z-index: 999;
  width: 35px;
  height: 10px;
  border-right: 3px solid #fff;
  border-bottom: 2px solid #fff;
  right: 20px;
  transform: skewX(45deg);
}
 
 
/***************************************************
スライダー
***************************************************/ 
.slide .item::before { padding-top: 63%;}
.slide .item img { object-fit: cover; height: 100%;}
/* slide-navigation */
.slide-navigation .item .image::before { padding-top: 50%;}
.slick-next,.slick-next:before { display: none!important;}
 
/* Slider
-------------------- */
.slider {margin-top: 75px; }
 
 
/***************************************************
コンテンツトップイメージ
***************************************************/ 
.sub_image { margin-top: 75px;}
.sub_image img {
 width: 375px;
 height: 180px;
 object-fit: cover;
}
 
/***************************************************
ぱんくず
***************************************************/
.breadcrumb { margin: 0.2rem; padding: 0 0.5rem; }
.breadcrumb li { font-size: 0.9rem; }

 
/***************************************************
section
***************************************************/
section { margin: 0 auto; padding:2rem 0; overflow: hidden;}
section:not(:last-child) { }
 section div.inner {margin: 0 auto; padding: 0.8rem;}
section p {}

 
/***************************************************
footer
***************************************************/
footer#footer { padding: 2rem 1rem; background: #0e3069; }
footer#footer h3 {font-weight: bold; margin-bottom: 1rem; text-align: center; font-size: 2.3rem;}
footer#footer p {font-size: 1.4rem; text-align: center;}
footer#footer p span {font-size: 3rem; }
footer#footer small,footer#footer div { color: #fff; font-size: 1.2rem; text-align: center;}

/***************************************************
フレーム
***************************************************/
.frame_pink { border:6px solid #FFC1DE; border-radius: 30px; background:#fff; }
.frame_blue { border:6px solid #299FD6; border-radius: 30px; background:#fff; }
.frame_green { border:6px solid #99D58A; border-radius: 30px; background:#fff; }
.frame_b-green { border:6px solid #45B7B7; border-radius: 30px; background:#fff; }
 
/* リンクボタン */
div.btn a{	margin: 1rem auto;	padding: 0.6rem 0.2rem;	font-size: 1.2rem;} 
 
 
/***************************************************
ナビ
***************************************************/
ul.Navi-flex-box li.Navi_box { margin: 0; }
ul.Navi-flex-box li.p2 { width: 40%;}
ul.Navi-flex-box li.p3 { width: 32%; }
ul.Navi-flex-box li.p4 { width: 40%; }
ul.Navi-flex-box li.Navi_box h4 { font-size:1rem; }
 
 

 
/* font Title
-------------------- */
h1 {font-size: 3rem; line-height: 1.7; margin: 1.5rem 0 3rem;; padding: 0; }
h1 span { font-size: 2.5rem; }

h2 { margin: 1rem 0; font-size: 1.6rem;}
 
h3 { font-size: 2rem; text-align: center;}
h4.sub_ttl1 { font-size: 1.2rem; line-height: 1.5; margin-bottom: 2%; }
h4.sub_ttl2 { font-size: 140%; }
h5 {font-size: 1.rem!important; }

.fs14 {font-size:90%; display:block;}
.fs15 {font-size:95%;}
.fs16 {font-size:100%;}
.fs18 {font-size:105%;}
.fs20 {font-size:110%;}
.fs22 {font-size:115%;}
.fs24 {font-size:120%;}
.fs130 {font-size:130%;}
.sp-fs80{font-size: 80%;}
.f_n {font-weight:normal;}
.blue {color:#2692EE;}
.small{font-size:small;}
		

 
/***************************************************
FlexBox
***************************************************/
ul.flex-box { display: flex; flex-wrap: wrap; }
 ul.flex-box.co-re { flex-direction: column-reverse;}
ul.flex-box.jc-between { justify-content: space-between;}
ul.flex-box.jc-around { justify-content:space-around;}
ul.flex-box.itemcnt {align-items: center;}
 ul.flex-box li { }
ul.flex-box li.two_p {}
ul.flex-box li.three_p {}
ul.flex-box li.spec-L {}
ul.flex-box li.spec-R {}
ul.flex-box li.P-spec-L {}
ul.flex-box li.P-spec-R {}
ul.flex-box li.P-spec-lis-L {}
ul.flex-box li.P-spec-lis-R {}
ul.flex-box li.P-spec-dent-L {}
ul.flex-box li.P-spec-dent-R {}
 

 
/***************************************************
TOP
***************************************************/
 /* スライダー
-------------------- */
.slide-box { padding-top: 50px;}
 
h2.sub_ttl span.chara::before {margin: 1rem auto 0.2em;}
h2.sub_ttl span.chara { font-size: 1.5rem; }
 
 .info { padding:1rem;}

/* バナー
-------------------- */
#bnr {margin: 0 auto; max-width: 1024px;}
 #bnr ul {}
 #bnr ul li { width: 100%; margin-bottom: 2rem;  }
 #bnr ul li h3.bnr_tit { font-size: 1.2rem; text-align: center; color: #2C85CE; margin-bottom: 0.5rem;}
 #bnr ul li p {text-align: center; font-size: 0.8rem; }
 #bnr ul li p.bnr_tit {font-size: 1.5rem; line-height: 2; font-weight: bold;} 
 
 
 
/* Table
-------------------- */
.scroll table{ width:100%; }
.scroll { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch;}
.scroll::-webkit-scrollbar{height: 5px;}/*tableにスクロールバーを追加*/ 
.scroll::-webkit-scrollbar-track{ background: #F1F1F1;}/*tableにスクロールバーを追加*/
.scroll::-webkit-scrollbar-thumb { background: #BCBCBC;}/*tableにスクロールバーを追加*/
table.tbl_style_01{  }
table.tbl_style_02{ width: 100%;}

table.tbl_style_01,table.tbl_style_02 { font-size:1.6rem; word-break: break-all; word-wrap: break-all; }
table.tbl_style_01 th,
table.tbl_style_01 td,
table.tbl_style_01 th { }
 
table.tbl_style_02 td:last-child {
  /*border-bottom: solid 1px #ccc;*/
  width: 100%;
  margin-bottom: 2rem;
  }
table.tbl_style_02 {}
table.tbl_style_02 th,
table.tbl_style_02 td {
  border-bottom: none;
  display: block;
  width: 100%;
  }
table.tbl_style_02 th { text-align: center; font-size: 1.6rem; }
 

/* Table Spec
-------------------- */
ul.list_style_tb { border-top: 0;}
ul.list_style_tb li div.list_tb_ttl { border-top: 1px solid #aaa;}
ul.list_style_tb li p { display: table; padding: 3% 0; width: 100%; }


	
/* Image Size
-------------------- */	
img.wi20 { width: 20%; height: auto;}
img.wi30 { width: 30%; height: auto;}
img.wi40 { width: 40%; height: auto;}
img.wi50 { width: 50%; height: auto;}
img.wi60 { width: 60%; height: auto;}
img.wi70 { width: 70%; height: auto;}
img.wi80 { width: 80%; height: auto;}
	
	


/* width
-------------------- */
.spw10 { width: 10%; } .spw15 { width: 15%; } .spw20 { width: 20%; } .spw24 { width: 24%; }  .spw25 { width: 25%; } .spw30 { width: 30%; } .spw35 { width: 35%; } .spw40 { width: 40%; } .spw45 { width: 45%; } .spw48 { width: 48%; } .spw49 { width: 49%; } .spw50 { width: 50%; } .spw55 { width: 55%; } .spw60 { width: 60%; } .spw65 { width: 65%; } .spw70 { width: 70%; } .spw75 { width: 75%; } .spw80 { width: 80%; } .spw85 { width: 85%; } .spw90 { width: 90%; } .spw95 { width: 95%; } .spw100 { width: 100%; } 
 .spd600 {width: 600px;}

/* padding
-------------------- */
.pd0 { padding: 0; } .pd5 { padding: 2%; }.pd10 { padding: 10px; } .pd20 { padding: 20px; } .pd30 { padding: 1rem; } .pd40 { padding: 40px; } .pd50 { padding: 50px; } .pd60 { padding: 60px; } .pd70 { padding: 70px; } .pd80 { padding: 80px; } .pd90 { padding: 90px; } .pd100 { padding: 100px; }
.pd110 { padding: 110px; } .pd120 { padding: 120px; } .pd130 { padding: 130px; } .pd140 { padding: 140px; } .pd150 { padding: 150px; } .pd160 { padding: 160px; } .pd170 { padding: 170px; } .pd180 { padding: 180px; } .pd190 { padding: 190px; } .pd200 { padding: 200px; }
 
.spd10 { padding: 10px; }
	
.pdt5 { padding-top: 5px; } .pdt20 { padding-top: 20px; }

/* padding-left
-------------------- */	
.pdl5 { padding-left: 5px; } .pdl10 { padding-left: 10px; } .pdl15 { padding-left: 15px; } .pdl20 { padding-left: 20px; }

	
/* margin
-------------------- */
.mg0a{margin:  0 auto;} .mg0 {margin: 0!important;} .mg0 { margin: 0; } .mg10 { margin: 10px; } .mg20 { margin: 20px; } .mg30 { margin: 30px; } .mg40 { margin: 40px; } .mg50 { margin: 50px; } .mg60 { margin: 60px; } .mg70 { margin: 70px; } .mg80 { margin: 80px; } .mg90 { margin: 90px; } .mg100 { margin: 100px; }
.mg110 { margin: 110px; } .mg120 { margin: 120px; } .mg130 { margin: 130px; } .mg140 { margin: 140px; } .mg150 { margin: 150px; } .mg160 { margin: 160px; } .mg170 { margin: 170px; } .mg180 { margin: 180px; } .mg190 { margin: 190px; } .mg200 { margin: 200px; }

/* margin-top
-------------------- */
.mgt5 { margin-top: 5px; } .mgt10 { margin-top: 10px; } .mgt15 { margin-top: 15px; } .mgt20 { margin-top: 20px; } .mgt40 { margin-top: 40px; } .margin_box { margin-top: 20px; }
	
	
/* margin-bottom
-------------------- */
.mgb10 {margin-bottom: 0.7rem!important;} 
.mgb20 {margin-bottom: 1.4rem!important;}
.mgb30 {margin-bottom: 2rem!important;}
.mgb40 {margin-bottom: 2.4rem!important;}
.mgb50 {margin-bottom: 2.8rem!important;}
.mgb60 {margin-bottom: 3.2rem!important;}
.mgb70 {margin-bottom: 3.6rem!important;}
.mgb80 {margin-bottom: 4rem!important;}
.mgb90 {margin-bottom: 4.2rem!important;}
.mgb100 {margin-bottom: 4.4rem!important;}
.margin_box { margin-bottom: 30px; } 
 
.smgb40 {margin-bottom: 40px;}


/* margin-right
-------------------- */
.mgr5 { margin-right: 5px; } .mgr10 { margin-right: 10px; } .mgr15 { margin-right: 15px; } .mgr20 { margin-right: 20px; } .margin_box { margin-right: 30px; }
	
/* margin-left
-------------------- */
.mgl5 { margin-left: 5px; } .mgl10 { margin-left: 10px; } .mgl15 { margin-left: 15px; }.mgl20 { margin-left: 20px; } .margin_box { margin-left: 30px; }

}