@charset "utf-8";
/* CSS Document */
/* !Reseting
---------------------------------------------------------- */
html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
	font-size: 62.5%; /*ベース10px*/
}
*, *:before, *:after {
  box-sizing: border-box;
}
header, footer, nav, main, section, aside, article {
	display: block;
}
body {
	background-color: #ffffff;
	color: #1b1b1b;
	font-family: "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	-webkit-text-size-adjust: none;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.6;
}
body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, th, td,
h1, h2, h3, h4, h5, h6,
form, figure, figcaption, fieldset, legend, textarea, pre, iframe, hr
{ margin: 0; padding: 0;}
h1, h2, h3, h4, h5, h6
{ font-size: 1.5rem; font-weight: 500;}
ul
{ list-style: none;}
input, select, textarea
{ margin: 0; font-size: 1.5rem; vertical-align: middle; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: none;
}
select::-ms-expand { display: none;}
button
{ padding: 0; border: 0; cursor: pointer; background: transparent;}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 1.5rem;}
fieldset, img
{ border: 0;}
img
{ max-width: 100%; height: auto; vertical-align: top;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: 500;}
caption, th
{ text-align: left;}
q:after, q:before
{ content:'';}
abbr
{ border: 0;}
/* !common
---------------------------------------------------------- */
.pc {display: none;}
.al--r {text-align: right;}
.al--l {text-align: left;}
.al--c {text-align: center;}
.mg--t5 {margin-top: 5rem}
.pd--l3 {padding-left: 3rem}
.texts p {margin-bottom: 2.5rem;}


/* !inner
---------------------------------------------------------- */
.sec {
	padding-top: 6rem;
	margin-bottom: 3rem;
}
.blk_side {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
.blk_botm {padding-bottom: 7rem;}

.blk_item {margin-bottom: 4.5rem;}

/* !title
---------------------------------------------------------- */
.ttl--wave {
	position: relative;
	padding-left: 4.6rem;
	margin-bottom: 4.5rem;
	font-weight: bold;
	font-size: 1.8rem;
}
.ttl--wave:before {
	display: inline-block;
    position: absolute;
    left: 0;
    top: 0.3rem;
	width: 3rem;
    height: 2rem;
	background-image: url("/assets/img/cmn/icon_wave_blu.svg");
    content: '';
}
.ttl--line {
	padding-bottom: 1.2rem;
	border-bottom: 1px dashed #8ca0af;
}
/* !text-list
---------------------------------------------------------- */
.blk_li_disc {
	display: flex;
    position: relative;
	margin-bottom: 1.5rem;
	padding-left: 1.8rem;
    line-height: 1.5em;
    letter-spacing: 0.2em;
}
.blk_li_disc:before {
    position: absolute;
	top: 0.4rem;
	left: 0;
	z-index: 2;
	content: '';
	width: 10px;
	height: 10px;
	border: 3px solid #8ca0af;
	border-radius: 100%
}
.blk_li_disc_num {
	padding-right: 1.5rem;
}

/* !header
---------------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 9.35rem;
  transition: .1s;
}
.header_wrp {position: relative;}
.header_wrp .header_logo {
	display: inline-block;
	width: 9.35rem;
    height: 9rem;
	background: url("/assets/img/cmn/header_logo01.png") no-repeat #ffffff;
	background-size: contain;
	transition: .2s;
}
.header_wrp .header_logo a {
    display: block;
	padding: 1.5rem;
	text-indent: -9999px;
    transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
/* !nav
---------------------------------------------------------- */
#g_nav {
	position: fixed;
    top: 0;
    right: 0;
	/*overflow-y: scroll;*/
	z-index: 1000;
    width: 28.2rem;
    height: 100%;
	padding-top: 9rem;
    background-color: #ffffff;
	transition: all 0.2s;
    transform: translate(28.2rem);
	/*-webkit-overflow-scrolling: touch;*/
   }
