@charset "utf-8";

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

	Web font
	Colors
	List
	Icon
	Column
	Table
	Text
	Opacity
	GoogleMap
	Button
	
	p-lower-contact
	p-mark
	Section
	p-news
	
======================================================================== */


/* =====================================================================

	Web font
	
======================================================================== */
	@import url('https://fonts.googleapis.com/css?family=Muli:300,400,600,700&display=swap');
	@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,500,600,700&display=swap&subset=japanese');
	@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho&display=swap&subset=japanese');

	.u-fontMuli			{font-family: 'Muli', sans-serif;}
	.u-fontMincho		{font-family: 'Noto Serif JP', serif;}
	.u-fontMincho2	{font-family: 'Sawarabi Mincho', sans-serif;}
			
	

/* =====================================================================

	Colors
	
======================================================================== */
	.u-cWhite				{ color: #FFFFFF !important; }
	.u-cBlack				{ color: #000000 !important; }
	.u-cBlue				{ color: #0079C5 !important; }
	.u-cOchrer			{ color: #B17010 !important; }
	.u-cPurple			{ color: #7B5361 !important; }
	.u-cBrown				{ color: #663300 !important; }



/* =====================================================================

	List
	
======================================================================== */
	.c-list-disc {
		list-style-type: disc;
		margin-left: 2rem;
		}
	.c-list-decimal {
		list-style-type: decimal;
		margin-left: 2rem;
		}



/* =====================================================================

	Icon
	
======================================================================== */
@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?7k65pa');
  src:  url('../fonts/icomoon.eot?7k65pa#iefix') format('embedded-opentype'),
    url('../fonts/icomoon.ttf?7k65pa') format('truetype'),
    url('../fonts/icomoon.woff?7k65pa') format('woff'),
    url('../fonts/icomoon.svg?7k65pa#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-externallink:before {
  content: "\e905";
}
.icon-sample:before {
  content: "\e904";
}
.icon-contact:before {
  content: "\e900";
}
.icon-edit:before {
  content: "\e901";
}
.icon-pdf:before {
  content: "\e902";
}
.icon-phone:before {
  content: "\e903";
}

	
	
/* =====================================================================

	Column
	
======================================================================== */
	.p-column-wrap {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-flow: row wrap;
		justify-content: space-between;
		}
	.p-2column {
		position: relative;
		}
@media screen and (max-width: 767px) {
	.p-2column {
		width: 100%;
		}
	.p-2column+.p-2column {
		margin-top: 2.4rem;
		}			
}
@media print, screen and (min-width: 768px) {
	.p-2column {
		width: 48%;
		}
	}



/* =====================================================================

	Table
	
======================================================================== */
	.p-table {
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		border-collapse: collapse;
		border: solid 1px #CCCCCC;
		}
	.p-table th,
	.p-table td {
		text-align: left;
		font-weight: normal;
		box-sizing: border-box;
		vertical-align: middle;
		border-bottom: solid 1px #CCCCCC;
		}
	.p-table th {
		font-weight: bold;
		}
	.p-table--blue th {
		color: #007AC5;
		background-color: #ECF4FB;
		}
	.p-table--gray th {
		background-color: #F2F2F2;
		}
@media screen and (max-width: 767px) {
	.p-table {
		border-bottom: none;
		}
	.p-table th,
	.p-table td {
		display: block;
		padding: 0.8rem;
		}
	.p-table td {
		padding-top: 0.8rem;
		padding-bottom: 0.8rem;
		}
}
@media print, screen and (min-width: 768px) {
	.p-table th,
	.p-table td {
		padding: 1.6rem;
		}
	.p-table th {
		min-width: 250px;	
		border-right: solid 1px #CCCCCC;	
		}
}



/* =====================================================================

	Size
	
======================================================================== */
@media print, screen and (min-width: 768px) {
  .w-lg-200 { width: 200px; }
}


/* =====================================================================

	Text
	
======================================================================== */
	.c-text {
		line-height: 2.4;
		}
	.c-notes	{
		text-indent: -1.2rem;
		margin-left: 1.2rem;
		}
@media screen and (max-width: 414px) {
	.c-text {
		line-height: 2;
		}
}

	/* テキストを左揃えのまま中央寄せ */
	.c-text--centering {
		text-align: center;
		}
	.c-text--centering ul {
		display: inline-block;
		text-align: left;
		}
		
		
			
/* =====================================================================

	Opacity
	
======================================================================== */
	.action_hover {
		opacity: 1;
		transition: 400ms ease opacity;
		}
	.action_hover:hover {
		opacity: 0.7;
		}
	.action_hover:active {
		opacity: 0.5;
		}
@media (max-width: 768px) {
	.action_hover {
		opacity: 1 !important;
	}
}
				
		
			
/* =====================================================================

	GoogleMap
	
======================================================================== */
	.p-gmap-wrap {
		height: 0;
		overflow: hidden;
		padding-bottom: 56.25%;
		position: relative;
		}
	.p-gmap-wrap iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		}
@media screen and (max-width: 767px) {
	.p-gmap-wrap {
		height: 130px;
		}
}



/* =====================================================================

	Button
	
======================================================================== */
	.c-button {
		display: block;
		padding: 2.4rem;
		line-height: 100%;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: all .4s;
		transition: all .4s;
		}	
@media screen and (max-width: 767px) {
	.c-button {
		padding: 2rem 4rem;
		}
}
@media screen and (min-width: 768px) {
	.c-button-half {
		width: 50%;
		}
  .c-button-300 {
    width: 300px;
    }
}

	/*** c-button-blue ***/
	.c-button-blue a {
		color: #FFF !important;
		background-color: #017BC6;
		}
	.c-button-gray a {
		color: #FFF !important;
		background-color: #666;
		}
  .c-button-red a {
		color: #FFF !important;
		background-color: #ff0000;
		}
	/*** c-button-gradation-blue ***/
	.c-button-gradation-blue a {
		color: #FFF !important;
		background-color: #1a88cc;
		background: -moz-linear-gradient(top,  #1a88cc 50%, #017bc6 51%);
		background: -webkit-linear-gradient(top,  #1a88cc 50%,#017bc6 51%);
		background: linear-gradient(to bottom,  #1a88cc 50%,#017bc6 51%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1a88cc', endColorstr='#017bc6',GradientType=0 );
    line-height: 1.6;
		}
@media print, screen and (min-width: 769px) {
	.c-button-blue a:hover {
		background-color: #006CBD;
		}
	.c-button-gray a:hover {
		background-color: #444;
		}
  .c-button-red a:hover {
		background-color: #E6211B;
		}

	.c-button-gradation-blue a {
		-webkit-transition: all .3s ease-in-out;
			 -moz-transition: all .3s ease-in-out;
				 -o-transition: all .3s ease-in-out;
				-ms-transition: all .3s ease-in-out;
						transition: all .3s ease-in-out;
		}
	.c-button-gradation-blue a:hover {
		background-color: #147EC7;
		background: -moz-linear-gradient(top,  #147EC7 50%, #0071C0 51%);
		background: -webkit-linear-gradient(top,  #147EC7 50%,#0071C0 51%);
		background: linear-gradient(to bottom,  #147EC7 50%,#0071C0 51%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#147EC7', endColorstr='#0071C0',GradientType=0 );
    text-decoration: none !important;
		}
}


	/*** > ***/
	.c-arrow-left {
		position: relative;
		}
	.c-arrow-left a::before {
		content: '';
		width: 5px;
		height: 5px;
		border-top: solid 2px #FFF;
		border-right: solid 2px #FFF;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 43%;
		left: 2rem;
		}
	.c-arrow-left a,
	.c-arrow-left a::before {
		-webkit-transition: all .3s ease-in-out;
			 -moz-transition: all .3s ease-in-out;
				 -o-transition: all .3s ease-in-out;
				-ms-transition: all .3s ease-in-out;
						transition: all .3s ease-in-out;
		}
@media screen and (max-width: 768px) {
	.tb .c-arrow-left a.c-button {
		padding-left: 4.2rem;
		}
}
@media print, screen and (min-width: 769px) {
	.c-arrow-left a::before {
		top: 44%;
		left: 2.4rem;
		}
		.c-arrow-left a:hover::before {
			left: 2.8rem;
			}
	.c-arrow-left a.c-button {
		padding-left: 4.6rem;
		}
}

  /*** 別ブラウザアイコン ***/
  a.c-button.icon-externallink::before {
    padding-right: 1rem;
    }
@media screen and (max-width: 768px) {
  a.c-button.icon-externallink {
    padding-left: 2rem;
    }
}


/* =====================================================================

	p-lower-contact
	コンテンツ下部のお問合せbox
	
======================================================================== */
	.p-lower-contact {
		text-align: center;
		}
	.c-lower-item--tel,
	.c-lower-item--contact a,
	.c-lower-item--sample a {
		line-height: 100%;
		color: #000;
		}
	.c-tel-link a {
		color: #0079C5 !important;
		}
	.c-lower-item--contact a::after {
		display: inline-block;
		font-family: 'icomoon' !important;
		content: "\e900";
		position: relative;
		margin-left: 1rem;
		color: #007AC6;
		}
	.c-lower-item--sample a::after {
		display: inline-block;
		font-family: 'icomoon' !important;
		content: "\e904";
		position: relative;
		margin-left: 1rem;
		color: #007AC6;
		}
@media screen and (max-width: 768px) {
	.p-lower-contact {
		margin-top: 4.8rem;
		}
	.p-lower-contact p {
		line-height: 2;
		}
	.c-lower-item li {
		margin-top: 1.8rem;
		background-color: #EDF1F3;
		text-align: center;
		}
	.c-lower-item--tel,
	.c-lower-item--contact a,
	.c-lower-item--sample a {
		padding: 2rem 1.6rem;
		display: block;
		}
	.c-lower-item--tel {
		color: #0079C5;
		font-family: 'Muli', sans-serif;
		font-weight: 600;
		font-size: 160%;
		line-height: 100%;
		}
	.c-lower-item--tel::before {
		content: 'TEL';
		display: inline-block;
		margin-right: .8rem;
		color: #000;
		font-weight: normal;
		font-size: 70%;
		position: relative;
		top: -2px;
		}
	.c-lower-item--contact a::after,
	.c-lower-item--sample a::after {
		font-size: 26px;
		position: absolute;
		}
}
@media print, screen and (min-width: 769px) {
	.p-lower-contact {
		margin-top: 8rem;
		}
	.c-lower-item {
		margin: 2.4rem auto 0;
		display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
		width: 70%;
		height: 100px;
		background-color: #EDF1F3;
		}
	.c-lower-item li {
		position: relative;
		padding: 0 3rem;
		}
	.c-lower-item--tel,
	.c-lower-item--contact a,
	.c-lower-item--sample a {
		display: block;
		}
	.c-lower-item--tel {
		color: #0079C5;
		font-family: 'Muli', sans-serif;
		font-weight: 600;
		font-size: 160%;
		}
	.c-lower-item--tel::before {
		content: 'TEL';
		display: inline-block;
		margin-right: 1rem;
		color: #000;
		font-weight: normal;
		font-size: 60%;
		position: absolute;
		left: -1rem;
		}
	.c-lower-item--contact {
		border-left: solid 1px #DDD;
		}
	.c-lower-item--sample {
		border-left: solid 1px #DDD;
		
		}
	.c-lower-item--contact+.c-lower-item--sample {
		margin-left: 5.6rem;
		}
	.c-lower-item--contact a,
	.c-lower-item--sample a {
		line-height: 70px;
		-webkit-transition: all .3s ease-in-out;
			 -moz-transition: all .3s ease-in-out;
				 -o-transition: all .3s ease-in-out;
				-ms-transition: all .3s ease-in-out;
						transition: all .3s ease-in-out;
		}
	.c-lower-item--contact a::after,
	.c-lower-item--sample a::after {
		font-size: 3.2rem;
		position: absolute;
		right: -1.8rem;
		-webkit-transition: all .3s ease-in-out;
			 -moz-transition: all .3s ease-in-out;
				 -o-transition: all .3s ease-in-out;
				-ms-transition: all .3s ease-in-out;
						transition: all .3s ease-in-out;
		}
	.c-lower-item--contact a:hover,
	.c-lower-item--contact:hover a::after,
	.c-lower-item--sample a:hover,
	.c-lower-item--sample:hover a::after {
		color: #C47200;
		}
	.c-lower-item--contact:hover a::after,
	.c-lower-item--sample:hover a::after {
		margin-top: -.2rem;
		}
}



/* =====================================================================

	p-mark
	コンテンツ下部の認証マーク
	
======================================================================== */
	.p-mark {
		display: -webkit-flex;
		display: flex;
		justify-content: space-around;
		align-items: center;
		}
	.c-mark--fsc {
		width: 121px;
		height: 66px;
		}
@media screen and (max-width: 767px) {
	.p-mark {
		margin-top: 3rem;
		}
}
@media print, screen and (min-width: 768px) {
	.p-mark {
		width: 40%;
		margin: 4.8rem auto 0;
		}
	.tb .p-mark {
		width: 50%;
		}
}



/* =====================================================================

	Section
	
======================================================================== */
	.p-section {
		margin-bottom: 6rem;
		}
@media screen and (max-width: 768px) {
	.p-section:last-child {
		margin-bottom: 0;
		}
}
@media print, screen and (min-width: 769px) {
	.p-section {
		margin-bottom: 8rem;
		}
	hr+.p-section {
		margin-top: 4.8rem;
		}
}

/*----------------------------------------------------
	Section Title
----------------------------------------------------*/	
	.c-sectionTitle,
	.c-sectionTitle--en {
		font-weight: normal;
		text-align: center;
		}
	.c-sectionTitle {
		color: #000;
		box-sizing: border-box;
		font-family: 'Noto Serif JP', serif;
		line-height: 1.4;
		}
	.c-sectionTitle--en {
		color: #0079C5;
		font-family: 'Muli', sans-serif;
		letter-spacing: .15rem;
		}
@media screen and (max-width: 768px) {
	.c-sectionTitle {
		font-size: 180%;
		}
	.c-sectionTitle .u-db-sp2 {
		line-height: 140%;
		}
}
@media print, screen and (min-width: 769px) {
	.c-sectionTitle {
		font-size: 3.2rem;
		}
	.c-sectionTitle--en {
		font-size: 1.5rem;
		}
}

/*----------------------------------------------------
	Section Inner
----------------------------------------------------*/
@media screen and (max-width: 768px) {
	.p-section--inner {
		margin-top: 2.4rem;
		}
}
@media print, screen and (min-width: 769px) {
	.p-section--inner {
		margin-top: 4rem;
		}
}
		
/*----------------------------------------------------
	Line装飾
----------------------------------------------------*/
	hr.c-hr {
		overflow: visible; /* For IE */
		position: relative;
		margin: 0;
		height: 0;
		border-top: 1px solid #CCCCCC;
		text-align: center;
		z-index: -1;
		}
	hr.c-hr::before {
		content: '';
		position: absolute;
		top: -2px;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		width: 180px;
		height: 3px;
		}
	hr.c-hr--blue::before { background-color: #017BC6; }
	hr.c-hr--ochrer::before { background-color: #B17010; }
	hr.c-hr--purple::before { background-color: #7B5361; }
	hr.c-hr--gray::before { background-color: #666666; }
	hr.c-hr--blue::before { background-color: #007AC5; }
	hr.c-hr--brown::before {background-color: #663300; }
@media screen and (max-width: 414px) {
	hr.c-hr {
		border-top: none;
		}
	hr.c-hr::before {
		width: 100px;
		}
}
@media screen and (max-width: 768px) {
	hr.c-hr {
		padding-bottom: 2.4rem;
		}
	.tb hr.c-hr {
		padding-bottom: 4rem;
		}
}

/*----------------------------------------------------
	アコーディオンメニュー
---------------------------------------------------- */
	.p-panel,
	.c-accordionMenu-list a {
		display: block;
		}
@media screen and (max-width: 414px) {
	.c-accordionMenu-list {
		font-size: 13px;
		}
	.is-toggle .p-accordion_icon {
		top: .75em;
		}
}
@media screen and (max-width: 768px) {
	.p-accordionMenu {
		overflow: hidden;
		margin: -4.8rem -1.6rem 3.2rem;
		}
  .p-accordionMenu.relative {
    margin-top: -1.6rem;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 4.8rem;
    }
	.p-panel {
		display: block;
		padding: .8em 3% .8em;
		cursor: pointer;
		clear: both;
		font-weight: bold;
		font-size: 110%;
		color: #0079C5;
		border-bottom: solid 2px #D8E5EB;
		}
  .p-accordionMenu.relative .p-panel {
    border-top: solid 2px #D8E5EB;
    }
	.c-accordionMenu-wrap {
		display: none;
		}
	.c-accordionMenu-wrap.is-open {
		display: block;
		}
	.c-accordionMenu-list {
		background-color: #F4F7F9;
		line-height: 1;
		overflow: hidden;
		width: 100%;
		border-bottom: solid 1px #D8E5EB;
		position: absolute;
		z-index: 4;
		}
  .p-accordionMenu.relative .c-accordionMenu-list {
    position: relative;
    }
  .c-accordionMenu-list-item {
		float: left;
		width: 50%;
		box-sizing: border-box;
		border-bottom: solid 1px #D8E5EB;
		background-image: url(../img/common/sp_menu_arrow_blue.png);
		background-position: 98% 90%;
		background-repeat: no-repeat;
		background-size: 8px 8px;
		}
	.c-accordionMenu-list-item:nth-child(2n+1) {
		border-right: solid 1px #D8E5EB;
		}
	.c-accordionMenu-list-item:nth-child(5) {
		border-bottom: none;
		}
	.c-accordionMenu-list a {
		color: #007AC5 !important;
		font-weight: 900;
		text-shadow: 0px 1px 1px rgba(255,255,255,0.9);
		padding: 2.4rem 5%;
		box-sizing: border-box;
		position: relative;
		}
		
	/* ＋、－ボタン表示／切り替え */
	.p-accordion_icon,
	.p-accordion_icon span {
		display: inline-block;
		box-sizing: border-box;
		transition: all .3s ease-in-out;
		}
	.is-toggle { position: relative; }
	.is-toggle .p-accordion_icon {
		position: absolute;
		width: 30px;
		height: 30px;
		top: .9em;
		right: 3%;
		}
	.p-accordion_icon span {
		margin-top: 8px;
		position: absolute;
		left: 7px;
		width: 50%;
		height: 3px;
		background-color: #0079C5;
		}
	.p-accordion_icon span:nth-of-type(1) {
		top: 5px;
							transform: rotate(0deg);
			-webkit-transform: rotate(0deg);
				 -moz-transform: rotate(0deg);
					-ms-transform: rotate(0deg);
					 -o-transform: rotate(0deg);
		}
	.p-accordion_icon span:nth-of-type(2) {
		top: 5px;
							transform: rotate(90deg);
			-webkit-transform: rotate(90deg);
				 -moz-transform: rotate(90deg);
					-ms-transform: rotate(90deg);
					 -o-transform: rotate(90deg);
		}
	.p-accordion_icon.is-active span:nth-of-type(1) { opacity: 0; }
	.p-accordion_icon.is-active span:nth-of-type(2) {
		top: 5px;
							transform: rotate(180deg);
			-webkit-transform: rotate(180deg);
				 -moz-transform: rotate(180deg);
					-ms-transform: rotate(180deg);
					 -o-transform: rotate(180deg);
		}
}
@media print, screen and (min-width: 769px) {
	a.p-panel {
		display: none;
		}
	.p-accordionMenu {
		margin-top: 3.2rem;
		padding-bottom: 6rem;
		}
  .p-accordionMenu.relative {
    padding-bottom: 7.2rem;
    }
	.c-accordionMenu-list {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		flex-flow: row wrap;
		justify-content: space-between;
		}
	.c-accordionMenu-list li {
		position: relative;
		}
	.c-accordionMenu-list li a {
		text-align: center;
		cursor: pointer;
		display: block;
		}
			
	/*2column*/
	.c-list-items--two {
		width: 48%;
		}
	/*3column*/
	.c-list-items--three {
		width: 32%;
		}
	/*4column*/
	.c-list-items--four {
		width: 24%;
		}
	/*5column*/
	.c-list-items--five {
		width: 19%;
		}
	/*TB 5columnの時は3column表示*/
	.tb .c-accordionMenu-list:after {
		content:"";
		display: block;
		width: 32%;
		}
	.tb .c-list-items--five {
		width: 32%;
		}
	.tb li.c-list-items--five {
		margin-bottom: 1.2rem;
		}
}



/*----------------------------------------------------
	Page Anchor
	ページ内アンカーリンク
----------------------------------------------------*/	
@media screen and (max-width: 768px) {
	.p-anchor {
		margin-top: -80px;
		padding-top: 80px;
		}
}
@media print, screen and (min-width: 769px) {
	.p-anchor {
		margin-top: -100px;
		padding-top: 100px;
		}
}	



/* =====================================================================

	p-news
	
======================================================================== */

	.p-post-meta span {
		display: inline-block;
		}
	.c-date {
		color: #017BC6;
		}	
	.c-cate {
    color: #FFF;
		background-color: #017BC6;
    text-align: center;
		padding: .4rem .8rem;
    margin-right: .4rem;
    box-sizing: border-box;
    font-size: 1.1rem;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    -ms-border-radius: 2px;
    -webkit-appearance: none;
		}
	.c-cate.recruit {
		background-color: #B98C2F;
		}
	.c-news .c-cate {
		width: 80px;
		}
	.c-news span {
		vertical-align: middle;
		}
	.c-news .c-date {
		color: #017BC6;
		}
	.c-news dd a {
		color: rgba(0,0,0,0.9);
		}
@media screen and (max-width: 768px) {
	.c-cate {
		line-height: 120%;
		}
	.c-information-item--list .c-news {
		margin-top: 2rem;
		}
	.c-news dd {
		padding-top: .4rem;
		}
}
@media print, screen and (min-width: 769px) {
	.c-news {
		line-height: 100%;
		display: table;
		}
	.c-news dt,
	.c-news dd {
		display: table-cell;
		}
	.c-news dt {
		width: 20rem;
		}
	.c-news dd {
		line-height: 1.6;
		}
}