@charset "utf-8";


/* --------------------------------------------------
	Resetting default margin and padding
-------------------------------------------------- */

/* !HTML5 elements
---------------------------------------------------------- */
header, footer, nav, section, aside, article
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Helvetica Neue","Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	-webkit-text-size-adjust: none;
	color: #333;
	font-weight: 500;
}

body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td,input,a,textarea,select,span,nav,section,header
{
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}
input,
textarea {
	margin: 0;
	font-size: 100%;
	appearance: none;
	-webkit-appearance: none;
	border: none;
	outline: none;
}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ vertical-align: top; max-width: 100%;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}
q:after, q:before
{ content:'';}
a, input
{ /* outline: none; */ }
abbr, acronym
{ border: 0;}




/* !Clearfix
---------------------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}
.clearfix:after {
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .clearfix {
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/* !Layout
---------------------------------------------------------- */
html { overflow-y: scroll;}
body { }
@media print {
	html,
	html body { *zoom: 0.65;}
}



/* link
------------------------------------------------ */
a {
	color: #333;
	text-decoration:none;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}

a:hover {
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}

.op,
.op a,
.op img,
.op input {
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}
.op:hover,
.op a:hover,
.op:hover img,
.op:hover input {
	opacity: .7;
	-webkit-opacity: .7;
	-moz-opacity: .7;
	filter: alpha(opacity=70);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* IE 8 */
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}


/* !fs
------------------------------------------------ */
.visible-pc {
	display: block !important;
}
.visible-ts {
	display: none !important;
}

@media (max-width: 767px) {
.visible-pc {
	display: none !important;
}
.visible-ts {
	display: block !important;
}
}


/* !fonts
------------------------------------------------ */
.fwb {
	font-weight: 700;
}
.fwd {
	font-weight: 900;
}

.vat {
	vertical-align: top !important;
}
.vam {
	vertical-align: middle !important;
}
.vab {
	vertical-align: bottom!important;
}
.tac {
	text-align: center !important;
}
.tar {
	text-align: right !important;
}


/* ff
----------------------------------------------- */
.ffroboto {
	font-family: 'Roboto', sans-serif;
}
.ffbarlow {
	font-family: 'Barlow', sans-serif;
}


/* wrapper
----------------------------------------------- */
#wrapper {
	overflow: hidden;
}
.inner {
	padding: 0 30px;
}

@media (max-width: 767px) {
.inner {
	padding: 0 15px;
}
}


/* header
----------------------------------------------- */
#header {
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 99;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
#header .headerin {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 30px 35px 0 40px;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
#header .headerlogo {
	max-width: 210px;
	margin-right: 10px;
	position: relative;
	z-index: 99;
}
#header .headermess {
	display: flex;
	align-items: center;
}
#header .gnavi {
	display: flex;
	align-items: stretch;
	flex-shrink: 0;
	z-index: 99;
}
#header .gnavi li a {
	display: block;
	position: relative;
}
#header .gnavi li a:hover {
	opacity: 0.7;
}
#header .gnavi li+li {
	margin-left: 15px;
}
#header .gnavi .gnavitxt {
	width: 140px;
	height: 30px;
	color: #0A101A;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	z-index: 1;
}
#header .gnavi li a:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transform: skewX(-45deg);
	transform-origin: center center;
	box-shadow: 0px 4px 4px 0px #0000001A;
	z-index: 0;
}
#header .gnavi li a.bggray:before {
	background: #ccc;
}
#header .gnavi li a.bgblue .gnavitxt {
	color: #fff;
	width: 150px;
}
#header .gnavi li a.bgblue:before {
	background: #004EA8;
}

.navbar-toggle {
	display: none;
}
.navbar-collapse {
	display: none;
}

@media (max-width: 1400px) {
#header .headerlogo {
	max-width: 170px;
}
#header .headerin {
	padding: 30px 20px 0 20px;
}
#header .gnavi .gnavitxt {
	width: 110px;
	height: 30px;
	font-size: 13px;
}
#header .gnavi li a.bgblue .gnavitxt {
	width: 120px;
}
}
@media (max-width: 1100px) {
#header .headerlogo {
	max-width: 150px;
}
#header .gnavi .gnavitxt {
	width: 100px;
	font-size: 12px;
}
#header .gnavi li a.bgblue .gnavitxt {
	width: 100px;
}
}
@media (max-width: 1024px) {
#header .headerin {
	padding: 25px 0 0 15px;
}
#header .headerlogo {
	margin-right: 10px;
	font-size: 0;
	max-width: 139px;
}
#header .gnavi li+li {
	margin-left: 0;
}
#header .gnavi li a {
	display: none;
}
#header .gnavi li a.bgblue {
	display: block;
}
#header .gnavi li a.bgblue .gnavitxt {
	width: 120px;
	height: 36px;
}

.navbar-toggle {
	margin: 0 -18px 0 10px;
	width: 90px;
	height: 36px;
	padding: 0 5px 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 14px;
	color: #0A101A;
	letter-spacing: 0.26px;
	font-weight: 600;
	position: relative;
	z-index: 99;
}
.navbar-toggle:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
transform: skewX(-45deg);
transform-origin: center center;
box-shadow: 0px 4px 4px 0px #0000001A;
	z-index: 0;
}
.navbar-toggle .toggleopen {
	position: relative;
	z-index: 1;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.navbar-toggle .toggleclose {
	display: none;
	position: relative;
	z-index: 1;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.navbar-toggle.on .toggleopen {
	display: none;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.navbar-toggle.on .toggleclose {
	display: block;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
	
.navbar-collapse {
	position: fixed;
	left: 0;
	top: 0;
	height: 100vh;
	width: 100%;
	background: rgba(10, 16, 26, 0);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	z-index: 90;
}
	.navbar-collapse.on {
	background: rgba(10, 16, 26, 0.8);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	}
.navbarbox {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 5px;
	width: 100%;
	height: 100%;
}
.navbar-collapse.on .navbarbox {
	transform: translateX(0);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.navbarbox .navlist {
	width: 85.3vw;
	max-width: 100%;
}
	.navbarbox .navlist li+li {
		margin-top: 20px;
	}
.navbarbox .navlist li {
	font-weight: 700;
	letter-spacing: 0.41px;
	transform: translateX(100%);
}
.navbar-collapse.on .navlist li {
	transform: translateX(0);
}
.navbarbox .navlist li.navone {
	transition: all 2.1s !important;
	-moz-transition: all 2.1s !important; /* Firefox */
	-webkit-transition: all 2.1s !important; /* Chrome&Safari */
}
.navbar-collapse.on .navlist li.navone {
	transition: all 2.1s !important;
	-moz-transition: all 2.1s !important; /* Firefox */
	-webkit-transition: all 2.1s !important; /* Chrome&Safari */
}
	
.navbarbox .navlist li.navtwo {
	transition: all 1.8s !important;
	-moz-transition: all 1.8s !important; /* Firefox */
	-webkit-transition: all 1.8s !important; /* Chrome&Safari */
}
.navbar-collapse.on .navlist li.navtwo {
	transition: all 1.8s !important;
	-moz-transition: all 1.8s !important; /* Firefox */
	-webkit-transition: all 1.8s !important; /* Chrome&Safari */
}
	
.navbarbox .navlist li.navthree {
	transition: all 1.5s !important;
	-moz-transition: all 1.5s !important; /* Firefox */
	-webkit-transition: all 1.5s !important; /* Chrome&Safari */
}
.navbar-collapse.on .navlist li.navthree {
	transition: all 1.5s !important;
	-moz-transition: all 1.5s !important; /* Firefox */
	-webkit-transition: all 1.5s !important; /* Chrome&Safari */
}
	
.navbarbox .navlist li.navfour {
	transition: all 1.2s !important;
	-moz-transition: all 1.2s !important; /* Firefox */
	-webkit-transition: all 1.2s !important; /* Chrome&Safari */
}
.navbar-collapse.on .navlist li.navfour {
	transition: all 1.2s !important;
	-moz-transition: all 1.2s !important; /* Firefox */
	-webkit-transition: all 1.2s !important; /* Chrome&Safari */
}
.navbarbox .navlist li.navfive {
	transition: all 0.9s !important;
	-moz-transition: all 0.9s !important; /* Firefox */
	-webkit-transition: all 0.9s !important; /* Chrome&Safari */
}
.navbar-collapse.on .navlist li.navfive {
	transition: all 0.9s !important;
	-moz-transition: all 0.9s !important; /* Firefox */
	-webkit-transition: all 0.9s !important; /* Chrome&Safari */
}
	
.navbarbox .navlist li.navsix {
	transition: all 0.6s !important;
	-moz-transition: all 0.6s !important; /* Firefox */
	-webkit-transition: all 0.6s !important; /* Chrome&Safari */
}
.navbar-collapse.on .navlist li.navsix {
	transition: all 0.6s !important;
	-moz-transition: all 0.6s !important; /* Firefox */
	-webkit-transition: all 0.6s !important; /* Chrome&Safari */
}
	
.navbarbox .navlist li.navseven {
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.navbar-collapse.on .navlist li.navseven {
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
	
	
.navbarbox .navlist li a {
	display: flex;
	width: 100%;
	height: 48px;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #0A101A;
	position: relative;
}
.navbarbox .navlist li a:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transform: skewX(-45deg);
	transform-origin: center center;
	z-index: 0;
}
.navbarbox .navlist .gnavitxt {
	display: block;
	position: relative;
	z-index: 1;
}
.navbarbox .navlist a.bggray:before {
	background: #ccc;
}
.navbarbox .navlist a.bgblue:before {
	background: #004EA8;
}
.navbarbox .navlist a.bgblue {
	color: #fff;
}
}



/* footer
----------------------------------------------- */
#footer {
	background: #fff;
	padding: 54px 30px;
}
#footer .footerin {
	max-width: 960px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#footer .fleft {
	margin-right: 10px;
	display: flex;
	align-items: flex-end;
}
#footer .footerlogo {
	margin-right: 60px;
}
#footer .footeryou a {
	display: flex;
	align-items: center;
}
#footer .footeryou .youtxt {
	font-style: italic;
	font-weight: 400;
	line-height: 1.4;
	font-size: 16px;
	letter-spacing: 1.6px;
	color: #45484D;
	margin-right: 15px;
}
#footer .fright {
	display: flex;
	align-items: center;
}
#footer .footerother {
	
}
#footer .footermm {
	margin-left: 30px;
}
#footer .footernavi {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-bottom: 5px;
}
#footer .footernavi li+li {
	margin-left: 1em;
}
#footer .footernavi a {
	display: block;
	text-decoration: underline;
	color: #45484D;
	font-weight: 400;
	font-size: 10px;
	line-height: 1.4;
}
#footer .footernavi a:hover {
	text-decoration: none;
}