#g_nav .g_nav_li {
	border-top: 0.1rem solid #a6a6a6;
	transition: all 0.2s;
}
#g_nav .g_nav_li:last-child {
	border-bottom: 0.1rem solid #a6a6a6;
}
#g_nav .g_nav_li a {
	display: block;
	position: relative;
	padding: 3.3rem 1.5rem;
	color: #1b1b1b;
	text-decoration: none;
}
#g_nav .g_nav_li a:before {
	display: block;
	position: absolute;
    top: 45%;
    right: 1.5rem;
	width: 2rem;
    height: 0.75rem;
    background: url("/assets/img/cmn/icon_arrow_blu.svg") no-repeat;
    background-size: contain;
	content: '';
}
#g_nav .nav_cv {
	margin: 4rem 2rem;
	transition: all 0.2s;
}
#g_nav.open {transform: translate(0);}
/*   sp__button   */
.btn_menu {
    display: block;
	position: absolute;
    top: 1rem;
    right: 2rem;
    z-index: 1001;
	width: 2.8rem;
    color: #ffffff;
}
.btn_menu .bar3 {width: 2rem;}
/*   Hamburger__line   */
.btn_menu span.bar {
    display: block;
    height: 0.3rem;
	margin: 0.75rem 0;
	border-radius: 0.15rem;
    background-color: #ffffff;
    transition: all 0.2s;
    transform-origin: 0 0;
}
.btn_menu .close {
	display: none;
    letter-spacing: 0.08em;
}
.btn_menu .menu {display: block;}
/*  active  */
.btn_menu.active span.bar {
    width: 4rem;
	background-color: #1b1b1b;
}
.btn_menu.active .bar1 {transform: rotate(33deg);}
.btn_menu.active .bar2 {opacity: 0;}
.btn_menu.active .bar3 {transform: rotate(-33deg);}
.btn_menu.active .menu {display: none;}
.btn_menu.active .close {display: block;}
div.overlay {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	height: 100%;
	background-color: rgba(51,51,51,.5);
}
/* !header-animation
---------------------------------------------------------- */
header.is-animation {
	height: 5.4rem;
	background: #ffffff;
	box-shadow: 0px 0px 2px 0px #1b1b1b;
}
header.is-animation .btn_menu {top: 0.5rem;}
header.is-animation .btn_menu span.bar {background-color: #1b1b1b;}
header.is-animation .header_logo {
	width: 16.65rem;
	height: 5.4rem;
	margin-left: 1.5rem;
	background: url("/assets/img/cmn/header_logo02.png") no-repeat left center;
	background-size: contain;
}
header.is-animation #g_nav {
	margin-top: 5.4rem;
	padding-top: 0;
}

/* !btn
---------------------------------------------------------- */
.info_btn {
	display: inline-block;
	padding: 1rem 7rem;
	border: 0.1rem solid #8ca0af;
	border-radius: 3rem;
	background: url("/assets/img/cmn/icon_arrow_blu.svg") #f4f4f4 no-repeat right 2.7rem center;
    background-size: 3rem auto;
    -ms-background-size: 3rem auto;
    -moz-background-size: 3rem auto;
    -webkit-background-size: 3rem auto;	
	color: #1b1b1b;
	font-weight: bold;
	text-decoration: none;
	transition: all 0.2s;
}
.info_btn:hover {
    opacity: 0.8;
    text-decoration: none;
    background: url("/assets/img/cmn/icon_arrow_blu.svg") #f4f4f4 no-repeat right 2rem center;
    background-size: 3rem auto;
    -ms-background-size: 3rem auto;
    -moz-background-size: 3rem auto;
    -webkit-background-size: 3rem auto;
}
.cv_btn {
	position: relative;
	display: block;
	padding: 2rem 2rem 1.5rem 2rem;
	background: #ffc000;
	border-radius: 10rem;
	font-weight: bold;
	color: #1b1b1b;
	text-align: center;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}
.cv_btn:after {
	position: absolute;
    top: 26%;
    left: 2.7rem;
	width: 2.5rem;
    height: 2.5rem;
    background: url("/assets/img/cmn/icon_mail_wht.svg") no-repeat;
    background-size: contain;
	content: '';
}
.cv_btn:hover {
	opacity: 0.8;
}

