@charset"UTF-8";
@import url("vendor/icomoon.css?ver=1");

:root {
	--color-font-base: #333333;
	--color-font-white: #fff;
  --color-font-pattern1: #00979C;
	--color-bg-base: #333333;
	--color-bg-white: #fff;
  --color-bg-pattern1: #00979C;
  --color-bg-pattern2: #FFFFA3;
  --color-bg-pattern3: #F2FAFA;
  --color-bg-pattern4: #FAF4BC;
	--color-border-base: #333333;
	--color-border-white: #fff;
  --color-border-pattern1: #00979C;
}

/**************************************
 * Common Styles
 **************************************/
html {
	font-size: 18px;
	box-sizing: border-box;
	height: 100%;
}
@media screen and (min-width: 1025px) and (max-width: 1149px) {
	html{
		font-size: 17px;
	}
}
@media screen and (max-width: 1024px) {
	html{
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	html{
		font-size: 16px;
	}
}
body{
	font-family: 'Zen Maru Gothic','Hiragino maru Gothic ProN','游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ',Arial ,sans-serif;
	background-color: var(--color-bg-white);
	color: var(--color-font-base);
	font-weight: normal;
	font-weight: 400;
	font-style: normal;
	line-height: 1.65;
	letter-spacing: 0.02em;
}
p{
	word-break:break-all;
	letter-spacing: 0.03em;
	line-height: 1.65;
}
hr {
	margin: 0;
	border-top:1px solid white;
	color: inherit;
}
img{
	vertical-align: bottom;
}
img.full{
	width:100%;
	height: auto;
}
a {
	text-decoration: none;
	cursor: pointer;
	color: inherit;
	background: 0 0;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	letter-spacing: 0.03em;
}
a:link{
	color: inherit;
	text-decoration: none;
	outline: none;
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
}
a:focus,
a:visited,
a:active {
	color: inherit;
	text-decoration: none;
	outline: none;
}
a:hover{
	cursor: pointer;
	opacity: 0.8;
}
a.decoration{
	display: inline-block;
  text-decoration: underline;
}
a img {
	border: none;
	text-decoration: none;
}
a.img-wrap{
	display: inline-block;
	line-height: 1;
	vertical-align: bottom;
}
a.img-wrap img,
a.img-wrap svg
{
	display: block;
	margin: 0;
	padding: 0;	
	vertical-align: bottom;
}

.container-full {
	position: relative;
	display: block;
	width:100%;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.container-full {
	  padding-right: 0px;
	}
}
.sr-text{
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}
.lang-en{
	word-break: normal;
}

/* common font
============================================== */
strong {
	font-weight: 500;
}

/* common color
============================================== */

/* common width
============================================== */
.wd1140{width:100%;max-width:1140px;margin-right: auto;margin-left: auto;}
.wd978{width:100%;max-width:978px;margin-right: auto;margin-left: auto;}
.wd962{width:100%;max-width:962px;margin-right: auto;margin-left: auto;}
.wd930{width:100%;max-width:930px;margin-right: auto;margin-left: auto;}
.wd880{width:100%;max-width:880px;margin-right: auto;margin-left: auto;}
.wd800{width:100%;max-width:800px;margin-right: auto;margin-left: auto;}
.wd766{width:100%;max-width:766px;margin-right: auto;margin-left: auto;}
.wd750{width:100%;max-width:750px;margin-right: auto;margin-left: auto;}
.wd690{width:100%;max-width:750px;margin-right: auto;margin-left: auto;}
.wd640{width:100%;max-width:640px;margin-right: auto;margin-left: auto;}
.wd600{width:100%;max-width:600px;margin-right: auto;margin-left: auto;}
@media screen and (max-width: 767px) {
	.wd1140{max-width:600px}
	.wd978{max-width:978px}
	.wd962{max-width:600px}
	.wd930{max-width:930px}
	.wd880{max-width:880px}
	.wd800{max-width:800px}
	.wd766{max-width:766px}
	.wd750{max-width:750px}
	.wd690{max-width:690px}
	.wd640{max-width:640px}
	.wd600{max-width:600px}
}

/* site
============================================== */
h1, h2, h3, h4, h5, h6{
	font-weight: 500;
}
.l-wrapper {
	height: 100%;
	width: 100%;
}
.l-container {
	display:block;
	margin: 0 auto;
	min-height: 100vh;
	width: 100%;
}
.l-main__wrapper {
	display:block;
	height: 100%;
	width: 100%;
}
.l-main__container {
	height: 100%;
	margin: 0 auto;
	position: relative;
	width: 100%;
	min-height:500px;
}
.l-main__container{
	padding-top:128px;
}
@media screen and (min-width: 768px) and (max-width: 1030px) {
	.l-main__container{
		padding-top:130px;
	}
}
@media screen and (max-width: 767px) {
	.l-main__container{
		padding-top:95px;
	}
}

/***********************************************
   Common styles
***********************************************/

/* common:animation
============================================== */
.cover,
.cover_fast{
  position: relative;
}
.cover::after,
.cover_fast::after{
  content: "";
  display: block;
  position: absolute;
  background: white;
  width: 100%;
  height: 103%;
  top:-1%;
  right:0;
  transition-property: width;
  transition-duration: 1.1s;
  transition-delay: .5s;
}
.cover_fast::after{
  transition-duration: .8s;
  transition-delay: 0;
}
.cover.show::after,
.cover_fast.show::after{
  width: 0;
}
.fade_fast-list .fade-list-item,
.fade_fast,
.fade-list .fade-list-item,
.fade{
  opacity: 0;
  transition-duration: 0.26s;
  transition-property: opacity;
}
.fade-list .fade-list-item,
.fade{
  transition-duration: 1s;
}
.fade_fast-list .fade-list-item.show,
.fade-list .fade-list-item.show,
.fade_fast.show,
.fade.show{
  opacity: 1;
}

/* common:table
============================================== */
.table{
	width:100%;
}
.table .tr{
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;	
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: transparent;
  min-height: 50px;
}
.table .tr:first-child{
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: transparent;
}
.table .th{
  display: -ms-flexbox;
  display: flex;
	width: 156px;
	max-width: 156px;
	-ms-flex: 0 0 156px;
	flex: 0 0 156px;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-pack: center;
  justify-content: center;  
  align-items: center;
  font-weight: 500;
  padding:1em;
  background-color: #00979C;
	color: white;
}
.table .td{
  display: -ms-flexbox;
  display: flex;
	-ms-flex: 0 0 calc(100% - 156px);
	flex: 0 0 calc(100% - 156px);
	width: calc(100% - 156px);
	max-width: calc(100% - 156px);
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
  align-items: center;
  padding:1em;
  background-color: #F2FAFA;
}
.table.type-2 .td{
}
.table .tr{
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: transparent;
}
.table .tr:first-child{
	border-top: none;
}
@media screen and (max-width: 767px) {
  .table .tr{
    border-bottom: none;
  }
  .table .tr:first-child{
    border-top: none;
  }
  .table .th{
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    padding-top: 0.3em;
    padding-bottom: 0.4em;    
  }
  .table .td{
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}

/* common:heading
============================================== */
[class*="h-type-"] .text{
	display: inline-block;
}
/* image file's title */
.h-type-1{
	position: relative;
	display: inline-block;
	width: 100%;
	overflow: hidden;
	text-align: center;
	line-height: 1;
}
.h-type-1 > .image{
	position: relative;
	display: inline-block;
  width: 100%;
  max-width: 406px;
}
/* ribbon's title */
.h-type-2{
	position: relative;
	display: inline-block;
	width: 100%;
	overflow: hidden;
	text-align: center;
	line-height: 1;
}
.h-type-2 > .label-wrap{
	position: relative;
	display: inline-block;
  aspect-ratio: 506 / 170;
  width: 100%;
  max-width: 506px;
  height: auto;
	background-image: url("../img/common_bg_section-title.svg");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
}
.h-type-2 .text-ja{
  position: relative;
	display: inline-block;
  /*font-size: 26px;**/
  font-size: 1.0833rem;
  font-weight: 500;
	line-height: 1;
  margin-top:0.95em;
  padding-right: 3.1620%;
  width: 69.1699%;
  height: auto;
	z-index: 1;
	text-align: center;
	letter-spacing: 0.1em;
}
.h-type-2.justify .text-ja{
  min-width: 122px;
  width: 3em;
  text-align:justify;
  text-align-last:justify;
}
.h-type-2 .text-en{
  position: absolute;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  -ms-flex-align: start !important;
  align-items: flex-start !important;
  /*font-size: 20px;**/
  font-size: 0.8333rem;
  font-weight: 500;
	line-height: 1;
  top:2.7em;
  left: 13.8339%;
  width: 69.1699%;
  height: auto;
	z-index: 1;
  overflow: hidden;
}
.h-type-2 .text-en .text{
  position: relative;
  display: inline-block;
  height: auto;
	text-align: center;
	letter-spacing: 0.02em;
	line-height: 1.4;
  padding-left: 2.6em;
  padding-right: 2.7em;
}
.h-type-2 .text-en .text::before,
.h-type-2 .text-en .text::after{
  position: absolute;
  display: inline-block;
  height: auto;
  content: "\30FC\30FC";
  letter-spacing: 0.2em;
  top:0.05em;
  z-index: 2;
}
.h-type-2 .text-en .text::before{
  left:0;
}
.h-type-2 .text-en .text::after{
  right:0;
}
/* - text - sub title */
.h-type-3{
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 100%;
	text-align: center;
}
.h-type-3 .text-wrap{
  position: relative;
	display: inline-block;
	/*font-size: 30px;**/
	font-size: 1.2500rem;
	letter-spacing: 0.01em;
  padding-left: 0.91em;
  padding-right: 0.9em;
}
.h-type-3 .text{
	display: inline-block;
  min-width: 200px;
  text-align:justify;
  text-align-last:justify;
  font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.01em;
}
.h-type-3 .text::before,
.h-type-3 .text::after{
  position: absolute;
  display: inline-block;
  top:0;
  content: "-";
}
.h-type-3 .text::before{
  left:0;
}
.h-type-3 .text::after{
  right: 0;
}
@media screen and (max-width: 1024px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .h-type-1 > .image{
    max-width: 300px;
  }
  .h-type-2 > .label-wrap{
    max-width: 300px;
  }
  .h-type-2 .text-ja{
    font-size: 16px;
  }
  .h-type-2.justify .text-ja{
    min-width: 72px;
  }
  .h-type-2 .text-en{
    font-size: 12px;
  }
  .h-type-3 .text-wrap{
    font-size: 20px;
  }
  .h-type-3 .text{
    min-width: 82px;
  }  
}
@media screen and (max-width: 767px) {
  .h-type-1 > .image{
    max-width: 220px;
  }
  .h-type-2 > .label-wrap{
    max-width: 260px;
  }
  .h-type-2 .text-ja{
    font-size: 13px;
  }
  .h-type-2.justify .text-ja{
    min-width: 63px;
  }
  .h-type-2 .text-en{
    font-size: 10px;
  }
  .h-type-3 .text-wrap{
    font-size: 17px;
  }
  .h-type-3 .text{
    min-width: 70px;
  }  
}

/***********************************************
   Site common styles
***********************************************/
@media screen and (max-width: 1024px) {
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
@media screen and (max-width: 767px) {
}

/* l-header
============================================== */
.l-header{
	background-color: var(--color-bg-white);
  position: fixed;
  top: 0;
	left: 0px;
  transition: .3s;
  width: 100%;
	z-index: 99999;
} 
.l-header.hide{
  transform: translateY(-100%);
}
.l-header .l-header__nav{
  transition: .3s;
}
.l-header.hide .l-header__nav{
  transform: translateY(100%);
  background-color: var(--color-bg-white);
  color: var(--color-font-base);
}
.l-header__topWrap{
  height: 5rem;
}
@media screen and (max-width: 767px) {
  .l-header__topWrap{
    height: 5.45rem;
  }
}
.l-header__logo{
	display: inline-flex;
  line-height: 1;
	position: relative;
	z-index: 2;
}
.l-header__logo a{
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -ms-flex-direction: row !important;
  flex-direction: row !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
  -ms-flex-align: start !important;
  align-items: flex-start !important;
}
.l-header__logoWrap{
  font-weight: normal;
  width:100%;
  /*min-width:564px;*/
  position: relative;
  overflow: visible;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -ms-flex-direction: row !important;
  flex-direction: row !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
  -ms-flex-align: start !important;
  align-items: flex-start !important;
}
.l-header__logoMark{
  margin-left:5px;
  width:234px;
}

.l-header__links{
  border-radius: 0.5rem;
  margin-top:0.5rem;
  background-color: #FFFFA3;
  width:100%;
  max-width: 21.2222rem;
  padding-top:0.4rem;
  padding-bottom:0.5rem;
  padding-left:0.4rem;
  padding-right:0.5rem;
}
.l-header__links .number,
.l-header__links .number a{
  font-weight: 500;
  color: #00979C;
  line-height: 1;
  letter-spacing: 0.04em;
  text-align: center;
}
.l-header__links .number .text{
  font-size: 0.8888rem;
  margin-right:0.3em;
}
.l-header__links .number .num{
  font-size: 1.2222rem;
}
.l-header__links .desc{
  margin-top:0.4rem;
  font-weight: 500;
  color: #231815;
  line-height: 1.2;
  font-size: 0.7222rem;
  letter-spacing: 0em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-header__links {
    margin-top: 0;
    max-width: 11.2222rem;
    padding-left: 0.4rem;
    padding-right: 0.5rem;
    padding-top:0.35rem;
    padding-bottom:0.45rem;
    transform: translate(0%, -13px);
  }
  .l-header__links .desc {
    margin-top: 0.3rem;
    font-size: 10px;
  }  
}
@media screen and (max-width: 342px) {
  .l-header__links {
    max-width: 9.2222rem;
  }  
  .l-header__links .number .text {
    font-size: 0.6rem;
  }
  .l-header__links .number .num {
    font-size: 1.0rem;
  }
  .l-header__links .desc {
    margin-top: 0.2rem;
    font-size: 0.5rem;
  }  
}
  
/* Smart Phone - Tablet style */
@media screen and (max-width: 1024px) {
}
/* Tablet - only style  (768 - iPad Pro[1024]) */
@media screen and (min-width: 768px) and (max-width: 1030px) {
  .l-header__top {
    height: 90px;
  }
  .l-header__logo {
    transform: translate(0%, 0px);
  }
  .l-header__logoMark {
    margin-left: 0;
    width: 130px;
  }
}
/* Smart Phone - only style */
@media screen and (max-width: 767px) {
  .l-header__top {
    height: 55px;
  }
  .l-header__logo {
    transform: translate(0%, -12px);
  }
  .l-header__logoMark {
    margin-left: 0;
    width: 130px;
  }

}


/* nav
============================================== */
.l-header__nav{
	/*font-size: 15px;**/
	font-size: 0.8820rem;
  color: var(--color-font-base);
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  background-color: var(--color-bg-white);
  height:2.117rem;
}
.l-header__nav__list {
  position: relative;
	font-weight: 500;
  padding-top:0.2em;
  padding-bottom:0.4em;
	letter-spacing: 0.1em;
	line-height: 1;
  text-align: center;
  width: 100%;
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
  -ms-flex-align: center !important;
  align-items: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  overflow-x: scroll;
  white-space: nowrap;
  -ms-overflow-style: none;
  scrollbar-width: none;
  z-index: 2;
}
.l-header__nav__list:-webkit-scrollbar {
  display: none;
}
.l-header__nav__listItem{
	position: relative;
  white-space: nowrap;
	overflow: visible;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-align: center !important;
	align-items: center !important;
	padding-left:1em;
	padding-right:1em;
}
.l-header__nav__listItem:first-child{
  padding-left:0!important;
}
.l-header__nav__listItem:last-child{
  padding-right:0!important;
}
.l-header__nav__listLabel{
	position: relative;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-align: center !important;
	align-items: center !important;
	cursor: pointer;
	color: var(--color-font-base);
	padding-left:0.8em;
	padding-right:0.8em;
  line-height: 2;
}
/* Smart Phone - Tablet style */
@media screen and (max-width: 1024px) {
	.l-header__nav{
		font-size: 16px;
    height: 40px;
	}
	.l-header__nav__listItem{
		padding-left:0.6em;
		padding-right:0.6em;
	}
}
/* Tablet - only style  (768 - iPad Pro[1024]) */
@media screen and (min-width: 768px) and (max-width: 1024px) {
}
/* Smart Phone - only style */
@media screen and (max-width: 767px) {
  .l-header__nav{
		font-size: 13px;
    height: 40px;
  }
	.l-header__nav__listItem{
		padding-left:0;
		padding-right:0;
	}
	.l-header__nav__list{
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
    padding-left:0.3em;
    padding-right:0.3em;
    height: 40px;
	}
}
@media screen and (max-width: 342px) {
  .l-header__nav::after{
    color:inherit;
    position: absolute;
    top:0;
    right:16px;
    background-color: rgba(255,255,255,0.45);
    height:28px;
    width:18px;
    padding-top:0.23em;
    text-align: right;
    z-index: 3;  
    font-size: 1.7em;
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e939";
  }
	.l-header__nav__list{
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
	}
}


/* footer
============================================== */
.l-footer{
	padding-top:3.3888rem;
  padding-bottom:2rem;
  background-color: var(--color-bg-pattern1);
  color: var(--color-font-white);
}
.l-footer a {
  color: var(--color-font-white);
}
.l-footer .logo{
  display: inline-block;
  line-height: 1;
}
.l-footer .logo img{
  width:13.0555rem;
}
.l-footer .address{
  margin-top:0.2rem;
  font-size: 13px;
}
.l-footer .contact{
  border-radius: 0.5rem;
  margin-top:0.5rem;
  background-color: #FFFFA3;
  width:100%;
  max-width: 12.6rem;
  padding-top:0.5rem;
  padding-bottom:0.7777rem;
}
.l-footer .contact .number,
.l-footer .contact .number a{
  font-weight: 500;
  color: #00979C;
  line-height: 1;
  letter-spacing: 0.04em;
}
.l-footer .contact .number .text{
  font-size: 0.9444rem;
  margin-right:0.4em;
}
.l-footer .contact .number .num{
  font-size: 1.2222rem;
}
.l-footer .contact .desc{
  margin-top:0.2777rem;
  margin-bottom:0.3888rem;
  font-weight: 500;
  color: #231815;
  line-height: 1.2;
  font-size: 0.7222rem;
}
.l-footer__copyright{
  margin-top:1rem;
	font-size: 0.6666rem;
	width: 100%;
}
.l-footer__nav{
  width:100%;
  max-width: 33.8888rem;
}
.l-footer__navlist{
	-ms-flex: 0 0 11.1111rem;
	flex: 0 0 11.1111rem;
	width: 11.1111rem;
	max-width: 11.1111rem;
}
.l-footer__navlist a{
  padding-top:0.2em;
  padding-bottom:0.2em;
  display: inline-block;
  width:calc(100% - 1.5rem);
}
@media screen and (max-width: 767px) {  

  .l-footer__navlist{
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
  
}

/* common
============================================== */
.c-bg-1{
  background-color: var(--color-bg-pattern3);
  padding-bottom:4.5555rem;
}
.copy-type-1{
  font-size: 1.6666rem;
  font-weight: 500;
  line-height: 2;
}
.lead-type-1{
  font-size: 1.1250rem;
  line-height: 2;
}
.title-type-1{
  font-size: 1.6666rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color:var(--color-font-pattern1);
}
.title-type-1 .text{
  position: relative;
  display: inline-block;
  line-height: 1
}
.title-type-1 .text::before,
.title-type-1 .text::after{
  position: absolute;
  content: "";
  display: block;
  width:2.8888rem;
  height: 1px;
  background-color:var(--color-bg-pattern1);
  z-index: 1;
  top:0.8333rem;
}
.title-type-1 .text::before{
  left:-3.66rem;
}
.title-type-1 .text::after{
  right:-3.66rem;
}
.title-type-2{
  font-size: 1.4444rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  color:var(--color-font-pattern1);
}
.title-type-2 .text{
  position: relative;
  display: inline-block;
  line-height: 1.26;
}
.title-type-2 .text::before,
.title-type-2 .text::after{
  position: absolute;
  content: "";
  display: block;
  width:2.8888rem;
  height: 1px;
  background-color:var(--color-bg-pattern1);
  z-index: 1;
  top:50%;
}
.title-type-2 .text::before{
  left:-3.66rem;
}
.title-type-2 .text::after{
  right:-3.66rem;
}
.title-type-3{
  font-size: 1.2777rem;
  font-weight: 500;
  color:var(--color-font-pattern1);
  line-height: 1;
  text-align: center;
}
.title-type-4{
  font-size: 1.0555rem;
  font-weight: 500;
  color:var(--color-font-pattern1);
  line-height: 1;
  padding-bottom: 1rem;
}
.title-type-4 .text{
  display: inline-block;
  font-size: 1.117rem;
  line-height: 1;
  font-weight: 500;
  padding-bottom: 0.4em;
  border-bottom: 1px solid var(--color-border-pattern1);
}
.title-type-5{
  font-size: 1.6666rem;
  font-weight: 500;
  line-height: 1.4333;
}
.link-button-2{
  margin-top:1rem;
  display:inline-block;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  padding-top:1rem;
  padding-bottom:1.2rem;
  width:17rem;
  text-align: center;
  border: 1px solid var(--color-border-pattern1);
}
.link-button-2 .text{
  color: var(--color-font-pattern1);
  position: relative;
  padding-right: 2em;
  display: inline-block;
  line-height: 1;
}
.link-button-2 .text::after{
  display: inline-block;
  content: "";
  position: absolute;
  right: 0em;
  top: calc(50% - 0.25rem);
  border-color: var(--color-border-pattern1);
  border-style: solid;
  border-width: 0 2px 2px 0;
  vertical-align: middle;
  height: 0.6rem;
  width: 0.6rem;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  z-index: 1;
}
@media screen and (max-width: 767px){
  .c-bg-1{
    padding-bottom: 2.5555rem;
  }
}

/***********************************************
   Page home styles
***********************************************/

/* c-mainvisual
============================================== */
.c-mainvisual{
  margin-top:0;
  padding-bottom:0;
}

/* c-intro
============================================== */
.c-intro{
  padding-top:4.4444rem;
}
.c-intro .lead{
  margin-top:1.4444rem;
}
@media screen and (max-width: 767px){
  .c-intro {
    padding-top: 3.4444rem;
  }
  .c-intro .copy {
    font-size: 1.5235rem;
    line-height: 1.8;
  }
  .c-intro .lead{
    line-height: 1.88;
  }
}

/* c-features
============================================== */
.c-features{
  margin-top:4.1111rem;
}
.c-features .logomark img{
  width:2.8888rem;
}
.c-features .c-section__header .title{
  margin-top:0.8333rem;
}
.c-features__list > li{
  margin-top:2.2222rem;
}
.c-features__list figure{
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
}
.c-features__list img{
  width:9.4444rem;
}
.c-features__list .title{
  margin-top:1.5555rem;
}
.c-features__list .desc{
  margin-top:0.7222rem;
  line-height: 1.7777;
}
@media screen and (max-width: 767px){
  .c-features{
    margin-top:3.2rem;
  }
}

/* c-notes
============================================== */
.c-notes{
  margin-top:2.4444rem;
}
.c-notes__wrapper{
  background-color: var(--color-border-white);
  padding-top:2.4444rem;
  padding-left:4.6666rem;
  padding-right:4.6666rem;
  padding-bottom:5rem;
}
.c-notes .title{
  padding-bottom:1rem;
}
.c-notes__list{
  margin-top:1.1111rem;
}
.c-notes__list li{
  padding-left:1.4em;
  position: relative;
  padding-bottom:0.3em;
  font-size: 0.7777rem;
}
.c-notes__list li:last-child{
  padding-bottom:0;
}
.c-notes__list li::before{
  content: "";
  position: absolute;
  top: 0.37em;
  left:0;
  width: 0.7776rem;
  height: 0.7776rem;
  z-index: 1;
  border-radius: 50%;
  background-color: var(--color-border-base);
}
@media screen and (max-width: 767px){
  .c-notes__wrapper{
    padding-top:1.7rem;
    padding-left:1.3rem;
    padding-right:1.3rem;
    padding-bottom:2rem;
  }
  .c-notes__list{
    margin-top:0.2rem;
  }
  .c-notes__list li{
    font-size: 1rem;
  }
  .c-notes__list li::before{
    top: 0.47em;
  }
}

/* c-news
============================================== */
.c-news{
  margin-top:3.5555rem;
  padding-bottom:0;
}
.c-news .logomark img{
  width:2.8888rem;
}
.c-news .c-section__header .title{
  margin-top:1.5555rem;
}
.c-news__content{
  margin-top:2rem;
  border-radius: 0.7rem;
  background-color: var(--color-bg-white);
}
.c-news__content .image-wrap{
  padding: 2.1111rem 0 2.1111rem 1.7777rem;
}
.c-news__content .image-wrap figure{
  display: inline-block;
  line-height: 1;
  width:100%;
  height: 100%;
}
.c-news__content .image-wrap img{
  height: auto;
  width:100%;
  /*
  object-fit: cover;
  border-top-left-radius: 0.7rem;
  border-bottom-left-radius: 0.7rem;
  */
}
.c-news__content .text-wrap{
  /*
  border-top-right-radius: 0.7rem;
  border-bottom-right-radius: 0.7rem;
  */
}
.c-news__content .text-wrap.image-none {
  /*
  border-top-left-radius: 0.7rem;
  border-bottom-left-radius: 0.7rem;
  */
}
.c-news .text-wrap{
  background-color: var(--color-border-white);
  padding:2.1111rem 1.7777rem;
}
.c-news .text-wrap .desc{
  font-size: 0.8888rem;
}
.c-news .text-wrap .datetime{
  font-size: 1rem;
}
@media screen and (max-width: 767px){
  .c-news__content .image-wrap{
    padding: 2.1111rem 1.7777rem 0;
  }
  .c-news__content .image-wrap img{
    width: 100%;
    height: auto;
    /*
    object-fit: unset;
    border-top-left-radius: 0.7rem;
    border-top-right-radius: 0.7rem;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    */
  }
  .c-news__content .text-wrap{
    /*
    border-top-left-radius:0;
    border-top-right-radius:0;
    border-bottom-left-radius: 0.7rem;
    border-bottom-right-radius: 0.7rem;
    */
  }
  .c-news__content .text-wrap.image-none{
    /*
    border-top-left-radius: 0.7rem;
    border-top-right-radius: 0.7rem;
    */
  }
  .c-news .text-wrap .desc{
    font-size: 1rem;
  }
}

/* c-recruiting
============================================== */
.c-recruiting{
  margin-top:3.5555rem;
  padding-bottom:6.0555rem;
}
.c-recruiting .desc{
  font-size: 0.8888rem;
  line-height: 1.9375;
}
@media screen and (max-width: 767px){
  .c-recruiting {
    padding-bottom: 1.0555rem;
  }
  .c-recruiting .title{
    font-size: 1.5235rem;
    line-height: 1.8;  
  } 
  .c-recruiting .desc{
    font-size: 1rem;
  }
}

/* c-access
============================================== */
.c-access{
  padding-top:7rem;
  padding-bottom:1.7777rem;
  background-color: var(--color-bg-pattern3);
}
.c-access__body{
  padding-top:0.5555rem;
}
.c-access .c-subtitle__wrapper{
  padding-bottom: 1.1250rem;
}
.c-access__details{
  margin-top:3em;
  padding-bottom:3.6666rem;
}
.c-access__details .text-wrap{
	-ms-flex: 0 0 15.8333rem;
	flex: 0 0 15.8333rem;
	width: 15.8333rem;
	max-width: 15.8333rem;
}
.c-access__details .image-wrap{
  padding-left: 1.6666rem;
	-ms-flex: 0 0 calc(100% - 15.8333rem);
	flex: 0 0 calc(100% - 15.8333rem);
	width: calc(100% - 15.8333rem);
	max-width: calc(100% - 15.8333rem);
}
.c-access__details .image-col1{
  width:65.77%;
}
.c-access__details .image-col2{
  width:32%;
}
.c-access__details .title{
  font-weight: 500;
  color: var(--color-font-pattern1);
}
.c-access__details .title .text-main{
  font-size: 1.3888rem;
  line-height: 1;
}
.c-access__details .title .text-sub{
  font-size: 1.0555rem;
  line-height: 1;
  margin-left: 1.5rem;
}
.c-access__details .desc{
  font-size: 0.7777rem;
  line-height: 1.8571;
  margin-top:1.1666rem;
}
.c-access__details .detail-list{
  margin-top:0.7777rem;
  font-size: 0.7777rem;
  letter-spacing: 0;
}
.c-access__details .detail-list > li{
  padding-bottom: 0.3em;
}
.c-access__details .detail-list > li:last-child{
  padding-bottom: 0;  
}
.c-access__details .g-map{
  width:100%;
  margin-top:2.3888rem;
  height:346px;
}
@media screen and (max-width: 767px){
  .c-access{
    padding-top:4rem;
    padding-bottom:1.7777rem;
  }
  .c-access .c-subtitle__wrapper{
    padding-bottom: 0;
  }
  .c-access__details {
    margin-top: 1.8em;
    padding-bottom: 2.6666rem;
  }
  .c-access__details .g-map {
    margin-top: 1.3888rem;
    height: 340px;
  }
  .c-access__details .text-wrap{
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
  .c-access__details .image-wrap{
    padding-left: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }  
  .c-access__details .image-col2{
    margin-top:12px;
  }
  .c-access__details .image-col2 figure{
    width:50%;
  }
  .c-access__details .image-col2 figure:first-child{
    padding-right:6px;
  }
  .c-access__details .image-col2 figure:last-child{
    padding-left:6px;
  }
  .c-access__details .desc{
    font-size: 1rem;
  }
  .c-access__details .detail-list{
    font-size: 1rem;
  }
}

/* c-company
============================================== */
.c-company{
  padding-top:6.2222rem;
  padding-bottom:6.5555rem;
}
.c-company .c-subtitle__wrapper{
  margin-top:3.3333rem;
  padding-bottom:1.6666rem;
}
.c-company .table-wrapper{
  padding-bottom:1.2222rem;
}
.c-company .info1-table{
	width:100%;
	position: relative;
	display: table;
}
.c-company .info1-row{
	border-bottom: 1px solid var(--color-border-pattern1);
}
.c-company .info1-row:first-child{
	border-top: 1px solid var(--color-border-pattern1);
}
.c-company .info1-cell.title{
	display: table-cell;
	-ms-flex: 0 0 8.8888rem;
	flex: 0 0 8.8888rem;
	width: 8.8888rem;
	max-width: 8.8888rem;
	text-align: center!important;
  font-weight: normal;
}
.c-company__history .info1-cell.title{
	text-align: left!important;
}
.c-company .info1-cell.detail{
	border-left: 2px solid #fff;
	-ms-flex: 0 0 calc(100% - 8.8888rem);
	flex: 0 0 calc(100% - 8.8888rem);
	width: calc(100% - 8.8888rem);
	max-width: calc(100% - 8.8888rem);
}
@media screen and (max-width: 767px){
  .c-company {
    padding-top: 4.2222rem;
    padding-bottom: 4.5555rem;
  }
  .c-company .c-subtitle__wrapper {
    margin-top: 2.5rem;
    padding-bottom: 0rem;
  }
	.c-company .info1-row {
		border-bottom: 8px solid #fff;
	}
	.c-company .info1-row:first-child {
		border-top: 8px solid #fff;
	}
	.c-company .info1-cell.title{
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		background-color: var(--color-bg-pattern3);
		font-weight: 500;
    padding-left:16px;
    padding-right:16px;
	}
	.c-company .info1-cell.detail{
		border-left: 0;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
		padding-left: 1em;
	}
}

@media screen and (max-width: 767px){
  
}

/* c-mainvisual
============================================== */
.c-mainvisual{
  padding-top:0;
  padding-bottom:0;
}

.c-recruit{
  padding-top:3.2222rem;
  padding-bottom:6rem;
  background-color: #F2FAFA;
}

/* c-introduction
============================================== */
.c-introduction{
}
.c-introduction .title{
  padding-bottom: 0.3em;
}
.c-introduction__lead-wrapper{
  margin-top:1.3333rem;
}
@media screen and (max-width: 767px){
  .c-introduction .copy {
    font-size: 1.5235rem;
    line-height: 1.8;
  }
}

/* c-jobinfo
============================================== */
.c-jobinfo{
  margin-top:4.1111rem;
  padding-bottom:2.5rem;
}
.c-jobinfo .lead-type-1{
  font-size: 0.8888rem;
}
.job-list > li{
  padding-bottom:2.5rem;
  /*border-bottom: 1px dotted #000;*/
}
.job-list > li:last-child{
  border-bottom: none;  
}
.job-list > li > .title{
  display: block;
  position: relative;
  overflow: hidden;
  border: 1px solid #00979C;
  font-weight: 500;
  padding-top: 0.8rem;
  padding-bottom: 0.9rem;
  padding-left: 1.5rem;
  padding-right: 3.2rem;
  font-size: 1.4444rem;
  /*margin-bottom: 2rem;*/
  color: #00979C;
  line-height: 1.45;
  cursor: pointer;
}
.job-list > li > .title::after{
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 0.2rem);
  border-bottom: 1px solid #00979C;
  border-left: 1px solid #00979C;
  content: '';
  display: block;
  height: 17px;
  width: 17px;
  transform: rotate(-225deg);
  z-index: 2;
}
.job-list > li > .title.active::after{
  transform: rotate(-45deg);
  top: calc(50% - 0.7rem);
}


/*
.job-list > li > .title::after{
  position: absolute;
  bottom:0;
  left:0;
  content: "";
  height:3px;
  width:3.5rem;
  background-color: #000;
  z-index: 1;
}
*/
@media screen and (max-width: 767px){
  
}

/* c-entry
============================================== */
.c-entry{
  background-color: #F2FAFA;
  padding-top:4.7777rem;
  padding-bottom:7.4444rem;
}
.c-entry .lead-type-1{
  font-size: 0.8888rem;
}
.c-entry .info2-table{
	width:100%;
	position: relative;
}
.c-entry .info2-row:last-child{
	border-bottom: 0;
}
.c-entry .info2-cell.title{
  font-size: 0.9rem;
  padding-top: 30px;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
	font-weight: normal;
	font-weight: 400;
}
.c-entry .info2-cell.title .txt{
  position: relative;
  display: inline-block
}
.c-entry .info2-cell.title .txt-required{
  margin-left: 0.5em;
  /*color: #dd2525;*/
}

.c-entry .info2-cell.detail{
  padding-top: 6px;
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
	overflow: hidden;
}
.c-entry .info2-cell.detail .wpcf7-form-control-wrap input,
.c-entry .info2-cell.detail .file-input-wrap{
	width:100%;
	height: 53px;
	padding-left: 1em;
	padding-right: 1em;
	font-size: 0.9rem;
	-webkit-appearance: none;
	box-sizing: border-box;
	border: 1px solid #000;
	outline: none;
  margin-bottom: 5px;
  background-color: #fff;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.wpcf7-checkbox{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
}
.wpcf7-checkbox .wpcf7-list-item{
	display:block;
	-webkit-font-feature-settings:"palt";
	font-feature-settings:"palt";
	font-size:0.9rem;
	line-height:1.4;
	/*margin-right:1.6rem;*/
	margin-right:0rem;
	width:auto;
}
.wpcf7-checkbox .wpcf7-list-item-label{
	border-radius:4px;
	cursor:pointer;
	display:inline-block;
	padding: 0.1rem 0.4rem 0.4rem 2rem;
	position:relative;
/*
	-webkit-transition:0.2s;
	transition:0.2s;
*/
	vertical-align:middle;
}
.wpcf7-checkbox .wpcf7-list-item-label:hover{
/*	background:#fff;*/
}
.wpcf7-checkbox .wpcf7-list-item-label::before{
	border:1px solid #000;
	background-color: #fff;
	content:"";
	display:block;
	height:16px;
	left:8px;
	position:absolute;
	top:6px;
	width:16px;
}
.wpcf7-checkbox .wpcf7-list-item-label::after{
	border-bottom:3px solid #000;
	border-right:3px solid #000;
	content:"";
	display:block;
	height:20px;
	left:12px;
	opacity:0;
	position:absolute;
	top:1px;
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
	width:10px;
}
.wpcf7-checkbox input[type="checkbox"]{
	display:none;
}
.wpcf7-checkbox input[type="checkbox"]:checked+.wpcf7-list-item-label::before{
	border-color:#000;
}
.wpcf7-checkbox input[type="checkbox"]:checked+.wpcf7-list-item-label::after{
	opacity:1;
}

.c-entry .info2-cell.detail .wpcf7-form-control-wrap input{
	
}
.c-entry .info2-cell.detail.name .wpcf7-form-control-wrap input::placeholder {
  color: #000;
}
.c-entry .info2-cell.detail.name .wpcf7-form-control-wrap input:-ms-input-placeholder {
  color: #000;
}
.c-entry .info2-cell.detail.name .wpcf7-form-control-wrap input::-ms-input-placeholder {
  color: #000;
}
.c-entry .info2-cell.detail textarea{
	font-size: 0.9rem;
	width:100%;
	box-sizing: border-box;
	padding:1em;
	border: 1px solid #000;
	outline: none;
	-webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.c-entry .info2-cell.detail select{
  width:100%;
  height: 53px;
  background-color: #fff;
	-webkit-appearance: none;
  border-width: 1px;
  border-style: solid;
  border-color: #000;
  outline: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
	padding-left: 1em;
}
.c-entry .info2-cell.detail .wpcf7-form-control-wrap > option{
  background-color: #fff;
  border-width: 0px;
  border-style:none;
  border-color:transparent;
  border-radius: 0;
}
.c-entry .info2-cell.detail .file-input-wrap{
	height: 53px;
	background-color: #FFF;
}
.c-entry .info2-cell.detail .wpcf7-form-control-wrap input[type="file"]{
	margin-top: 12px;
	height: 41px;
	background-color: transparent;
}
.c-entry .submit-btn{
  padding-top:48px;
}
.c-entry .submit-btn input[type="submit"] {
  font-size: 0.9rem;
  font-weight: 500;
  color: #00979C;
	appearance: none;
	-webkit-appearance: none;
  cursor: pointer;
	border-width: 1px;
	border-style: solid;
	border-color: #00979C;
	border-image: initial;
	padding: 0;
  margin: 0;
  width: 230px;
  height:55px;
  background-color: #fff;
  letter-spacing: 0.15em;
	border-radius: none;
	-webkit-transition: 0.3s;
			-moz-transition: 0.3s;
			-o-transition: 0.3s;
			-ms-transition: 0.3s;
			transition: 0.3s;
}
.c-entry .submit-btn input[type="submit"]:hover{
	color: #fff;
	background-color: #00979C;
}
.c-entry .submit-btn input[type="submit"]::after {
  display: block;
  clear: both;
  content: "";
}
.c-entry .sub_title .text{
  display: inline-block;
  padding-bottom: 0.02em;
  border-bottom: 1px solid #000;
}

.wpcf7 .ajax-loader, div.wpcf7 .ajax-loader {
	display: none;
}
.wpcf7-spinner{
  display: none;
}
@media screen and (max-width: 767px) {
	.wpcf7-checkbox{
		flex-flow: column;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
	}
}

@media screen and (max-width: 767px){
  
}