#footer .copyright {
	text-align: right;
	color: #45484D;
	font-weight: 400;
	font-size: 10px;
	line-height: 1.4;
}
@media (max-width: 1024px) {
#footer .fright {
	flex-direction: column;
}
#footer .footermm {
	margin: 30px 0 0;
}
}
@media (max-width: 767px) {
#footer {
	padding: 30px 15px;
}
#footer .footerin {
	display: block;
}
#footer .fleft {
	margin: 0 0 30px;
	display: flex;
	justify-content: center;
}
#footer .footerlogo {
	margin-right: 9.3vw;
}
#footer .footernavi {
	justify-content: center;
}
#footer .footernavi li {
	margin: 0 0.3em;
}
#footer .footernavi li+li {
	margin-left: 0.3em;
}
#footer .copyright {
	text-align: center;
}
}

#footer .pagetop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: none;
	z-index: 9;
}
#footer .pagetop a {
	display: block;
}
#footer .pagetop img {
	width: 59px;
}
@media (max-width: 767px) {
#footer .pagetop {
	right: 15px;
	bottom: 15px;
}
}



/* anchor
----------------------------------------------- */
.anchor {
	position: absolute;
	left: 0;
	top: 0;
	padding-top: 120px;
	margin-top: -120px;
	z-index: 0;
}
@media (max-width: 767px) {
.anchor {
	padding-top: 105px;
	margin-top: -105px;
}
}