/* !blk__base_table
---------------------------------------------------------- */
.blk__tbl__cell__th {
	padding: 1rem;
	background-color: #dde3e7;
	font-size: 1.6rem;
	font-weight: bold;
}
.blk__tbl__cell__td {
	padding: 1rem;
	background-color: #f4f4f4;
}
/* !footer
---------------------------------------------------------- */
footer .footer_menu_box {background-color: #8ca0af;}
footer .footer_menu .menu_list a {
	display: block;
	position: relative;
	padding: 1.5rem;
	border-bottom: 0.1rem solid #ffffff;
	color: #ffffff;
	font-size: 1.1rem;
	text-decoration: none;
}
footer .footer_menu .menu_list a:before {
	display: block;
	position: absolute;
    top: 40%;
    right: 1.5rem;
	width: 2rem;
    height: 0.75rem;
    background: url("/assets/img/cmn/icon_arrow_wht.svg") no-repeat;
    background-size: contain;
	content: '';
}
footer .copyrights__logo {
    width: 14.76rem;
    height: auto;
    padding: 4.3rem 0 2.2rem;
	margin: 0 auto;
}
footer .copyrights__txt {
	padding-bottom: 3.5rem;
	color: #aeafaf;
	font-size: 1rem;
	text-align: center;
}
@media(max-width: 374px) {/*374px以下*/
	#g_nav {
    width: 100%;
    transform: translate(40rem);
   }/*374px*/
}
/* ---------------------------------------------------------- */
/* !PC&TABLET                                                      */
/* ---------------------------------------------------------- */
@media screen and (min-width: 768px) {
/* !common
---------------------------------------------------------- */
body {font-size: 1.5rem;}

/* !inner
---------------------------------------------------------- */
.sec {
	padding-top: 12rem;
	margin-bottom: 4rem;
}
.blk_side {
	margin: 0 auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	max-width: 103rem;
}
.blk_side_pc {
	margin: 0 auto;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	max-width: 85rem;
}
.blk_botm {padding-bottom: 7rem;}
/* !blk__base_table
---------------------------------------------------------- */
.blk__tbl__cell {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	}
	
.blk__tbl__cell__th {
	width: 32%;
	padding: 4rem;
	margin-bottom: 0.8rem;
	font-size: 1.8rem;
	font-weight: bold;
}
.blk__tbl__cell__td {
	width: 67%;
	padding: 4rem;
	margin-bottom: 0.8rem;
}
/*-------------------------------------------*/
.flex {
	display: flex;
	justify-content: space-between;
	align-content: center;
	align-self: center;
	align-items: center
	}
/* !footer
---------------------------------------------------------- */
footer .footer_menu {
	width: 100%;
	height: 11.4rem;
	}
footer .footer_menu .menu_list a {
	padding: 1rem 0;
	border-bottom: none;
	font-weight: bold;
	font-size: 1.5rem;
}
footer .footer_menu .menu_list a:before {display: none;}
footer .copyrights__logo {width: 17.6rem;}

footer .text_link {
	display: inline-block;
	position: relative;
	text-decoration: none;
}
footer .text_link:after {
  position: absolute;
  content: '';
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #ffffff;
  transition: all 0.5s ease 0s;
}
footer .text_link:hover {
  cursor: pointer;
}
footer .text_link:hover:after {
  width: 100%;
}	
}/*769px*/

@media screen and (min-width: 950px) {
.pc {display: block;}
.sp {display: none;}
/* !nav
---------------------------------------------------------- */
.header_wrp {
	width: auto;
	max-width: 103rem;
	margin: 0 auto;
	}
.header_wrp .header_logo {
	width: 15rem;
    height: 15rem;
}
#g_nav {
	display: flex;
	justify-content: space-between;
	align-self: center;
	position: absolute;
    width: auto;
    height: auto;
	margin-top: 3rem;
	overflow-y: auto;
	padding-top: 0;
    background-color: transparent;
	transition: all 0s;
    transform: translate(0rem);
   }
/*   sp__button   */
.btn_menu {display: none;}
#g_nav .g_nav_ul {
	display: flex;
	justify-content: space-between;
	align-self: center;
	}
#g_nav .g_nav_li {
	margin-left: 1rem;
	padding: 0 0 0 2rem;
	border-top: none;
}
#g_nav .g_nav_li:last-child {
	margin-left: 1rem;
	border-bottom: none;
}
#g_nav .g_nav_li a {
	color: #ffffff;
	font-weight: bold;
}
#g_nav .g_nav_li a:before {display: none;}
	
#g_nav .nav_cv {
	margin: 2rem 0 0 3rem;
}
#g_nav .nav_cv .cv_btn {
	padding: 1.5rem 3rem 1rem 7rem;
	color: #ffffff;
	}
	
/* !header-animation
---------------------------------------------------------- */
header.is-animation {height: 10rem;}
header.is-animation .header_wrp {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	}
header.is-animation .header_logo {
	width: 20rem;
	height: 4.5rem;
	margin-top: 2.5rem;
	background: url("/assets/img/cmn/header_logo02.png") no-repeat left center;
	background-size: contain;
}
header.is-animation #g_nav {
	margin-top: 0;
	padding-top: 0;
}
header.is-animation #g_nav .g_nav_li a {
	color: #1b1b1b;	
}
header.is-animation #g_nav .g_nav_li a:hover {
	opacity: 0.8;
	}
header.is-animation #g_nav .g_nav_li {
	margin-top: 1rem;	
	}
header.is-animation	#g_nav .nav_cv .cv_btn {
	color: #1b1b1b;
	text-decoration: none;
	}
header.is-animation	#g_nav .nav_cv {
	margin: 3rem 0 0 3rem;
	}
}/*950px*/