@charset "UTF-8";

h1, h2, .h1, .h2 {font-family: 'Noto Serif JP', serif;}

ul.com,ol.com {margin: 0 0 20px;padding: 0 0 0 22px;}
ul.com li,ol.com li {margin-bottom: 5px;}
ul.com:last-child,ol.com:last-child {margin-bottom: 0;}
ul.com li:last-child,ol.com li:last-child {margin-bottom: 0;}

.fasm:before {
    display: inline-block;
    font-family: "Font Awesome 5 free";
    font-weight: bold;
    line-height: 1;
    opacity: 1;
    position: absolute;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.sp,.sp.tb {display: block !important;}
.tb {display: none !important;}
.pc {display: none !important;}

@media screen and (min-width: 768px) {
  .sp {display: none !important;}
	.sp.tb {display: block !important;}
	.tb {display: block !important;}
  .pc {display: none !important;}
	.tb.pc {display: block !important;}
}
@media screen and (min-width: 992px) {
  .sp,.sp.tb {display: none !important;}
	.tb {display: none !important;}
  .pc {display: block !important;}
	.tb.pc {display: block !important;}
}

a img {-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;}
a:hover img {opacity: 0.6;filter: alpha(opacity=40);}

/* dl, dt, dd
==================================================*/
dl {margin: 0;}
dt {margin-top: 1rem;}
dt:first-child {margin-top: 0;}
dd {}

dl {margin: 0;}
dl.type-A dt, dl.type-A dd {border-top: 0;padding: 15px 0;margin: 0;line-height: 1.7;}
dl.type-A dt {font-weight: bold;letter-spacing: 1.0px;padding-bottom: 10px;color: inherit;}
dl.type-A dd {border-bottom: 0px solid #d5d5d5;padding-top: 0;}
dl.type-A dt.first {border-top: 0px solid #d5d5d5;}
dl.type-A dd a {color: #252525;text-decoration: underline;}
dl.type-A dd a:hover {color: #da3200;text-decoration: none;}

dl.type-B {margin: 0;}
dl.type-B dt,.type-B dd {padding: 20px 0;margin: 0;}
dl.type-B dt {float: left;padding: 20px 0;}
dl.type-B dd {padding-left: 7em;border-bottom: 1px solid #d5d5d5;}
dl.type-B dd:nth-child(2) {border-top: 1px solid #d5d5d5;}

@media (min-width: 576px) {
	dl.type-A {margin: 0;}
	.type-A dt {margin-top: 1rem;}
	.type-A dt:first-child {margin-top: 0;}
	dd {}
	dl.type-B {}
	.type-B dt,.type-B dd {padding: 25px 0;}
	.type-B dt {}
	.type-B dd {padding-left: 10em;}
}

@media screen and (min-width: 768px) {
  dl {margin: 0;}
  dl.type-A dt,
  dl.type-A dd {padding: 15px 0;}
  dl.type-A dt {float: left;}
  dl.type-A dd {padding-left: 12em;}
  dl.type-A dt.first {border-top: 0;}
  dl.type-A dd.first {border-top: 0px solid #d5d5d5;}
  dl.type-A dd a {color: #252525;text-decoration: underline;}
  dl.type-A dd a:hover {/* color: #da3200; *//* text-decoration: none; */}
}

/* Row
  ================================================ */
.row.std{margin-top: -20px;margin-bottom: 20px;}
.row.std:last-child{margin-bottom: 0;}
.row.reverse {flex-direction: row-reverse;}
.row.std .col{margin-top: 20px;}
.row.std .col p{}
.row.std .col img{}

@media screen and (min-width: 768px) {
	.row.std{margin-top: -40px;margin-bottom: 40px;}
	.row.std .col{margin-top: 40px;}
	.row.std .col p{}
	.row.std .col img{}
}


/* Slick
  ================================================ */
.bx-wrapper .bx-controls-direction a {
    background: none;
    display: inline-block;
    position: absolute;
    top: 50%;
    margin-top: -10px;
    outline: 0;
    width: 20px;
    height: 20px;
    text-indent: -9999px;
    z-index: 1;
}

.slick-prev, .slick-next {
	background: none;
	display: inline-block;
	position: absolute;
	top: 50%;
	margin: 0;
	margin-top: -15px;
	padding: 0;
	outline: 0;
	width: 20px;
	height: 40px;
	text-indent: -9999px;
	z-index: 1;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.slick-prev {
	left: 0px;
}
.slick-next {
	right: 0px;
}

.slick-prev:before, .slick-next:before {
	content: '';
	width: 20px;
	height: 20px;
	border: 0;
	border-top: solid 2px #1078a6;
	position: absolute;
	right: 0px;
	top: 10px;
}
.slick-prev:before {
	border-left: solid 2px #1078a6;
	transform: rotate(-45deg);
	left: 45px;
}
.slick-next:before {
	border-right: solid 2px #1078a6;
	transform: rotate(45deg);
	right: 45px;
}
.slick-dots li button:before {
    opacity: 1;
    color: #afb6ba;
}
.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #1078a6;
}
.slick-dots li {margin: 0 2px;}

@media screen and (min-width: 768px) {
	.slick-prev, .slick-next {width: 25px;height: 50px;}
	.slick-prev:before, .slick-next:before {width: 30px;height: 30px;}
	.slick-dots li {margin: 0 2px;}
}


/* ハンバーガーボタン
  ================================================ */
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right: 30px;
  top: 20px;
  width: 48px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width: 48px;
  height  : 2px;
  left: 0px;
  background: #fff;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition   : 0.5s ease-in-out;
  transition        : 0.5s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 24px;
}
.hamburger span:nth-child(3) {
  top: 38px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 0px;
  background: #1078a6;
  -webkit-transform: rotate(315deg);
  -moz-transform   : rotate(315deg);
  transform        : rotate(315deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background: #1078a6;
  -webkit-transform: rotate(-315deg);
  -moz-transform   : rotate(-315deg);
  transform        : rotate(-315deg);
}

nav.global_nav {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgb(255 255 255 / 90%);
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
}

nav.global_nav ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.global_nav ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.global_nav ul li:last-child {
  padding-bottom: 0;
}
nav.global_nav ul li:hover{
  background :#ddd;
}

nav.global_nav ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.global_nav.active {
  opacity: 100;
  height: 100vh;
}



nav.global_nav {}
.global_nav .wrap {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    margin: auto;
    width: 100%;
    /* max-width: 700px; */
}
.global_nav .wrap .nav_main {}
.global_nav .wrap .nav_sub {
    margin-top: 50px;
}
.global_nav .nav_sub {}
.global_nav .nav_sub li {
	display: inline-block;
	padding: 0 10px 0;
	margin: 0 10px;
	position: relative;
	font-size: .75rem;
	width: auto;
}
.global_nav .nav_sub li:hover {background-color: transparent;}
.global_nav .nav_sub li a {
}
.global_nav .nav_sub li a:hover {text-decoration: underline;}
.global_nav .nav_sub li::before {
	content: "\f0da";
	display: inline-block;
	font-family: "Font Awesome 5 free";
	font-size: 1.0rem;
	font-weight: 600;
	line-height: 1;
	opacity: 1;
	color: #ffffff;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -8px;
	text-rendering: auto;
}
.global_nav .nav_sub li:first-child {}
.global_nav .nav_sub li:last-child {}



/* Button
  ================================================ */
/*button {display: block;max-width: 350px;width: 100%;margin: 0 auto 1.6rem;border: 0;padding: 0;}
button a {display: block;position: relative;padding: 1.25em 2em;background-color: #fff;border: 1px solid #000;outline: 1px solid transparent;border-radius: 0;font-size: .875rem;font-weight: 400;text-align: center;text-decoration: none !important;color: #000;}
button.solid a {display: block;position: relative;padding: 1.25em 2em;background-color: #fff;border: 1px solid #000;outline: 1px solid transparent;border-radius: 0;font-size: .875rem;font-weight: 400;text-align: center;text-decoration: none !important;color: #000;}
button.arrow_right a {transition: .2s linear;-webkit-transition: .2s linear;-moz-transition: .2s linear;-o-transition: .2s linear;-ms-transition: .2s linear;}
button.arrow_right a:before,button a:after {display: block;position: absolute;content: "";transition: all 0.3s;}
button.arrow_right a:before {width: 25px;height: 1px;background-color: #000;top: 0;bottom: 0;right: 15px;margin: auto;}
button.arrow_right a:after {width: 7px;height: 7px;border-top: 1px solid #000;border-right: 1px solid #000;top: 0;bottom: 0;right: 15px;margin: auto;transform: rotate(45deg);}
button.arrow_right a:hover:before,button a:hover:after {right: 5px;}
button.arrow_right a:hover {outline: 1px solid #000;color: #000;opacity: 1;}*/

button {display: block;max-width: 350px;width: 100%;margin: 15px auto 0;border: 0;padding: 0;background-color: transparent;-webkit-appearance: none;-moz-appearance: none;-ms-appearance: none;-o-appearance: none;appearance: none;}
button a {display: block;position: relative;padding: .75em 2em;background-color: #e50012;border: 0px solid #2f0f09;outline: 1px solid transparent;border-radius: 10px;font-size: 1.0rem;font-weight: 700;text-align: center;text-decoration: none !important;color: #ffffff !important;}
button.solid a {display: block;position: relative;padding: 1.25em 2em;background-color: #fff;border: 1px solid #000;outline: 1px solid transparent;border-radius: 0;font-size: .875rem;font-weight: 400;text-align: center;text-decoration: none !important;color: #000;}

button a:after {font-family: "Font Awesome 5 free";display: inline-block;font-weight: bold;line-height: 1;position: absolute;text-rendering: auto;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
button.right_side a {transition: .2s linear;-webkit-transition: .2s linear;-moz-transition: .2s linear;-o-transition: .2s linear;-ms-transition: .2s linear;}
button.right_side a:after {content: "\f054";font-size: 1.25rem;opacity: 1;color: #fff;top: 50%;right: 11px;margin-top: -9px;}
button.right_side a:hover {background-color: #f06772;}

button.arrow_right a {transition: .2s linear;-webkit-transition: .2s linear;-moz-transition: .2s linear;-o-transition: .2s linear;-ms-transition: .2s linear;}
button.arrow_right a:before,button a:after {display: block;position: absolute;content: "";transition: all 0.3s;}
button.arrow_right a:before {width: 25px;height: 1px;background-color: #2f0f09;top: 0;bottom: 0;right: 15px;margin: auto;}
button.arrow_right a:after {width: 7px;height: 7px;border-top: 1px solid #2f0f09;border-right: 1px solid #2f0f09;top: 0;bottom: 0;right: 15px;margin: auto;transform: rotate(45deg);}
button.arrow_right a:hover:before,button a:hover:after {right: 5px;}
button.arrow_right a:hover {outline: 1px solid #2f0f09;color: #fff;opacity: 1;}

div.button.right_side {display: block;max-width: 350px;width: 100%;margin: 15px auto 0;border: 0;padding: 0;background-color: transparent;-webkit-appearance: none;-moz-appearance: none;-ms-appearance: none;-o-appearance: none;appearance: none;}
div.button.right_side a {display: block;position: relative;padding: .75em 2em;background-color: #e50012;border: 0px solid #2f0f09;outline: 1px solid transparent;border-radius: 10px;font-size: 1.0rem;font-weight: 700;text-align: center;text-decoration: none !important;color: #ffffff !important;}
div.button.right_side a {transition: .2s linear;-webkit-transition: .2s linear;-moz-transition: .2s linear;-o-transition: .2s linear;-ms-transition: .2s linear;}
div.button.right_side a:after {content: "\f054";font-size: 1.25rem;opacity: 1;color: #fff;top: 50%;right: 11px;margin-top: -9px;}
div.button.right_side a:hover {background-color: #f06772;}
div.button.right_side a:after {font-family: "Font Awesome 5 free";display: inline-block;font-weight: bold;line-height: 1;position: absolute;text-rendering: auto;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}





.btn_box {
  max-width: 320px;
  margin: 50px auto 0;
  padding: 15px 35px;
  display: block;
  background-color: #00afcc;
  border-radius: 0;
  font-size: .875rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none !important;
  color: #FFF !important;
  line-height: 1.3;
  position: relative;
  transition: .2s linear;
  -webkit-transition: .2s linear;
  -moz-transition: .2s linear;
  -o-transition: .2s linear;
  -ms-transition: .2s linear;
}
.btn_box:hover {background-color: #66cfe0;color: #FFF;-webkit-transform: translate(0, 3px);transform: translate(0, 3px);opacity: 1;}
.btn_box.color2 {background-color: #339acd;}
.btn_box.color2:hover {background-color: #78b5d4;}
.btn_box:after {
	content: "\f054";
	display: inline-block;
	font-family: "Font Awesome 5 free";
	font-size: 1.25rem;
	font-weight: normal;
	font-weight: bold;
	line-height: 1;
	opacity: 1;
	color: #fff;
	position: absolute;
	top: 50%;
	right: 11px;
	margin-top: -9px;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.btn_box.blank:after {content: "\f35d";}
.btn_box.btn_s {font-size: .75rem;padding: 10px;}
.btn_box.btn_s:after {font-size: .875rem;margin-top: -7px;}
.btn_box.page_back:after {content: "\f053";right: auto;left: 11px;}

@media (min-width: 992px) {
	button a {}
}


/* Youtube
  ================================================ */
.youtube {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
embed, iframe, object, video {
    margin-bottom: 0;
    max-width: 100%;
    vertical-align: bottom;
}


/* ScrollUp
  ================================================ */
.gotop {position:fixed;display:none;background-color: #009245;color:#fff;text-decoration:none;font-size:11px;width: 40px;height: 40px;text-align:center;line-height:60px;}
.gotop i {display: block;/* height: 5px; */font-size: 1.125rem;padding-top: 12px;}
.gotop:hover {color: #fff;text-decoration: none;opacity: .7;}
#scrollup_01.gotop {bottom: 15px;right: 15px;}
#scrollup_02.gotop {display: block;position: absolute;top: 15px;right: 15px;z-index: 10;}

@media (min-width: 768px) {
	.gotop {width: 50px;height: 50px;}
	.gotop i {padding-top: 16px;}
	#scrollup_01.gotop {bottom: 20px;right: 20px;}
	#scrollup_02.gotop {/* bottom:20px; *//* right:0; */}
}

@media (min-width: 992px) {
	.gotop {width: 50px;height: 50px;}
	.gotop i {padding-top: 16px;}
	#scrollup_01.gotop {bottom: 30px;right: 30px;}
	#scrollup_02.gotop {top: inherit;bottom: 63px;right: 20px;}
}