/* animation
----------------------------------------------- */
@keyframes scrollin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes fadeInLeftLit {
  from {
    opacity: 0;
    transform: translate3d(-30px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInLeftLit {
  animation-name: fadeInLeftLit;
}

@keyframes fadeInRightRit {
  from {
    opacity: 0;
    transform: translate3d(30px, 0, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInRightRit {
  animation-name: fadeInRightRit;
}

@keyframes fadeInUpLit {
  from {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}
.fadeInUpLit {
  animation-name: fadeInUpLit;
}




/* H
----------------------------------------------- */
.hdl {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.hdl .hdleng {
	margin-bottom: 25px;
}
.hdl .hdljps {
	font-size: 24px;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: 0.2em;
}

@media (max-width: 767px) {
.hdl .hdleng {
	margin-bottom: 20px;
}
.hdl .hdljps {
	font-size: 18px;
	letter-spacing: 0.2em;
}
}





/* main
----------------------------------------------- */
.main {
	position: relative;
}
.main .mainlogo {
	position: absolute;
	left: 35px;
	bottom: 70px;
	max-width: 534px;
	z-index: 1;
}
.main .mainscroll {
	position: absolute;
	right: 30px;
	bottom: 70px;
	z-index: 1;
}
.main .mainscroll img {
	width: 23px;
}
.slider {
	width: 100%;
	height: 100vh;
	margin-inline: auto;
	overflow: hidden;
}
.slick-img img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.15); /* 拡大率 */
	}
}
.add-animation {
	animation: zoomUp 10s linear 0s normal both;
}

@media (max-width: 767px) {
.main .mainlogo {
	left: 0;
	width: 100%;
	bottom: 130px;
	padding: 0 20px;
	text-align: center;
	z-index: 1;
}
.main .mainlogo  img {
	width: 325px;
}
.main .mainscroll {
	right: 15px;
	bottom: 250px;
}
}

.main .mainnews {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: rgba(255,255,255,0.85);
	padding: 5px 15px;
	z-index: 2;
}
.main .mainnews .manewsbox {
	max-width: 990px;
	margin: 0 auto;
	padding: 0 100px 0 0;
	display: flex;
	align-items: center;
	position: relative;
}
.main .mainnews .manewsto {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
.main .mainnews .manewsto a {
	display: block;
	font-size: 0;
}
.main .mainnews .manewsmess {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	margin-right: 5px;
}
.main .mainnews .manewstit {
	margin-right: 20px;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
}
.main .mainnews .manewscate {
	padding: 3px 20px;
	color: #fff;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 600;
	margin-right: 10px;
}
.main .mainnews .manewscate.bgred {
	background: #C00D1E;
}
.main .mainnews .manewscate.bgblue {
	background: #004EA8;
}
.main .mainnews .manewscate.bggray {
	background: #45484D;
}
.main .mainnews .manewsdate {
	font-size: 13px;
	font-weight: 500;
}
.main .mainnews .manewslink {
}
.main .mainnews .manewslink a {
	font-weight: 700;
	word-break: break-all;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:1;
	overflow: hidden;
}
@media (max-width: 767px) {
.main .mainnews {
	padding: 15px;
}
.main .mainnews .manewsbox {
	padding: 0;
	display: block;
}
.main .mainnews .manewsto {
	top: 0.3em;
	transform: translateY(0);
}
.main .mainnews .manewsmess {
	padding: 0 80px 0 0;
	margin: 0 0 5px;
}
.main .mainnews .manewslink a {
	font-weight: 700;
	word-break: break-all;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	overflow: hidden;
}
}



/* concept
----------------------------------------------- */
.concept {
	background: url(../img/bg_concept.png) center 0 repeat;
	padding: 180px 0 0;
	color: #fff;
}
.concept .ceptmain {
	background: url(../img/x_concept.png) center 0 no-repeat;
	padding: 0 30px 300px;
	position: relative;
}
.concept .cepthd {
	text-align: center;
	font-size: 58px;
	font-weight: 700;
	line-height: 1.48;
	margin-bottom: 85px;
}
.concept .ceptdet {
	text-align: center;
	font-size: 30px;
	line-height: 1.46;
	font-weight: 700;
	margin-bottom: 70px;
}
.concept .ceptnote {
	text-align: center;
	font-size: 24px;
	font-weight: 700;
}
.concept .ceptpic {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
	transform: translateY(33%);
	z-index: 2;
}
.concept .ceptbox {
	background: #D9D9D9;
	padding: 150px 30px 80px;
}
.concept .ceptinner {
	max-width: 1170px;
	margin: 0 auto;
	background: url(../img/bg_concept.png) center 0 repeat;
	background-size: 100% auto;
	padding: 40px 20px;
	border-bottom: 18px #004EA8 solid;
	border-top: 18px #004EA8 solid;
	position: relative;
}
.concept .ceptinner .cepttxt {
	font-size: 24px;
	text-align: center;
	font-weight: 700;
	line-height: 1.625;
}
.concept .ceptinner .ceptlogo {
	position: absolute;
	background: #004EA8;
	left: 0;
	top: -18px;
	padding: 15px 65px 15px 15px;
	clip-path: polygon(0 0, 100% 0, calc(100% - 70px) 100%, 0 100%);
	z-index: 1;
}

@media (max-width: 1024px) {
.concept .ceptmain {
	padding: 0 30px 200px;
}
.concept .cepthd {
	font-size: 50px;
}
.concept .ceptdet {
	font-size: 28px;
}
.concept .ceptinner {
	padding: 60px 20px 40px;
}
.concept .ceptinner .cepttxt {
	font-size: 22px;
}
}
@media (max-width: 767px) {
.concept {
	background: url(../img/bg_concept.png) center 0 repeat;
	background-size: 100% auto;
	padding: 90px 0 0;
}
.concept .ceptmain {
	background: none;
	padding: 0 15px 32vw;
	position: relative;
}
.concept .cepthd {
	font-size: 24px;
	line-height: 1.8;
	margin-bottom: 60px;
}
.concept .ceptdet {
	font-size: 18px;
	line-height: 1.83;
	background: url(../img/x_concept.png) center center no-repeat;
	background-size: 120% auto;
	margin: 0 -15px 25px;
	padding: 0 15px;
}
.concept .ceptnote {
	font-size: 14px;
}
.concept .ceptbox {
	padding: 12vw 10px 70px;
}
.concept .ceptinner {
	padding: 85px 20px 20px;
	border-bottom: 12px #004EA8 solid;
	border-top: 12px #004EA8 solid;
}
.concept .ceptinner .cepttxt {
	font-size: 16px;
	line-height: 1.75;
}
.concept .ceptinner .ceptlogo {
	top: -12px;
	padding: 13px 60px 13px 12px;
	clip-path: polygon(0 0, 100% 0, calc(100% - 60px) 100%, 0 100%);
}
}





/* comcta 
----------------------------------------------- */
.comcta {
	background: url(../img/bg_cta.jpg) center center no-repeat #f8f8f8;
	padding: 0 30px;
	position: relative;
}
.comcta .ctainner {
	max-width: 880px;
	margin: 0 auto;
	height: 420px;
	display: flex;
	align-items: center;
}
.comcta .ctabox {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.comcta .ctahd {
	text-align: center;
	color: #0A101A;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-bottom: 35px;
}
.comcta .ctadet {
	text-align: center;
	font-weight: 700;
	margin-bottom: 10px;
}
.comcta .ctatxt {
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 10px;
}
.comcta .ctacol {
	display: flex;
	align-items: stretch;
	column-gap: 10px;
	margin-bottom: 30px;
}
.comcta .ctacol li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 1px;
	background: #004DA8;
	width: 220px;
	height: 64px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}
.comcta .ctabtn {
	width: 100%;
}
.comcta .ctabtn a {
	display: flex;
	background: #595757;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 44px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 1px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}
.comcta .ctaimg {
	display: none;
}

@media (max-width: 767px) {
.comcta {
	background: #F8F8F8;
	padding: 50px 5px 0;
}
.comcta .ctainner {
	height: auto;
	display: block;
}
.comcta .ctabox {
	display: block;
}
.comcta .ctahd {
	font-size: 18px;
	letter-spacing: 0.06em;
	margin-bottom: 30px;
}
.comcta .ctatxt {
	font-size: 16px;
}
.comcta .ctacol {
	column-gap: 0;
	justify-content: space-between;
	margin-bottom: 35px;
}
.comcta .ctacol li {
	width: calc((100% - 5px)/2);
}
.comcta .ctacol li a {
	width: 100%;
	height: 60px;
}
.comcta .ctabtn a {
	height: 46px;
	font-size: 20px;
}
.comcta .ctaimg {
	display: block;
	margin: 30px -5px 0;
	text-align: center;
}
}





/* guide
----------------------------------------------- */
.guide {
	background: #E3E3E3;
	padding: 230px 0 290px;
	position: relative;
}
.guide .guidebg01 {
	position: absolute;
	left: 0;
	top: 60px;
	font-size: 0;
	z-index: 0;
}
.guide .guidebg02 {
	position: absolute;
	right: 0;
	top: 250px;
	font-size: 0;
	z-index: 0;
}
.guide .guidebg03 {
	position: absolute;
	left: 0;
	bottom: 235px;
	font-size: 0;
	z-index: 0;
}
.guide .guidebg04 {
	position: absolute;
	right: 0;
	bottom: 50px;
	font-size: 0;
	z-index: 0;
}
.guide .hdl {
	position: relative;
	z-index: 1;
	margin-bottom: 40px;
}
.guide .hdl .hdleng {
}
.guide .guidebox {
	max-width: 890px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.guide .guidelist li {
	display: flex;
	align-items: stretch;
}
.guide .guidelist li+li {
	margin-top: 5px;
}
.guide .guidelist .guideth {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 18px;
	color: #fff;
	font-weight: 700;
	width: 27%;
	padding: 10px 86px 10px 20px;
	clip-path: polygon(0 0, 100% 0 , calc(100% - 66px) 100%, 0 100%);
	background: #004EA8;
	margin-right: -3.3%;
	min-height: 60px;
}
.guide .guidelist .guidetd {
	margin-left: -3%;
	width: 79%;
	padding: 10px 15px 10px 80px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	text-align: left;
	font-size: 16px;
	font-weight: 700;
	color: #0A101A;
	line-height: 1.375;
	background: #fff;
	clip-path: polygon(66px 0, 100% 0,100% 100% , 0 100%);
	min-height: 60px;
}
.guide .guidelist .guidenote {
	font-size: 13px;
	font-weight: 700;
	display: block;
}
.guide .guidelist .guidenote a {
	color: #0068B3;
	text-decoration: underline;
}
.guide .guidelist .guidenote a:hover {
	text-decoration: none;
}

@media (max-width: 767px) {
.guide {
	padding: 115px 0 125px;
}
.guide .guidebg01 {
	top: 45px;
	max-width: 78.6vw;
}
.guide .guidebg02 {
	top: 92px;
	max-width: 30.9vw;
}
.guide .guidebg03 {
	bottom: 90px;
	max-width: 32vw;
}
.guide .guidebg04 {
	bottom: 55px;
	max-width: 58.6vw;
}
.guide .hdl {
	margin-bottom: 25px;
}
.guide .hdl .hdleng {
	max-width: 290px;
}
.guide .guidelist li+li {
	margin-top: 3px;
}
.guide .guidelist .guideth {
	font-size: 11px;
	width: 18%;
	padding: 5px 10px;
	clip-path: polygon(0 0, 100% 0 , 100% 100%, 0 100%);
	margin-right: 3px;
	min-height: 70px;
}
.guide .guidelist .guidetd {
	margin-left: 0;
	width: calc(82% - 3px);
	padding: 5px 10px;
	font-size: 13px;
	clip-path: polygon(0 0, 100% 0 , 100% 100%, 0 100%);
	min-height: 70px;
}
.guide .guidelist .guidenote {
	font-size: 12px;
}
}





/* access
----------------------------------------------- */
.access {
	background: #fff;
	padding: 120px 0 130px;
	position: relative;
}
.access:before {
	position: absolute;
	content: "";
	background: url(../img/arrow_access.svg) center center no-repeat;
	width: 201px;
	height: 212px;
	top: 0;
	transform: translateY(-50%);
	left: 96px;
	z-index: 0;
}
.access .accessinner {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 6px;
	position: relative;
	z-index: 1;
}
.access .hdl {
	margin-bottom: 60px;
}
.access .mapbox {
	max-width: 800px;
	margin: 0 auto 55px;
}
.access .mapbox .mapimg {
	text-align: center;
	margin-bottom: 15px;
}
.access .mapbox .mapbtn {
	display: flex;
	justify-content: flex-end;
}
.access .mapbox .mapbtn a {
	background: #004EA8;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 5px 10px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;
}
.access .mapbox .mapbtn a img {
	margin-left: 5px;
}
.access .acctools {
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.access .acctools .toolsitem {
	width: 47.5%;
}
.access .acctools .toolsfull {
	width: 100%;
}
.access .acctools .toolstit {
	display: flex;
	align-items: center;
	margin-bottom: 25px;
	padding: 0 15px 10px;
	font-size: 16px;
	font-weight: 700;
	position: relative;
}
.access .acctools .toolstit:before {
	position: absolute;
	content: "";
	left: 0;
	bottom: 0;
	background: #ccc;
	width: 100%;
	height: 3px;
	transform: skewX(-45deg);
	z-index: 0;
}
.access .acctools .toolstit img {
	margin-right: 12px;
}
.access .acctools .toolsdet li {
	font-size: 14px;
	line-height: 1.5;
	padding: 0 15px;
	font-weight: 700;
}
.access .acctools .toolsdet li+li {
	margin-top: 2px;
}
.access .acctools .toolsdet .toolslgt {
	display: inline-block;
	font-weight: 500;
}
.access .acctools .toolsnote {
	margin-top: 15px;
	font-size: 14px;
	font-weight: 500;
	padding: 0 15px;
}
.access .acctools .airport {
	padding: 0 15px;
}
.access .acctools .airport+.airport {
	margin-top: 50px;
}
.access .acctools .airname {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 5px;
}
.access .acctools .airdetail {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 700;
}
.access .acctools .airlgt {
	font-weight: 500;
	display: inline-block;
}
.access .acctools .airbk {
	font-weight: 500;
	display: inline-block;
}
.access .acctools .airmap {
	
}
.access .acctools .airinner+.airinner {
	margin-top: 25px;
}

@media (max-width: 767px) {
.access {
	padding: 90px 0 35px;
}
.access:before {
	background: url(../img/arrow_access.svg) center center no-repeat;
	background-size: 96px auto;
	width: 96px;
	height: 102px;
	left: 15px;
}
.access .hdl {
	padding: 0 10px;
	margin-bottom: 30px;
}
.access .hdl .hdleng {
	max-width: 316px;
}
.access .mapbox .mapimg {
	margin-bottom: 10px;
}
.access .mapbox .mapbtn {
	justify-content: center;
}
.access .acctools {
	display: block;
}
.access .acctools .toolsitem {
	width: auto;
}
.access .acctools .toolsitem+.toolsitem {
	margin-top: 35px;
}
.access .acctools .toolstit {
	margin-bottom: 20px;
	padding: 0 15px 15px;
}
.access .acctools .toolstit img {
	margin-right: 12px;
}
.access .acctools .toolsdet li+li {
	margin-top: 5px;
}
.access .acctools .airport {
	padding: 0 15px;
}
.access .acctools .airport+.airport {
	margin-top: 30px;
}
}





/* introduction
----------------------------------------------- */
.introduction {
	background: url(../img/bg_intro.png) 0 0 repeat;
	padding: 215px 0 115px;
	position: relative;
}
.introduction:before {
	position: absolute;
	content: "";
	background: url(../img/arrow_intro.svg) center center no-repeat;
	width: 201px;
	height: 212px;
	top: 0;
	right: 75px;
	transform: translateY(-50px);
	z-index: 1;
}
.introduction .hdl {
	margin-bottom: 35px;
	position: relative;
	z-index: 1;
}
.introduction .hdl .hdljps {
	color: #fff;
}
.introduction .introline {
	text-align: center;
	margin: 140px 0;
	position: relative;
	z-index: 1;
}
.introduction .idbgico {
	position: absolute;
	width: 560px;
	max-width: 100%;
	z-index: 0;
}
.introduction .idmain01 {
	max-width: 1226px;
	margin: 0 auto 200px;
	display: flex;
	align-items: center;
	position: relative;
}
.introduction .idmain01 .idmainimg {
	width: 62.5%;
	position: relative;
	z-index: 1;
}
.introduction .idmain01 .idmainin {
	flex: 1;
	position: relative;
	z-index: 1;
}
.introduction .idmain01 .idmainmess {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 45px;
}
.introduction .idmain01 .idmainlogo {
	margin-bottom: 15px;
}
.introduction .idmain01 .idmaincap {
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
}
.introduction .idmain01 .idmainpop {
	padding-left: 20px;
}
.introduction .idmain01 .bgwave {
	bottom: calc(100% - 170px);
	right: -85px;
}
.introduction .idmain01 .bgbear {
	top: 310px;
	left: -180px;
}
.introduction .idmain01 .bgfnum {
	position: absolute;
	right: 16%;
	top: calc(100% - 35px);
	max-width: 158px;
	z-index: 0;
}


.introduction .idmain02 {
	margin: 0 auto 115px !important;
	display: flex;
	align-items: flex-start;
	position: relative;
}
.introduction .idmain02 .idmainimg {
	width: 58%;
	margin-left: 2.5%;
	padding-right: 5%;
	position: relative;
	z-index: 1;
}
.introduction .idmain02 .idmainin {
	flex: 1;
	padding-left: 2.8%;
	position: relative;
	z-index: 1;
}
.introduction .idmain02 .idmainmess {
	display: flex;
	flex-direction: column;
	margin-bottom: 30px;
}
.introduction .idmain02 .idmainlogo {
	margin-bottom: 15px;
}
.introduction .idmain02 .idmaincap {
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
}
.introduction .idmain02 .idmainpop {
	padding-left: 20px;
}
.introduction .idmain02 .bgelect {
	bottom: calc(100% - 100px);
	left: -180px;
}
.introduction .idmain02 .bgpad {
	display: none;
}
.introduction .idmain02 .bgball {
	display: none;
}
.introduction .idmain02 .bgfnum {
	position: absolute;
	right: 3.8%;
	bottom: -35px;
	max-width: 192px;
	z-index: 0;
}

.introduction .introbox {
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
	position: relative;
}
.introduction .introblock {
	max-width: 1160px;
	margin: 0 auto;
	position: relative;
}
.introduction .introblock+.introblock {
	margin-top: 170px;
}
.introduction .introbox.reverse {
	flex-direction: row-reverse;
}
.introduction .introbox .idboximg {
	width: 58%;
	position: relative;
	z-index: 2;
}
.introduction .introbox .idboxnum {
	position: absolute;
	top: 0;
	left: calc(100% - 15px);
	max-width: 100px;
	display: block;
	z-index: 1;
}
.introduction .introbox.reverse .idboxnum {
	top: -30px;
	left: auto;
	right: calc(100% - 10px);
}
.introduction .introbox .idboxin {
	width: 42%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 100px 10px 0;
	position: relative;
	z-index: 1;
}
.introduction .introbox .idboxlogo {
	text-align: center;
}
.introduction .introbox .idboxcap {
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 18px;
	margin-top: 15px;
}
.introduction .introbox .idboxtit {
	font-size: 24px;
	color: #fff;
	font-weight: 700;
	margin-top: 35px;
}
.introduction .introbox .idboxtxt {
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	line-height: 2.18;
	text-align: center;
	margin-top: 20px;
}
.introduction .idone .idboxnum {
	width: 106px;
}
.introduction .idone .idboxbg {
	left: -180px;
	bottom: -260px;
	display: none;
}
.introduction .idtwo .idboxnum {
	width: 132px;
}
.introduction .idtwo .idboxbg {
	right: -170px;
	bottom: -300px;
}
.introduction .idtwo .idboxbg02 {
	display: none;
}
.introduction .idtwo .idboxbg03 {
	display: none;
}
.introduction .idthree .idboxnum {
	width: 130px;
}
.introduction .idthree .idboxbg {
	left: -180px;
	bottom: -90px;
}
.introduction .idthree .idboxbg02 {
	display: none;
}
.introduction .idthree .idboxbg03 {
	display: none;
}
.introduction .idfour .idboxnum {
	width: 136px;
}
.introduction .idfour .idboxbg {
	right: -160px;
	top: 40px;
}
.introduction .idfour .idboxbg02 {
	display: none;
}
.introduction .idfour .idboxbg03 {
	display: none;
}
.introduction .idfive .idboxnum {
	width: 130px;
}
.introduction .idfive .idboxbg {
	left: -180px;
	top: -160px;
}
.introduction .idfive .idboxbg02 {
	top: -40px;
	right: -180px;
}
.introduction .idfive .idboxbg03 {
	display: none;
}
.introduction .idfive .idboxbg04 {
	display: none;
}
.introduction .idfive .idboxbg05 {
	display: none;
}
.introduction .idsix .idboxnum {
	width: 130px;
}
.introduction .idsix .idboxbg {
	left: -180px;
	top: -230px;
}
.introduction .idsix .idboxbg02 {
	display: none;
}
.introduction .idseven .idboxnum {
	width: 130px;
}
.introduction .idseven .idboxbg {
	top: -20px;
	right: -160px;
}
.introduction .idseven .idboxbg04 {
	left: -180px;
	bottom: -140px;
}
.introduction .idseven .idboxbg02 {
	display: none;
}
.introduction .idseven .idboxbg03 {
	display: none;
}
.introduction .idseven .idboxbg05 {
	display: none;
}
.introduction .idseven .idboxlogo {
	width: 198px;
}
.introduction .facility {
	max-width: 1240px;
	margin: 0 auto;
	position: relative;
}
.introduction .facility .bgico01 {
	left: -160px;
	bottom: calc(100% - 110px);
}
.introduction .facility .bgico02 {
	bottom: calc(100% - 180px);
	right: -140px;
}
.introduction .facility .bgico03 {
	right: -140px;
	bottom: 0;
	max-width: none;
}
.introduction .facility .bgico04 {
	display: none;
}
.introduction .facility .bgico05 {
	display: none;
}
.introduction .facility .bgico06 {
	display: none;
}
.introduction .facility .bgico07 {
	display: none;
}
.introduction .facility .facitit {
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 25px;
	position: relative;
}
.introduction .facility .facibox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}
.introduction .facility .facibox li {
	width: calc((100% - 37%)/2);
	margin: 0 37% 0 0;
	position: relative;
}
.introduction .facility .facibox li:nth-child(2n) {
	margin-right: 0;
}
.introduction .facility .facibox li:nth-child(n+4) {
	margin-top: 140px;
}
.introduction .facility .facibox li.faciblock01 {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 300px;
	z-index: 0;
}
.introduction .facility .facibox li.faciblock02 {
	transform: translateY(20px);
}
.introduction .facility .facimess {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	position: relative;
	z-index: 1;
}
.introduction .facility .faciflor {
	align-self: flex-end;
	margin-right: 20px;
}
.introduction .facility .faciflor img {
	height: 57px;
}
.introduction .facility .facimessin {
	text-align: left;
}
.introduction .facility .facilogo {
	text-align: center;
	margin-bottom: 5px;
}
.introduction .facility .faciname {
	font-size: 16px;
	font-weight: 700;
	color: #fff;
}
.introduction .facility .faciinner {
	background: #152343;
	padding: 18px 16px 0;
	position: relative;
	z-index: 1;
}
.introduction .facility .faciimg {
	position: relative;
	margin-bottom: 5px;
}
.introduction .facility .faciimg img {
	width: 100%;
}
.introduction .facility .facilt {
	position: absolute;
	width: 20px;
	height: 20px;
	border-left: 5px #0086D1 solid;
	border-top: 5px #0086D1 solid;
	left: -10px;
	top: -10px;
	z-index: 0;
}
.introduction .facility .facirt {
	position: absolute;
	width: 20px;
	height: 20px;
	border-right: 5px #0086D1 solid;
	border-top: 5px #0086D1 solid;
	right: -10px;
	top: -10px;
	z-index: 0;
}
.introduction .facility .facilb {
	position: absolute;
	width: 20px;
	height: 20px;
	border-left: 5px #0086D1 solid;
	border-bottom: 5px #0086D1 solid;
	left: -10px;
	bottom: -10px;
	z-index: 0;
}
.introduction .facility .facirb {
	position: absolute;
	width: 20px;
	height: 20px;
	border-right: 5px #0086D1 solid;
	border-bottom: 5px #0086D1 solid;
	right: -10px;
	bottom: -10px;
	z-index: 0;
}
.introduction .facility .facidetail {
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	display: flex;
	min-height: 130px;
	padding: 5px 0;
	align-items: center;
	justify-content: center;
}
.introduction .facility .facinote {
	position: absolute;
	right: 0;
	bottom: 0;
	text-align: right;
	font-size: 16px;
	color: #fff;
	font-weight: 700;
	z-index: 1;
}
.introduction .facility .facinote a {
	color: #74C5FF;
	text-decoration: underline;
}
.introduction .facility .facinote a:hover {
	text-decoration: none;
}


@media (max-width: 1024px) {
.introduction .introbox .idboxin {
	padding: 20px 10px 0;
}
.introduction .introbox .idboxnum {
	top: auto;
	bottom: 100%;
}
.introduction .introbox.reverse .idboxnum {
	top: auto;
	bottom: 100%;
}
.introduction .introbox .idboxtxt {
	font-size: 13px;
}
.introduction .introbox .idboxtit {
	font-size: 20px;
}
.introduction .facility .facidetail {
	font-size: 12px;
}
.introduction .facility .facinote {
	font-size: 14px;
	max-width: 70%;
	padding: 0 10px;
}
}
@media (max-width: 767px) {
.introduction {
	padding: 90px 0 115px;
}
.introduction:before {
	background: url(../img/arrow_intro.svg) center center no-repeat;
	background-size: 96px 102px;
	width: 96px;
	height: 102px;
	top: 0;
	right: 20px;
	transform: translateY(-55px);
}
.introduction .hdl {
	padding: 0 10px;
}
.introduction .hdl .hdleng {
	max-width: 270px;
}
.introduction .introline {
	padding: 0 30px;
	margin: 90px 0;
}
.introduction .idbgico {
	width: 250px;
}
.introduction .idmain01 {
	margin: 0 auto 160px;
	flex-direction: column;
}
.introduction .idmain01 .idmainimg {
	width: auto;
	margin: 30px 0 0;
}
.introduction .idmain01 .idmainin {
	padding: 0 15px;
}
.introduction .idmain01 .idmainmess {
	margin-bottom: 40px;
}
.introduction .idmain01 .idmainlogo {
	margin-bottom: 10px;
	max-width: 270px;
}
.introduction .idmain01 .idmaincap {
	font-size: 14px;
}
.introduction .idmain01 .idmainpop {
	padding: 0;
}
.introduction .idmain01 .bgwave {
	top: -100px;
	bottom: auto;
	right: -30px;
}
.introduction .idmain01 .bgbear {
	top: auto;
	bottom: -110px;
	left: -50px;
}
.introduction .idmain01 .bgfnum {
	right: 30px;
	top: calc(100% - 35px);
	max-width: 106px;
}


.introduction .idmain02 {
	margin: 0 auto 30px !important;
	flex-direction: column;
	align-items: center;
}
.introduction .idmain02 .idmainimg {
	width: auto;
	margin: 30px 0 0;
	padding: 0;
}
.introduction .idmain02 .idmainin {
	padding: 0 15px;
}
.introduction .idmain02 .idmainmess {
	align-items: center;
	margin-bottom: 30px;
}
.introduction .idmain02 .idmainlogo {
	margin-bottom: 10px;
	max-width: 220px;
}
.introduction .idmain02 .idmaincap {
	font-size: 14px;
}
.introduction .idmain02 .idmainpop {
	padding: 0;
}
.introduction .idmain02 .bgswi {
	bottom: calc(100% - 30px);
	right: auto;
	left: -50px;
}
.introduction .idmain02 .bgelect {
	display: none;
}
.introduction .idmain02 .bgpad {
	display: block;
	left: -50px;
	top: -90px;
}
.introduction .idmain02 .bgball {
	display: block;
	left: -50px;
	bottom: -110px;
}
.introduction .idmain02 .bgfnum {
	right: 22px;
	bottom: -40px;
	max-width: 130px;
	z-index: 0;
}

.introduction .introbox {
	flex-direction: column;
	align-items: center;
	padding: 0 15px;
}
.introduction .introblock+.introblock {
	margin-top: 150px;
}
.introduction .introbox.reverse {
	flex-direction: column;
}
.introduction .introbox .idboximg {
	width: auto;
	position: relative;
	z-index: 2;
}
.introduction .introbox .idboxnum {
	top: auto;
	bottom: 100%;
	left: auto;
	right: 20px;
	max-width: 94px;
}
.introduction .introbox.reverse .idboxnum {
	top: auto;
	bottom: 100%;
	left: 3px;
	right: auto;
}
.introduction .introbox .idboxin {
	width: auto;
	flex-direction: column;
	align-items: center;
	padding: 40px 5px 0;
}
.introduction .introbox .idboxcap {
	font-size: 14px;
}
.introduction .introbox .idboxtit {
	font-size: 20px;
	margin-top: 20px;
	text-align: center;
}
.introduction .introbox .idboxtxt {
	line-height: 2;
	font-size: 15px;
}
.introduction .idone .idboxnum {
	width: 72px;
}
.introduction .idone .idboxbg {
	left: auto;
	right: -45px;
	bottom: auto;
	top: 60vw;
	display: block;
}
.introduction .idone .idboxlogo {
	width: 180px;
}
.introduction .idtwo .idboxnum {
	width: 93px;
}
.introduction .idtwo .idboxbg {
	right: auto;
	bottom: 100%;
	left: -50px;
}
.introduction .idtwo .idboxbg02 {
	display: block;
	right: -40px;
	bottom: -30px;
}
.introduction .idtwo .idboxbg03 {
	display: block;
	left: -50px;
	bottom: -90px;
}
.introduction .idtwo .idboxlogo {
	width: 260px;
}
.introduction .idthree .idboxnum {
	width: 90px;
}
.introduction .idthree .idboxbg {
	left: auto;
	right: -44px;
	bottom: auto;
	top: -190px;
	display: none;
}
.introduction .idthree .idboxbg02 {
	display: block;
	right: -40px;
	bottom: -40px;
}
.introduction .idthree .idboxbg03 {
	display: block;
	left: -50px;
	top: calc(100% - 60px);
}
.introduction .idthree .idboxlogo {
	width: 220px;
}
.introduction .idfour .idboxnum {
	width: 96px;
}
.introduction .idfour .idboxbg {
	left: -50px;
	right: auto;
	top: -110px;
	display: none;
}
.introduction .idfour .idboxbg02 {
	display: block;
	right: -45px;
	bottom: -100px;
}
.introduction .idfour .idboxbg03 {
	display: block;
	left: -55px;
	top: calc(100% - 80px);
}
.introduction .idfour .idboxlogo {
	width: 245px;
}
.introduction .idfive .idboxnum {
	width: 92px;
}
.introduction .idfive .idboxbg {
	left: auto;
	right: -45px;
	top: -120px;
	display: none;
}
.introduction .idfive .idboxbg02 {
	display: none;
}
.introduction .idfive .idboxbg03 {
	display: block;
	top: 50vw;
	right: -45px;
}
.introduction .idfive .idboxbg04 {
	display: block;
	left: -50px;
	bottom: -100px;
}
.introduction .idfive .idboxbg05 {
	display: block;
	right: -45px;
	bottom: -100px;
}
.introduction .idfive .idboxlogo {
	width: 243px;
}
.introduction .idsix .idboxnum {
	width: 92px;
}
.introduction .idsix .idboxbg {
	left: -50px;
	bottom: -100px;
	display: none;
}
.introduction .idsix .idboxbg02 {
	display: block;
	right: -45px;
	bottom: -60px;
}
.introduction .idsix .idboxlogo {
	width: 313px;
}
.introduction .idseven .idboxnum {
	width: 100px;
}
.introduction .idseven .idboxbg {
	top: auto;
	bottom: 0;
	right: -45px;
	display: none;
}
.introduction .idseven .idboxbg04 {
	display: none;
}
.introduction .idseven .idboxbg02 {
	display: block;
	left: -50px;
	bottom: calc(100% - 40px);
}
.introduction .idseven .idboxbg03 {
	display: block;
	left: -50px;
	bottom: -10px;
}
.introduction .idseven .idboxbg05 {
	display: block;
	right: -45px;
	top: calc(100% - 50px);
}
.introduction .idseven .idboxlogo {
	width: 182px;
}
.introduction .facility .bgico01 {
	left: -50px;
	bottom: calc(100% - 120px);
}
.introduction .facility .bgico02 {
	display: none;
}
.introduction .facility .bgico03 {
	display: none;
}
.introduction .facility .bgico04 {
	display: block;
	left: -50px;
	top: -90px;
}
.introduction .facility .bgico05 {
	display: block;
	right: -45px;
	top: calc(100% - 30px);
}
.introduction .facility .bgico06 {
	display: block;
	right: -45px;
	top: calc(100% - 30px);
}
.introduction .facility .bgico07 {
	display: block;
	left: -50px;
	top: calc(100% - 30px);
}
.introduction .facility .facitit {
	font-size: 20px;
	margin-bottom: 40px;
}
.introduction .facility .facibox {
	display: block;
}
.introduction .facility .facibox li {
	width: auto;
	padding: 0 20px;
	margin: 0 0 40px;
}
.introduction .facility .facibox li:nth-child(n+4) {
	margin-top: 0;
}
.introduction .facility .facibox li.faciblock01 {
	position: relative;
	left: auto;
	transform: translateX(0);
	top: auto;
}
.introduction .facility .facibox li.faciblock02 {
	transform: translateY(0);
}
.introduction .facility .facimess {
	justify-content: flex-start;
	padding: 0 15px;
}
.introduction .facility .faciinner {
	padding: 14px 13px 0;
}
.introduction .facility .facilt {
	width: 16px;
	height: 16px;
	border-left: 4px #0086D1 solid;
	border-top: 4px #0086D1 solid;
	left: -8px;
	top: -8px;
}
.introduction .facility .facirt {
	width: 16px;
	height: 16px;
	border-right: 4px #0086D1 solid;
	border-top: 4px #0086D1 solid;
	right: -8px;
	top: -8px;
}
.introduction .facility .facilb {
	width: 16px;
	height: 16px;
	border-left: 4px #0086D1 solid;
	border-bottom: 4px #0086D1 solid;
	left: -8px;
	bottom: -8px;
}
.introduction .facility .facirb {
	width: 16px;
	height: 16px;
	border-right: 4px #0086D1 solid;
	border-bottom: 4px #0086D1 solid;
	right: -8px;
	bottom: -8px;
}
.introduction .facility .facidetail {
	font-size: 13px;
	display: block;
	min-height: inherit;
	padding: 20px 5px;
	text-align: center;
}
.introduction .facility .facinote {
	position: relative;
	right: auto;
	bottom: auto;
	text-align: left;
	margin-top: 60px;
	max-width: none;
	padding: 0 20px;
	font-size: 16px;
}
}

.introduction .introsub {
	margin-top: 60px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
.introduction .introsub li {
	margin: 0 30px;
	position: relative;
}
.introduction .introsub .subimg {
	max-width: 458px;
	padding: 10px;
	position: relative;
}
.introduction .introsub .subimg .subdec01 {
	position: absolute;
	width: 20px;
	height: 20px;
	border-left: 5px #0086D1 solid;
	border-top: 5px #0086D1 solid;
	left: 0;
	top: 0;
	z-index: 0;
}
.introduction .introsub .subimg .subdec02 {
	position: absolute;
	width: 20px;
	height: 20px;
	border-right: 5px #0086D1 solid;
	border-top: 5px #0086D1 solid;
	right: 0;
	top: 0;
	z-index: 0;
}
.introduction .introsub .subimg .subdec03 {
	position: absolute;
	width: 20px;
	height: 20px;
	border-right: 5px #0086D1 solid;
	border-bottom: 5px #0086D1 solid;
	right: 0;
	bottom: 0;
	z-index: 0;
}
.introduction .introsub .subimg .subdec04 {
	position: absolute;
	width: 20px;
	height: 20px;
	border-left: 5px #0086D1 solid;
	border-bottom: 5px #0086D1 solid;
	left: 0;
	bottom: 0;
	z-index: 0;
}

.introduction .introsub .subcap {
	position: absolute;
	left: 0;
	top: calc(100% + 25px);
	font-weight: 500;
	padding: 0 10px;
	color: #fff;
	z-index: 0;
}
.introduction .introsub li+li {
	margin-top: 135px;
}
.introduction .introsub li+li .subcap {
	top: auto;
	bottom: calc(100% + 25px);
}

@media (max-width: 1024px) {
.introduction .introsub li {
	margin: 0 20px;
}
}
@media (max-width: 767px) {
.introduction .introsub {
	margin-top: 40px;
	display: block;
	padding: 0 25px;
}
.introduction .introsub li {
	margin: 0;
}
.introduction .introsub .subcap {
	position: relative;
	left: auto;
	top: auto;
	margin-top: 10px;
	font-size: 14px;
}
.introduction .introsub li+li {
	margin-top: 35px;
}
.introduction .introsub li+li .subcap {
	top: auto;
	bottom: auto;
}
}



/* add block
----------------------------------------------- */


/* add faq
----------------------------------------------- */
.faq {
	padding: 125px 0 150px;
	background: #E3E3E3;
	position: relative;
}
.faq .faqinner {
	max-width: 910px;
	margin: 0 auto;
	padding: 0 10px;
}
.faq .hdl {
	margin-bottom: 80px;
}
@media (max-width: 767px) {
.faq {
	padding: 50px 0;
}
.faq .hdl .hdleng {
	max-width: 66px;
}
.faq .hdl {
	margin-bottom: 30px;
}
}

.faq .faqfilter {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.faq .faqfilter li {
	width: calc((100% - 30px)/4);
	cursor: pointer;
	position: relative;
}
.faq .faqfilter .filterbox {
	background: #004EA8;
	padding: 2px;
	clip-path: polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px));
}
.faq .faqfilter .filterin {
	background: #E3E3E3;
	height: 78px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.265;
	clip-path: polygon(0 7px,7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px));
	color: #004EA8;
}
.faq .faqfilter li:hover .filterin,
.faq .faqfilter li.is-active .filterin {
	background: #004EA8;
	color: #fff;
}
.faq .faqfilter li:hover:before,
.faq .faqfilter li.is-active:before {
	position: absolute;
	content: "";
	left: 50%;
	top: calc(100% - 1px);
	transform:translateX(-50%);
	border-top: 20px solid #004EA8;
	border-bottom: 0;
	border-left: 13px solid transparent;
	border-right: 13px solid transparent;
	z-index: 1;
}
.faq .faqfilter li:nth-child(4n) {
	margin-right: 0;
}
.faq .faqfilter li.is-active {
}
.faq .faqcate .faqcatein {
	display: none;
}
.faq .faqcate .faqcatein.is-show {
	display: block;
}
.faq .faqbox+.faqbox {
	margin-top: 12px;
}
.faq .faqbox {
	background: #fff;
	overflow: hidden;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}
.faq .faqbox .faqico {
	color: #004EA8;
	font-size: 31px;
	line-height: 1.1;
	font-weight: 600;
	width: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	flex-shrink: 0;
	margin-right: 15px;
	align-self: flex-start;
}
.faq .faqbox .qbox {
	padding: 10px 40px 10px 15px;
	display: flex;
	align-items: center;
	cursor: pointer;
	position: relative;
}
.faq .faqbox .qbox:before {
	position: absolute;
	content: "";
	background: url(../img/down_faq.svg) center center no-repeat;
	right: 25px;
	top: 0;
	width: 15px;
	height: 100%;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	z-index: 1;
}
.faq .faqbox .qbox.on:before {
	background: url(../img/up_faq.svg) center center no-repeat;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	z-index: 1;
}
.faq .faqbox .qbox.on {
	background: #004DA8;
}
.faq .faqbox .qbox.on .qtxt {
	color: #fff;
}
.faq .faqbox .qbox .faqico {
	background: #fff;
	height: 40px;
	padding: 0 0 5px;
	clip-path: polygon(0 7px,7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px));
}
.faq .faqbox .qtxt {
	font-size: 16px;
	line-height: 1.625;
	font-weight: 700;
}
.faq .faqbox .abox {
	display: none;
	padding: 15px 30px 30px 15px;
}
.faq .faqbox .aboxin {
	display: flex;
	align-items: center;
}
.faq .faqbox .atxt {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
}
.faq .faqbox .atxt a {
	display: inline-block;
	color: #0068B3;
	text-decoration: underline;
}
.faq .faqbox .atxt a:hover {
	text-decoration: none;
}
.faq .faqbox .pdflink {
	display: inline-block;
	padding-left: 27px;
	background: url(../img/ico_pdf.svg) 0 center no-repeat;
}

@media (max-width: 767px) {
.faq .faqfilter {
	flex-wrap: wrap;
	margin-bottom: 15px;
}
.faq .faqfilter li {
	width: calc((100% - 8px)/2);
	margin: 0 0 10px;
}
.faq .faqfilter .filterin {
	height: 66px;
	font-size: 16px;
}
.faq .faqfilter li:hover:before,
.faq .faqfilter li.is-active:before {
	display: none;
}
.faq .faqcate .faqcatein.is-show {
	display: block;
}
.faq .faqbox+.faqbox {
	margin-top: 15px;
}
.faq .faqbox .faqico {
	font-size: 25px;
	width: 30px;
	margin-right: 10px;
}
.faq .faqbox .qbox {
	padding: 15px 35px 15px 10px;
}
.faq .faqbox .qbox:before {
	right: 15px;
}
.faq .faqbox .qbox .faqico {
	height: 30px;
	padding: 0;
}
.faq .faqbox .abox {
	padding: 20px 25px 20px 10px;
}
}


/* calender
----------------------------------------------- */
.guide .calender {
	margin-top: 50px;
}
.guide .calender .calenderhd {
	text-align: center;
	margin-bottom: 20px;
	font-size: 24px;
	font-weight: 700;
}
.guide .calender .calendernote {
	margin-top: 5px;
	display: flex;
	align-items: center;
}
.guide .calender .calendernote .noteico {
	background: #D1D1D3;
	border: 1px #45484D solid;
	width: 11px;
	height: 11px;
	margin-right: 5px;
	flex-shrink: 0;
}
.guide .calender .calendernote .noteico2 {
    background: #C1DEFE;
    border: 1px #004EA8 solid;
    width: 11px;
    height: 11px;
    margin-right: 5px;
    flex-shrink: 0;
}
.guide .calender .calendernote .notetxt {
	font-size: 13px;
	font-weight: 500;
	display: block;
	line-height: 1.2;
}
.guide .caleslider {
	margin: 0 -6px;
}
.guide .caleslider .slick-slide {
	padding: 0 5px;
	outline: none;
	text-align: center;
}
.guide .caleslider .slick-slide img {
	width: 290px;
	max-width: 100%;
}

@media (max-width: 767px) {
.guide .calender {
	max-width: 350px;
	padding: 0 30px;
	margin: 45px auto 0;
}
.guide .calender .calenderhd {
	font-size: 18px;
}
.guide .caleslider {
	margin: 0;
}
.guide .caleslider .slick-slide {
	padding: 0;
}
.guide .caleslider .slick-arrow {
	background: none;
	text-indent: -9999px;
	border: none;
	position: absolute;
	top: 50%;
	z-index: 1;
}
.guide .caleslider .slick-prev {
	background: url(../img/prev_calender.svg) center center no-repeat;
	width: 12px;
	height: 24px;
	left: -28px;
}
.guide .caleslider .slick-next {
	background: url(../img/next_calender.svg) center center no-repeat;
	width: 12px;
	height: 24px;
	right: -28px;
}
}


/* teaser
----------------------------------------------- */
.teaser {
	background: url(../img/bg_teaser.jpg) center center no-repeat;
	background-size: cover;
	height: 138px;
	position: relative;
}
.teaser:before {
	position: absolute;
	content: "";
	background: rgba(22,22,29,0.6);
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
@media (max-width: 767px) {
.teaser {
	height: 100px;
}
}



/* news
----------------------------------------------- */
.news .bgblue {
	background: #004EA8;
}
.news .bgred {
	background: #C00D1E;
}
.news .bggray {
	background: #45484D;
}

.newsblock {
	max-width: 910px;
	margin: 0 auto;
	padding: 90px 10px 130px;
}
.newsblock .hdl {
	margin-bottom: 40px;
}
@media (max-width: 767px) {
.newsblock {
	padding: 60px 10px 80px;
}
.newsblock .hdl {
	margin-bottom: 20px;
}
.newsblock .hdl .hdleng {
	width: 106px;
}
}

.newsbtn {
	max-width: 320px;
	margin: 0 auto;
}
.newsbtn a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 50px;
	font-size: 16px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 1px;
	background: #004EA8;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}
.newsblock .newsbtn {
	margin-top: 35px;
}
@media (max-width: 767px) {
.newsbtn a {
	font-size: 20px;
}
.newsblock .newsbtn {
	margin-top: 25px;
}
}

.newslist li {
	padding: 30px 20px 33px;
	display: flex;
	align-items: center;
	position: relative;
}
.newslist li:before {
	position: absolute;
	content: "";
	background: #ccc;
	width: 100%;
	height: 3px;
	left: 0;
	bottom: 0;
	transform: skewX(-45deg);
	z-index: 0;
}
.newslist .newsmess {
	width: 200px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	align-self: flex-start;
}
.newslist .newsmess .newscate {
	width: 62px;
	min-height: 18px;
	padding: 2px 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 11px;
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: 1px;
	font-family: 'Barlow', sans-serif;
	margin-right: 20px;
}
.newslist .newsmess .newsdate {
	font-size: 13px;
	font-weight: 500;
}
.newslist .newslink a {
	display: block;
	font-size: 16px;
	font-weight: 700;
}
@media (max-width: 767px) {
.newslist li {
	padding: 15px 5px 18px;
	display: block;
}
.newslist .newsmess {
	width: auto;
	margin-bottom: 10px;
}
.newslist .newsmess .newscate {
	margin-right: 10px;
}
}


/* wp-pagenavi
----------------------------------------------- */
.wp-pagenavi {
	margin-top: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.wp-pagenavi a,
.wp-pagenavi span {
	margin: 0 5px;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 14px;
	line-height: 1.2;
	color: #45484D;
	font-weight: 700;
}
.wp-pagenavi span {
	background: #004EA8;
	color: #fff;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	-o-border-radius: 2px;
	border-radius: 2px;
}
.wp-pagenavi a:hover {
	color: #004EA8;
}
.wp-pagenavi .extend {
	border: none;
	background: none;
	width: auto;
	color: #45484D;
	margin: 0 10px;
}
.wp-pagenavi .previouspostslink {
	margin: 0 10px;
	background: url(../img/prev_page.svg) center center no-repeat;
}
.wp-pagenavi .nextpostslink {
	margin: 0 10px;
	background: url(../img/next_page.svg) center center no-repeat;
}

@media (max-width: 767px) {
.wp-pagenavi {
	margin-top: 50px;
}
.wp-pagenavi a,
.wp-pagenavi span {
	margin: 5px;
}
}



/* news post
----------------------------------------------- */
.postblock {
	padding: 95px 10px 105px;
	max-width: 910px;
	margin: 0 auto;
}
.postblock .newsbtn {
	margin-top: 60px;
}
@media (max-width: 767px) {
	.postblock {
		padding: 45px 10px 90px;
	}
	.postblock .newsbtn {
		margin-top: 50px;
	}
}

.postcd {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 10px;
	margin-bottom: 10px;
}
.postcd .postcate {
	width: 62px;
	min-height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 1.2;
	font-family: 'Barlow', sans-serif;
}
.postcd .postdate {
	font-size: 14px;
	font-weight: 500;
}
.posthd {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 30px;
	padding: 0 10px 15px;
	position: relative;
}
.posthd:before {
	position: absolute;
	content: "";
	background: #ccc;
	width: 100%;
	height: 3px;
	left: 0;
	bottom: 0;
	transform: skewX(-45deg);
	z-index: 0;
}
.post-body {
	padding: 0 20px;
}
.post-body h2 {
	font-size: 20px;
	line-height: 1.5;
	font-weight: 700;
	margin: 15px 0;
}
.post-body .posttxt {
	margin: 20px 0;
}
.post-body .twocol {
	display: flex;
	margin: 10px 0;
}
.post-body .twocol li {
	width: calc((100% - 16px)/2);
	margin-right: 16px;
}
.post-body .twocol li:nth-child(2n) {
	margin-right: 0;
}
.post-body .twocol .colimg img {
	width: 100%;
}
.post-body .twocol .colcap {
	font-size: 13px;
	margin-top: 5px;
}
.post-body .threecol {
	display: flex;
	margin: 10px 0;
}
.post-body .threecol li {
	width: calc((100% - 16px)/3);
	margin-right: 8px;
}
.post-body .threecol li:nth-child(3n) {
	margin-right: 0;
}
.post-body .threecol .colimg img {
	width: 100%;
}
.post-body .threecol .colcap {
	font-size: 13px;
	margin-top: 5px;
}
.post-body .onecol {
	margin: 10px 0;
}
.post-body .onecol .colimg img {
	width: 100%;
}
.post-body .onecol .colcap {
	font-size: 13px;
	margin-top: 5px;
}
.post-body .floatbox {
	overflow: hidden;
	margin: 35px 0;
}
.post-body .floatleft {
	float: left;
	margin: 0 10px 20px 0;
	max-width: 49%;
}
.post-body .floatright {
	float: right;
	margin: 0 0 20px 10px;
	max-width: 49%;
}
.post-body .floattxt {
	font-size: 16px;
	font-weight: 500;
}
.post-body .floatbox .floatcap {
	font-size: 13px;
	margin-top: 5px;
	display: block;
}
.post-body .postlink {
	display: block;
	margin: 15px 0;
}
.post-body .postlink a {
	display: inline-block;
	position: relative;
	font-size: 16px;
	color: #0068B3;
	font-weight: 500;
	text-decoration: underline;
	padding: 0 0 0 12px;
}
.post-body .postlink a:hover {
	text-decoration: none;
}
.post-body .postlink a:before {
	position: absolute;
	content: "";
	background: url(../img/arrow_post.svg) center center no-repeat;
	width: 8px;
	height: 14px;
	left: 0;
	top: 5px;
	z-index: 0;
}
.post-body .postlink img {
	margin: 0 5px;
	display: inline-block;
	vertical-align: middle;
}
.post-body .postmv {
	margin: 15px 0;
}
.post-body .postmv .mvbox {
	position: relative;
	height: 0;
	width: 100%;
	padding-top: 56.25%;
}
.post-body .postmv .mvbox iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.post-body .postmv .mvcap {
	font-size: 13px;
	margin-top: 5px;
}

@media (max-width: 767px) {
.postcd {
	margin-bottom: 15px;
}
.posthd {
	margin-bottom: 25px;
}
.post-body {
	padding: 0;
}
.post-body .posttxt {
	padding: 0 10px;
}
.post-body .twocol {
	display: block;
	margin: 50px 0;
}
.post-body .twocol li {
	width: auto;
	margin-right: 0;
}
.post-body .twocol li+li {
	margin-top: 10px;
}
.post-body .threecol {
	display: block;
	margin: 50px 0;
}
.post-body .threecol li {
	width: auto;
	margin-right: 0;
}
.post-body .threecol li+li {
	margin-top: 10px;
}
.post-body .onecol {
	margin: 50px 0;
}
.post-body .floatbox {
	margin: 20px 0;
}
.post-body .floatleft {
	float: none;
	margin: 0 0 20px;
	max-width: none;
}
.post-body .floatright {
	float: none;
	margin: 0 0 20px;
	max-width: none;
}
.post-body .postmv {
	margin: 20px 0;
}
}

/* news detail
----------------------------------------------- */
.news .post-body .attention {
	text-indent: -0.75em;
	padding-left: 0.75em;
}

.news .post-body .attention2 {
	text-indent: -1.25em;
	padding-left: 1.25em;

}
.news .post-body .textindent1 {
	text-indent: -1em;
	padding-left: 1em;

}

.news .post-body table th {
	vertical-align: top;
	line-height: 1.76;
}
.news .post-body table td {
	line-height: 1.76;
}


.news .post-body .tableWrap table.tableLine {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #dadde0;
}

.news .post-body .tableWrap table.tableLine th {
	padding: 7px 10px;
	text-align: left;
	line-height: 1.76;
	border: 1px solid #dadde0;
	background: #f0f2f5;
}
.news .post-body .tableWrap table.tableLine thead th {
	text-align: center;
	font-weight: bold;
}

.news .post-body .tableWrap table.tableLine td {
	padding: 7px 10px;
	line-height: 1.76;
	border: 1px solid #dadde0;
}

.news .post-body a.mailLink {
	color: #0068B3;
	text-decoration: underline;
}
.news .post-body a.mailLink:hover {
	text-decoration: none;
}

.news .post-body h3 {
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
	margin: 15px 0;
}


@media (max-width: 767px) {
	.news .post-body table.clearTable, .post-body table.clearTable tr, .post-body table.clearTable tbody, .post-body table.clearTable th, .post-body table.clearTable td {
	    display: block;
	    width: 100%;
	    text-align: left;
	    box-sizing: border-box;
	}
	.news .post-body table.clearTable {
	    width: auto;
	    border: none;
	}
	.news .post-body table.clearTable th {
	    font-weight: bold;
	}

}



/* XXXXXXXX
----------------------------------------------- */


@media (max-width: 1024px) {

}
@media (max-width: 767px) {

}











