@charset"UTF-8"; 
/* CSS Document */
/**
 * Style CSS
 * 
 * @author    Yusuke Shiuchi <shiuchi@webgrows.jp>
 * @Copyright 2025 WebGrows. All rights reserved.
 * @version   1.0
 * @create    2024/03/10
 * @update  
**/

/******************************************************************************************************

    Font

*******************************************************************************************************/

@font-face {
  font-family: "DINOT-Light";
  src: url("../font/DINOT-Light.otf") format('opentype'),
       url("../font/DINOT-Light.woff2") format('woff2'),
       url("../font/DINOT-Light.woff") format('woff');
}
@font-face {
  font-family: "DINOT-Medium";
  src: url("../font/DINOT-Medium.otf") format('opentype'),
       url("../font/DINOT-Medium.woff2") format('woff2'),
       url("../font/DINOT-Medium.woff") format('woff');
}
@font-face {
  font-family: "NotoSansJP-V";
  src: url("../font/NotoSansJP-VariableFont_wght.ttf") format('woff2-variations');
  font-weight: Medium;
  font-style: normal;
}

/******************************************************************************************************

    Define

*******************************************************************************************************/

:root {
	/* Font Family */
	/*--f-family-nml: "Yu Gothic", "游ゴシック", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
	--f-family-nml: 'NotoSansJP-V', "Yu Gothic", "游ゴシック", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	--f-family-dinL: "DINOT-Light", sans-serif;
	--f-family-dinM: "DINOT-Medium", sans-serif;

	/* Font Weight */
	--f-wght-rglr-400: 400;
	--f-wght-rglr-450: 450;
	--f-wght-rglr-500: 500;
	--f-wght-mid: 500;
	--f-wght-bld: 700;

	/* Font Size */
	--f-size-cap: clamp(12px, 1.2vw, 12px);
	--f-size-label: clamp(12px, 3.25vw, 14px);
	--f-size-table: clamp(14px, 1.5vw, 15px);
	--f-size-nml: clamp(14px, 1.6vw, 16px);
	--f-size-mid: clamp(17px, 1.7vw, 17px);
	--f-size-mid2: clamp(16px, 1.8vw, 18px);
	--f-size-mid3: clamp(15px, 2vw, 20px);
	--f-size-title: clamp(18px, 2.2vw, 22px);
	--f-size-L: clamp(16px, 2.4vw, 24px);
	--f-size-StoS: clamp(12px, 1.4vw, 14px);
	--f-size-NtoS: clamp(12px, 1.6vw, 16px);
	--f-size-nmlkeep: clamp(14px, 1.6vw, 16px);
	--f-size-20: clamp(20px, 2vw, 20px);
	
	/* Max 430 */
	--f-size-form: clamp(14px, 3.95vw, 17px);
	--f-size-sp17: clamp(14px, 3.95vw, 17px);
	
	/* Line Height */
	--lht-s: 1.56;
	--lht-nml: 1.75;
	
	/* Color */
	--col-f-nml: #000000;
	--col-f-wht: #FFFFFF;
	--col-f-RosyGreen: rgb( 0,126, 97);
	--col-f-Red: rgb(234, 71, 87);
	--col-f-Gray: rgb(100,100,100);
	--col-f-Gray2: #4D4D4D;
	--col-bg-Gray: rgb(242,242,242);
	--col-bg-PaleGreen: rgb(237,247,243);
	--col-bg-PaleRed: rgb(253,237,238);
	--col-bg-PaleYellow: rgb(255,255,242);
	--col-bdr-Gray: #999;
	--col-bdr-LightGray: #CCC;
	--col-bdr-PaleGreen:  rgb( 61,181,133);
	
	/* Gradient */
	--grad-pc: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(231,247,240,1) 100%);
	--grad-sp: linear-gradient(90deg, rgba(243,250,247,1) 0%, rgba(234,246,241,1) 50%, rgba(211,235,224,1) 100%);
	
	/* Shadow */
	--f-shadow-1: drop-shadow(0px 0px 5px rgba(0,0,0,0.75));
	--f-shadow-2: drop-shadow(0px 0px 4px rgba(0,0,0,0.75));
	--filter-RosyGreen: invert(18%) sepia(82%) saturate(4879%) hue-rotate(164deg) brightness(96%) contrast(101%);
	--filter-White:invert(100%) sepia(2%) saturate(1706%) hue-rotate(7deg) brightness(126%) contrast(100%);
}

/******************************************************************************************************

    Common

*******************************************************************************************************/

/*----------------------------------------------------------------------------------------------------

    Reset

------------------------------------------------------------------------------------------------------*/

html, body, ul, li, ol, h1, h2, h3, h4, h5, h6, h7, h8, p {
	margin: 0;
	padding: 0;
}

*:focus {
    outline: none;
}

button:focus {
    outline: none !important;
}

ul, li, ol {
	list-style: none;
}

body {
	position: relative;
}

img {
	max-width: 100%;
}

/*----------------------------------------------------------------------------------------------------

    Font

------------------------------------------------------------------------------------------------------*/

body, a, input, select, textarea, label, button, span {
	font-family: var(--f-family-nml);
}

/*----------------------------------------------------------------------------------------------------

    Font Size

------------------------------------------------------------------------------------------------------*/

body, input, select, textarea, label, h1, h2, h3, h4, h5, h6, h7, h8, button {
	font-size: var(--f-size-nml);
	line-height: var(--lht-nml);
	font-weight: var(--f-wght-rglr-400);
	/* transform: rotate(0.05deg); */
}

/*----------------------------------------------------------------------------------------------------

    Font Color

------------------------------------------------------------------------------------------------------*/

body, a {
	color: var(--col-f-nml);
}

/*----------------------------------------------------------------------------------------------------

    Link & Button

------------------------------------------------------------------------------------------------------*/

a {
	text-decoration: none;
}

button {
	cursor: pointer;
}

@media only screen and (min-width: 768px) {
	a:hover, a:visited:hover,
	button:hover, button:visited:hover,
	.academic-contents .academic-block .title-header:hover {
		opacity: 0.6;
	}
}

/*----------------------------------------------------------------------------------------------------

    Body *

------------------------------------------------------------------------------------------------------*/

body, body *, :before, :after {
	transition: all 0.3s;
	box-sizing: border-box;
}

/******************************************************************************************************

    Layout

*******************************************************************************************************/

.wrapper {
	padding-top: 80px;
}
body.home .wrapper {
	padding-top: 0px;
}
.wrapper.sp-nav-open {
	filter: blur(10px);
	position: relative;
}
.wrapper.sp-nav-open:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left:0;
	background-color: var(--col-f-RosyGreen);
	mix-blend-mode: multiply;
}

@media only screen and (max-width: 767px) {
	.wrapper {
		padding-top: 80px;
	}
}

/* Container ----------------------------------*/

.container {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
}

.contents-inner {
	padding: 70px 0;
}

@media only screen and (max-width: 767px) {
.contents-inner {
    padding: 10px 0 30px;
}
}

/* Flex Contents ------------------------------*/

.flex-contents {
	display: flex;
	gap:30px;
}
.flex-contents .title-block {
	min-width: 320px;
}
.flex-contents .body-block {
	/* width: 100%; */
	/* min-width: 100%; */
	flex: 1;
	min-width: 0;
}
.contents-section .title-block {
	visibility: hidden;
}
body.home .contents-section .title-block,
.section-partners .title-block {
	visibility: visible;
}
/*
.contents-section {
	position: relative;
}
.flex-contents.contents-inner {
    /* position: relative; 
}
.flex-contents.contents-inner:after {
    position: absolute;
    content: "";
    width: calc(((100% - 1000px) / 2) + 1000px - 320px);
    height: 100%;
    top:0;
    right: 0;
    background: var(--grad-pc);
    z-index: -1;
}
*/

@media only screen and (max-width: 767px) {
	.flex-contents {
	    display: block;
	}
	.flex-contents .title-block {
	    /* text-align: center; */
	}
	.flex-contents .body-block {}
	.contents-section .title-block {
		visibility: visible;
	}
}

/* Panel Section ------------------------------*/

.panel-section {
	border-top: 1px solid var(--col-bdr-PaleGreen);
	background-color: var(--col-f-wht);
	padding: 50px 20px;
}
.panel-section:last-child {
	border-bottom: 1px solid var(--col-bdr-PaleGreen);
}

@media only screen and (max-width: 767px) {
.section-about .panel-section {
    margin: 0 -20px;
    padding: 30px 20px;
}
}

.text-contents-inner {
	margin: 40px 0px;
	padding: 0 20px;
}

@media only screen and (max-width: 767px) {
	.text-contents-inner {
		margin: 25px 0px;
		padding: 0 0px;
	}
}

/* Text Contents ------------------------------*/

.text-contents {
	line-height: var(--lht-s);
	margin-bottom: 40px;
	text-align: justify;
}

@media only screen and (max-width: 767px) {
.text-contents {
	margin-bottom: 20px;
}
}

/******************************************************************************************************

    Tools

*******************************************************************************************************/

.bld { font-weight: bold; }

/*----------------------------------------------------------------------------------------------------

    PC / SP

------------------------------------------------------------------------------------------------------*/

.pc {}
.sp { display: none; }

@media only screen and (max-width: 767px) {
	.pc { display: none; }
	.sp { display: block; }
}

/*----------------------------------------------------------------------------------------------------

    Br

------------------------------------------------------------------------------------------------------*/

br.pc { display: inline; }
br.sp { display: none; }

@media only screen and (max-width: 767px) {
	br.pc { display: none; }
	br.sp { display: inline; }
}

/*----------------------------------------------------------------------------------------------------

    Col Color

------------------------------------------------------------------------------------------------------*/

.odd, .row-odd { background-color: var(--col-row-2); }
.even, .row-even { background-color: var(--col-row-1); }

/*----------------------------------------------------------------------------------------------------

    Dot Text

------------------------------------------------------------------------------------------------------*/

.dot-text {}
.dot-text .text-row {
    position: relative;
    padding-left: 1em;
}
.dot-text .text-row:before {
	position: absolute;
	content: "\30FB";
	left: 0;	
}

/******************************************************************************************************

    Title

*******************************************************************************************************/

/* H1 ------------------------------------------------------------------------------------------------*/

h1.site-title {
    width: 250px;
    font-size: 0;
    line-height: 1;
}
h1.site-title a {
    display: block;
}
h1.site-title a img {
    width: 100%;
    vertical-align: bottom;
}

@media only screen and (max-width: 767px) {
	h1.site-title {
	    width: 225px;
	}
}

/* H2 ------------------------------------------------------------------------------------------------*/

h2 {}

/* H3 ------------------------------------------------------------------------------------------------*/

h3.contents-title {
    letter-spacing: 0.05em;
    margin-bottom: 25px;
}
h3.contents-title .en {
    display: block;
    font-family: var(--f-family-dinL);
    color: var(--col-f-RosyGreen);
    letter-spacing: 0.05em;
    font-size: clamp(47px, 5vw, 50px);
    line-height: 1;
}
h3.contents-title .jp {
    display: block;
    color: var(--col-f-Gray);
    font-weight: var(--f-wght-rglr-450);
    font-size: 20px;
    line-height: 1;
    margin-top: 0;
}

h3.contents-sub-title {
    font-size: var(--f-size-L);
    color: var(--col-f-RosyGreen);
    font-weight: var(--f-wght-mid);
}

@media only screen and (max-width: 767px) {
h3.contents-title {
    margin-top: 30px;
    margin-bottom: 25px;
}
h3.contents-title .en {
}
h3.contents-title .jp {
}
h3.contents-sub-title {}
}

/* News */

.section-top-news h3.contents-title {
    margin-bottom: 50px;
}
.section-news h3.contents-title .en {}
.section-news h3.contents-title .jp { margin-left: 0px; }

/* About */
.section-top-about h3.contents-title {
    margin-bottom: 50px;
}
.section-about h3.contents-title .en { margin-left: 0px; }
.section-about h3.contents-title .jp { margin-left: 0px; }

/* Recruit */
.section-recruit h3.contents-title {}
.section-recruit h3.contents-title .en { margin-left: -4px; }
.section-recruit h3.contents-title .jp { margin-left: 0px; }

/* Contact */
.section-contact h3.contents-title { margin-left: 0px; }
.section-contact h3.contents-title .en { margin-left: -3px; }
.section-contact h3.contents-title .jp {}

@media only screen and (max-width: 767px) {
.section-top-news h3.contents-title,
.section-top-about h3.contents-title,
.section-recruit h3.contents-title,
.section-top-contact h3.contents-title {
	text-align: center;
	margin-bottom: 40px;
}
.section-top-news h3.contents-title {
    margin-top: 30px;
    margin-bottom: 40px;
}
.section-news h3.contents-title .en {
    margin-left: 0;
}
.section-news h3.contents-title .jp {}

/* About */
.section-top-about h3.contents-title {
    margin-bottom: 40px;
}
.section-about h3.contents-title .en {}
.section-about h3.contents-title .jp {}

/* Recruit */
.section-recruit h3.contents-title {}
.section-recruit h3.contents-title .en {
    margin-bottom: 5px;
}
.section-recruit h3.contents-title .jp {}

/* Contact */
.section-contact h3.contents-title {
}
.section-contact h3.contents-title .en {}
.section-contact h3.contents-title .jp {}
}

/* H3 - Greeting Title ------------------------*/

h3.greeting-title {
	font-weight: var(--f-wght-mid);
	font-size: var(--f-size-title);
	margin-bottom: 30px;
}

/* H3 - About Title ---------------------------*/

h3.about-title {
	font-weight: var(--f-wght-mid);
	color: var(
	--col-f-RosyGreen);
	font-size: var(
	--f-size-title);
	margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
h3.about-title {
    margin-bottom: 10px;
}
}

/* H3 - About Title ---------------------------*/

@media only screen and (max-width: 767px) {
.section-partners h3.contents-sub-title {
    margin: 40px 0 30px;
    font-size: 20px;
    color: #333333;
}
}

/* H4 ------------------------------------------------------------------------------------------------*/

/* H4 - Company Philosophy Title --------------*/

h4.company-philosophy-title {
	font-size: var(--f-size-mid2);
	font-weight: var(--f-wght-mid);
	margin-bottom: 10px;
}

/* H4 - Norm Title ----------------------------*/

h4.norm-title {
	font-size: var(--f-size-mid2);
	font-weight: var(--f-wght-mid);
	color: var(--col-f-RosyGreen);
}

@media only screen and (max-width: 767px) {
h4.norm-title {
    line-height: var(--lht-s);
}
}

/* H4 - Business Title ------------------------*/

h4.business-title {
	font-size: var(--f-size-title);
	font-weight: var(--f-wght-mid);
	margin-bottom: 10px;
}

/* H4 - Service Flow --------------------------*/

h4.service-flow-title {
	display: flex;
    background: var(--col-bg-PaleGreen);
    align-items: center;
}
h4.service-flow-title .no {
    font-family: var(--f-family-dinL);
    color: var(--col-f-wht);
    background-color: var(--col-f-RosyGreen);
    font-size: 60px;
    height: 65px;
    min-width: 65px;
    text-align: center;
    line-height: 1;
    padding: 8px 0 0;
}
h4.service-flow-title .title {
    font-size: var(--f-size-mid3);
    font-weight: var(--f-wght-mid);
    width: 100%;
    padding-left: 40px;
}

@media only screen and (max-width: 767px) {
h4.service-flow-title {}
h4.service-flow-title .no {
    height: 50px;
    min-width: 50px;
    font-size: 45px;
    line-height: 50px;
    padding: 0;
}
h4.service-flow-title .title {
    padding-left: 20px;
}
}

/* H4 - Partners Title ------------------------*/

h4.partners-title {
    font-size: var(--f-size-20);
    font-weight: var(--f-wght-mid);
    color: var(--col-f-wht);
    background: var(--col-f-RosyGreen);
    line-height: 1.3;
    margin-bottom: 20px;
}

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

/* H5 ------------------------------------------------------------------------------------------------*/

h5.service-flow-title {
	background: none;
	margin-bottom: 8px;
	font-size: clamp(14px, 1.8vw, 18px);
}

/* H6 ------------------------------------------------------------------------------------------------*/

h6.service-flow-title {
	font-size: clamp(14px, 1.8vw, 18px);
	margin-bottom: 0.5em;
}


/******************************************************************************************************

    Icons

*******************************************************************************************************/

.icn {
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    vertical-align: sub;
	background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Icon Google Map -----------------------------------------------------------------------------------*/

.icn-googlemap {
    background-image: url(../img/icon_googlemap.svg);
}

/* Icon Contact --------------------------------------------------------------------------------------*/

.icn-contact {
	background-image: url(../img/icon_mail.svg);
	width: 30px;
	height: 30px;
	margin: 0px 10px -4px 0px;
}

/* Icon Phone ----------------------------------------------------------------------------------------*/

.icn-phone {
	background-image: url(../img/phone.svg);
	width: 40px;
	height: auto;
	width: clamp(30px, 6.97vw, 40px);
	aspect-ratio: 1 / 1;
	vertical-align: text-bottom;
}

/* Icon PDF ------------------------------------------------------------------------------------------*/

.icn-pdf {
	background-image: url(../img/icon_pdf.svg);
	width: 1.5em;
	height: 1.5em
}

/* SNS Icon ------------------------------------------------------------------------------------------*/

.icn-x, .icn-instagram {
	width: 40px;
	height: 40px;
}

/* SNS Icon - X --------------------------------------------------------------------------------------*/

.icn-x {
    background-image: url(../img/sns_x.svg);
}

/* SNS Icon - Instagram ------------------------------------------------------------------------------*/

.icn-instagram {
	background-image: url(../img/sns_Instagram.svg);
}

/* SNS Icon - Youtube --------------------------------------------------------------------------------*/

.icn-youtube {
	background-image: url(../img/sns_Youtube.svg);
}

/* SNS Icon - TicToc ---------------------------------------------------------------------------------*/

.icn-tictoc {
	background-image: url(../img/sns_TikTok.svg);
}

/* SNS Icon - Line -----------------------------------------------------------------------------------*/

.icn-line {
	background-image: url(../img/sns_line.svg);
}

/* SNS Icon - Facebook -------------------------------------------------------------------------------*/

.icn-facebook {
	background-image: url(../img/sns_Facebook.svg);
}

/******************************************************************************************************

    Links

*******************************************************************************************************/

/*----------------------------------------------------------------------------------------------------

    Link Block

------------------------------------------------------------------------------------------------------*/

.link-block {}
.link-block a {
	text-decoration: underline;
}

.link-block a.blank {
	display: inline-block;
	padding-right: 1.7em;
	background-image: url(../img/icon-blank-r.svg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1.5em;
}

i.t-blank {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	background-image: url(../img/icon-blank-w.svg);
	background-size: contain;
	background-position: center;
	vertical-align: middle;
	margin-left: 5px;
}

@media only screen and (max-width: 767px) {
	.link-block {
	    line-height: 1.1;
	}
	.link-block a {
	}
	.link-block a.blank {}
	
	i.t-blank {}
}

/*----------------------------------------------------------------------------------------------------

    Link Blank

------------------------------------------------------------------------------------------------------*/
/* Link Blank ----------------------------------------------------------------------------------------*/

a.link-blank {
	position: relative;
}
a.link-blank:after {
	position: absolute;
	content: "";
	background-image: url(../img/newwindow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	width: 1.75em;
	height: 1.75em;
	top: calc(50% + 1px);
	transform: translateY(-50%);
	filter: invert(0%) sepia(100%) saturate(0%) hue-rotate(42deg) brightness(103%) contrast(103%);
	right: 5px;
}
a.link-blank:hover:after {
	filter: invert(100%) sepia(71%) saturate(0%) hue-rotate(296deg) brightness(117%) contrast(100%);
}

a.link-blank.link-gmap {padding-right: 45px;}
.flex-contents .title-block a.link-blank.link-gmap:after {
    left: auto;
    right: 20px;
}
.flex-contents .title-block a.link-blank.link-gmap:hover:after {
	right: 0;
}

/* Title Block --------------------------------*/

.flex-contents .title-block .link-blank {
	font-size: var(--f-size-mid);
}
.flex-contents .title-block .link-blank:after {
    left: 100%;
    width: 1.5em;
    height: 1.5em;
    filter: none;
}
.flex-contents .title-block .link-blank:hover:after {
	left: calc(100% + 20px);
}

/* Link PDF -----------------------------------*/

.link-pdf.link-blank {
	padding-right: 1.5em;
} 
.link-pdf.link-blank:after {
	right: 0;
    filter: none;
    width: 1.5em;
    height: 1.5em;
}

@media only screen and (max-width: 767px) {
.link-pdf.link-blank {} 
.link-pdf.link-blank:after {
	width: 1.7em;
	height: 1.7em;
}
}

/* Agree Link ---------------------------------*/

.agree-link.link-blank {
    padding-right: 2em;
    font-size: var(--f-size-table);
    color: var(--col-f-Gray2);
    text-decoration: underline;
}
.agree-link.link-blank:after {
    right: 0;
    filter: none;
    width: 1.5em;
    height: 1.5em;
}

/* Footer -------------------------------------*/

.footer .link-blank {
    padding-right: 2em;
}
.footer .link-blank:after {
    right: 0;
    filter: none;
    width: 1.5em;
    height: 1.5em;
}

/*----------------------------------------------------------------------------------------------------

    Link Self

------------------------------------------------------------------------------------------------------*/
/* Link Self -----------------------------------------------------------------------------------------*/

.link-self,
.btn-link-self {
	position: relative;
}
.link-self:after,
.btn-link-self:after  {
	position: absolute;
	content: "";
	display: inline-block;
	vertical-align: middle;
	color: var(--col-f-RosyGreen);
	line-height: 1;
	width: 12px;
	height: 12px;
	border: 2px solid var(--col-f-RosyGreen);
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	top: calc(50% + 1px);
	left: calc(100% + 12px);
	transform: translateY(-50%) rotate(45deg);
	/* transition: all .3s; */
}
.link-self:hover:after {
	left: calc(100% + 12px + 10px);
}

/* Title Block --------------------------------*/

.flex-contents .title-block .link-self {
	font-size: var(--f-size-mid);
}

/*----------------------------------------------------------------------------------------------------

    Link More

------------------------------------------------------------------------------------------------------*/
/* Link More -----------------------------------------------------------------------------------------*/

.link-more {
	position: relative;
	display: inline-block;
}
.link-more:after {
	position: absolute;
	content: "";
	display: inline-block;
	vertical-align: middle;
	color: var(--col-f-RosyGreen);
	line-height: 1;
	width: 12px;
	height: 12px;
	border: 2px solid var(--col-f-RosyGreen);
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	top: calc(50% + -3px);
	left: calc(100% + 12px);
	transform: translateY(-50%) rotate(135deg);
	font-size: var(--f-size-mid);
}

@media only screen and (max-width: 767px) {
.link-more {
    border: 1px solid var(--col-f-RosyGreen);
    width: 160px;
    height: 70px;
    background: var(--col-f-wht);
    border-radius: 70px;
    font-size: 17px;
    color: var(--col-f-RosyGreen);
    padding: 10px 0;
}
.link-more:after {
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
    bottom: 18px;
    top: auto;
}
}

/*----------------------------------------------------------------------------------------------------

    Link Back

------------------------------------------------------------------------------------------------------*/
/* Link back -----------------------------------------------------------------------------------------*/

.link-back {
	position: relative;
	display: inline-block;
	padding-left: 1em;
}
.link-back:after {
	position: absolute;
	content: "";
	display: inline-block;
	vertical-align: middle;
	color: var(--col-f-RosyGreen);
	line-height: 1;
	width: 12px;
	height: 12px;
	border: 2px solid var(--col-f-RosyGreen);
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	top: calc(50% + 1px);
	left: 0;
	transform: translateY(-50%) rotate(-135deg);
}

/* Title Block --------------------------------*/

.flex-contents .title-block .link-back {
	font-size: var(--f-size-mid);
}

/*----------------------------------------------------------------------------------------------------

    Link PDF

------------------------------------------------------------------------------------------------------*/
/* Link PDF -----------------------------------------------------------------------------------------*/

.link-pdf {}
.link-pdf .icn {
    vertical-align: bottom;
    margin-right: 5px;
}

/*----------------------------------------------------------------------------------------------------

    Move Top Link

------------------------------------------------------------------------------------------------------*/

.moveTop {
    position: fixed;
    right: -100px;
    transition: all 0.4s;
    bottom: 40px;
    /* right: 0; */
    height: 80px;
}
.moveTop.open {
    right: 40px;
}
.moveTop.open.footer {
    position: absolute;
    border: none;
}
.moveTop a.btnMoveTop {
    text-decoration: none;
    color: #FFF;
    display: inline-block;
    /*background: #E50012;*/
    width: 80px;
    height: 80px;
    text-align: center;
}
.moveTop a.btnMoveTop img {
	width: 100%;
}
.moveTop a.btnMoveTop .icn_arrow-top {
    display: block;
    height: 30px;
    background-image: url(../img/icn_arrow_totop.svg);
    background-position: top 6px center;
    background-size: 30px;
    background-repeat: no-repeat;
}
.moveTop a.btnMoveTop .text {
    font-size: 14px;
    letter-spacing: 0.1em;
    display: block;
    line-height: 20px;
    margin-top: -2px;
	font-weight: bold;
}

#moveTopSP.moveTopSP.sp .btnMoveTop {
    text-decoration: none;
    color: #FFF;
    display: block;
    background: #E50012;
    height: 50px;
    text-align: center;
}
#moveTopSP.moveTopSP.sp .btnMoveTop .icn_arrow-top,
#moveTopSP.moveTopSP.sp .btnMoveTop .icn_arrow-top {
    display: block;
    height: 30px;
    background-image: url(../img/icn_arrow_totop.svg);
    background-position: top 10px center;
    background-size: 20px;
    background-repeat: no-repeat;
}
#moveTopSP.moveTopSP.sp .btnMoveTop .text,
#moveTopSP.moveTopSP.sp .btnMoveTop .text{
    font-size: 14px;
    /* font-family: "DINOT-Bold"; */
    letter-spacing: 0.1em;
    display: block;
    line-height: 20px;
    margin-top: -5px;
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
	.moveTop {
		/* display: none; */
		height: 60px;
	}
	.moveTop a.btnMoveTop {
	    width: 60px;
	    height: 60px;
	}
	.moveTop.open {
	    right: 20px;
	}
}

/******************************************************************************************************

    Buttons

*******************************************************************************************************/

.btn {
	border: none;
	background: none;
	padding: 0;
	margin: 0;
	cursor: pointer;
}
.btn:hover {
	opacity: 0.6;
}

/* Scroll Btton --------------------------------------------------------------------------------------*/

.btn-scroll {
	position: absolute;
	color: var(--col-f-RosyGreen);
	width: 70px;
	height: 50px;
	font-size: 12px;
	left: 50%;
	transform: translateX(-50%);
}
.btn-scroll .arrow-1, .btn-scroll .arrow-2, .btn-scroll .btn-text {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.btn-scroll .arrow-1, .btn-scroll .arrow-2 {
    display: inline-block;
    vertical-align: middle;
    color: var(--col-f-RosyGreen);
    line-height: 1;
    width: 1.5em;
    height: 1.5em;
    border: 1px solid var(--col-f-RosyGreen);
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    top: 0;
    transform: translateX(-50%) rotate(135deg);
    animation: scrollBtnBounce 2s linear infinite;
    animation-iteration-count: 2s;
	animation-delay: 2s;
    /*margin-top: -10px;*/
}
.btn-scroll .arrow-1 {}
.btn-scroll .arrow-2 {
    top: 6px;
}
.btn-scroll .btn-text {
    bottom: 3px;
}

@keyframes scrollBtnBounce {
    0% {
        margin-top: 0;
    }
    10% {
        margin-top: -5px;
    }
    20% {
        margin-top: -10px;
    }
    30% {
        margin-top: -5px;
    }
    40% {
        margin-top: 0px;
    }
    50% {
        margin-top: 5px;
    }
	60% {
        margin-top: 0px;
    }
}

@media only screen and (max-width: 767px) {
	.btn-scroll {
	    top: 10px;
	}
}

/* Btton Ellopse -------------------------------------------------------------------------------------*/

.btn-ellipse {
	display: inline-block;
	font-size: var(--f-size-mid);
	line-height: 60px;
	width: 100%;
	max-width: 390px;
	text-align: center;
	border: 1px solid var(--col-bdr-LightGray);
	border-radius: 60px;
	margin-bottom: 20px;
}

/* Btton Green ---------------------------------------------------------------------------------------*/

.btn-green {
	border: none;
	background: var(--col-f-RosyGreen);
	color: var(--col-f-wht);
}
.btn-green.link-blank {}
.btn-green.link-blank:after {
	filter: var(--filter-White);
	background-image: url(../img/newwindow_blk.svg);
	right: 15px;
}

/* Btton Border Green --------------------------------------------------------------------------------*/

.btn-bdr-green {
	border: 1px solid var(--col-f-RosyGreen);
	color: var(--col-f-RosyGreen);
	background-color: var(--col-f-wht);
}

/* Btton Link Self -----------------------------------------------------------------------------------*/

.btn-link-self:after {}

@media only screen and (max-width: 767px) {
.btn-link-self {
	max-width: 236px;
	margin: 0 auto;
	display: block;
}
.btn-link-self:after {
    left: auto;
    right: 20px;
}
}

/******************************************************************************************************

    SP NAV

*******************************************************************************************************/

/*----------------------------------------------------------------------------------------------------

    SP NAV OPEN BUTTON

------------------------------------------------------------------------------------------------------*/

#btnSPNavOpen {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	width: 80px;
	height: 80px;
	z-index: 100;
	opacity: 1;
}
#btnSPNavOpen .l, #btnSPNavOpen .t {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 45px;
	height: 2px;
	background-color: var(--col-f-RosyGreen);
	transform: translateX(-50%) translateY(-50%);
}
#btnSPNavOpen .l {
    top: 40%;
}
#btnSPNavOpen .l:nth-of-type(1) {
	margin-top: -10px;
	animation:Animation-btnSPNavOpenClose-1 .6s forwards;
}
#btnSPNavOpen .l:nth-of-type(2) {
	animation:Animation-btnSPNavOpenClose-2 .6s forwards;
}
#btnSPNavOpen .l:nth-of-type(3) {
    margin-top: 10px;
	animation:Animation-btnSPNavOpenClose-3 .6s forwards;
}
#btnSPNavOpen .t {
	height: auto;
	background: transparent;
	line-height: 1;
	text-align: center;
	top: auto;
	bottom: 20px;
	transform: translateX(-50%);
	font-size: 12px;
	display: block;
}
#btnSPNavOpen.open .t {
	animation:Animation-btnSPNavOpenOpen-t .6s forwards;
}
#btnSPNavOpen.open .l:nth-of-type(1) {
	animation:Animation-btnSPNavOpenOpen-1 .6s forwards;
}
#btnSPNavOpen.open .l:nth-of-type(2) {
	animation:Animation-btnSPNavOpenOpen-2 .6s forwards;
}
#btnSPNavOpen.open .l:nth-of-type(3) {
	animation:Animation-btnSPNavOpenOpen-3 .6s forwards;
}
@keyframes Animation-btnSPNavOpenOpen-t {
	0%{ content: "menu"; opacity: 1;}
	50%{ content: "menu"; opacity: 0;}
	100%{ content: "close"; opacity:1; }
}
@keyframes Animation-btnSPNavOpenOpen-1 {
	0%{ margin-top: -10px; transform: translateX(-50%) translateY(-50%) rotate(0deg); }
	50%{ margin-top: 0px; transform: translateX(-50%) translateY(-50%) rotate(0deg); }
	100%{ margin-top: 0px; transform: translateX(-50%) translateY(-50%) rotate(20deg); }
}
@keyframes Animation-btnSPNavOpenOpen-2 {
	0%{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 1; }
	50%{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 0; }
	100%{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 0; }
}
@keyframes Animation-btnSPNavOpenOpen-3 {
	0%{ margin-top: 10px; transform: translateX(-50%) translateY(-50%) rotate(0deg); }
	50%{ margin-top: 0px; transform: translateX(-50%) translateY(-50%) rotate(0deg); }
	100%{ margin-top: 0px; transform: translateX(-50%) translateY(-50%) rotate(-20deg); }
}
@keyframes Animation-btnSPNavOpenClose-1 {
	0%{ margin-top: 0px; transform: translateX(-50%) translateY(-50%) rotate(20deg); }
	50%{ margin-top: 0px; transform: translateX(-50%) translateY(-50%) rotate(0deg); }
	100%{ margin-top: -10px; transform: translateX(-50%) translateY(-50%) rotate(0deg); }
}
@keyframes Animation-btnSPNavOpenClose-2 {
	0%{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 0; }
	50%{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 0; }
	100%{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 1; }
}
@keyframes Animation-btnSPNavOpenClose-3 {
	0%{ margin-top: 0px; transform: translateX(-50%) translateY(-50%) rotate(-20deg); }
	50%{ margin-top: 0px; transform: translateX(-50%) translateY(-50%) rotate(0deg); }
	100%{ margin-top: 10px; transform: translateX(-50%) translateY(-50%) rotate(0deg); }
}

@media only screen and (max-width: 767px) {
#btnSPNavOpen {
	display: block;
}
}

/*----------------------------------------------------------------------------------------------------

    SP NAV MENU

------------------------------------------------------------------------------------------------------*/

#spNav {
	position: fixed;
	max-width: inherit;
	width: 100%;
	height: 100%;
	top: 0px;
	left: auto;
	z-index: 98;
	left: 0px;
	opacity: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	margin-top: 80px;
	/* mix-blend-mode: multiply; */
	padding-bottom: 200px;
	display: none;
}
#spNav .nav-outer {
    margin-top: 35px;
    margin-bottom: 25px;
}
#spNav .nav-outer .gnav-sp {
    color: #FFF;
}
#spNav .nav-outer .gnav-sp .nav-menu {
    border-top: 1px solid var(--col-bdr-LightGray);
}
#spNav .nav-outer .gnav-sp .nav-menu:last-child {
	border-bottom: 1px solid var(--col-bdr-LightGray);
}
#spNav .nav-outer .gnav-sp .nav-menu a {
	color: #FFF;
	display: flex;
	align-items: center;
	height: 50px;
	width: 100%;
	padding: 0 30px;
	font-size: var(--f-size-sp17);
	font-weight: var(--f-wght-mid);
	position: relative;
}
#spNav .nav-outer .gnav-sp .nav-menu a:before {
	position: absolute;
	content: "";
	display: inline-block;
	vertical-align: middle;
	color: var(--col-f-wht);
	line-height: 1;
	width: 12px;
	height: 12px;
	border: 2px solid var(--col-f-wht);
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	top: calc(50%);
	right: 35px;
	transform: translateY(-50%) rotate(45deg);
}
#spNav .nav-outer .gnav-sp .nav-menu a.link-blank:before {
	display: none;
}
#spNav .nav-outer .gnav-sp .nav-menu a.link-blank:after {
	background-image: url(../img/newwindow_blk.svg);
	filter: var(--filter-White);
	right: 25px;
}
#spNav .nav-outer .gnav-sp .nav-menu a.sub-trigger {
	/* position: relative; */
}
#spNav .nav-outer .gnav-sp .nav-menu a.sub-trigger:before {
    width: 18px;
    height: 2px;
    border: none;
    background: var(--col-f-wht);
    transform: translateY(-50%);
    right: 30px;
}
#spNav .nav-outer .gnav-sp .nav-menu a.sub-trigger:after {
	position: absolute;
	content: "";
	display: inline-block;
	width: 18px;
	height: 2px;
	border: none;
	background: var(--col-f-wht);
	transform: translateY(-50%) rotate(-90deg);
	right: 30px;
	top: 50%;
}
#spNav .nav-outer .gnav-sp .nav-menu a.sub-trigger.open:after {
	transform: translateY(-50%) rotate(0deg);
}
#spNav .nav-outer .gnav-sp .nav-menu .sub-trigger .en {
	display: none;
}
#spNav .nav-outer .gnav-sp .nav-menu .sub-trigger .jp {}
#spNav .nav-outer .gnav-sp .nav-menu .sub-menu {
    /* display: none; */
    transition: none;
}
#spNav .nav-outer .gnav-sp .nav-menu .sub-menu .inner {}
#spNav .nav-outer .gnav-sp .nav-menu .sub-menu .inner .sub-gnav {}
#spNav .nav-outer .gnav-sp .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu {
    border-top: 1px solid var(--col-bdr-LightGray);
}
#spNav .nav-outer .gnav-sp .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu > a {
	padding-left: calc(30px + 1em);
}
#spNav .nav-outer .gnav-sp .nav-menu  .en {
    display: none;
}
#spNav .nav-outer .gnav-sp .nav-menu  .jp {}
#spNav .nav-outer .gnav-sp .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu .link-blank {}
#spNav .nav-footer {}
#spNav .nav-footer .sns-menu {}
#spNav .nav-footer .sns-menu .sns-menu-ul {
    justify-content: center;
}
#spNav .nav-footer .sns-menu .sns-menu-ul .sns-menu-item {}
#spNav .nav-footer .sns-menu .sns-menu-ul .sns-menu-item .icn {
    filter: var(--filter-White);
}
#spNav .nav-footer .sns-menu .sns-menu-ul .sns-menu-item .icn.icn-instagram {}

.overlay {
	position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    display: none;
    z-index: 1;
}

@media only screen and (max-width: 767px) {
#spNav {
	display: block;
}
}

/******************************************************************************************************

    Header

*******************************************************************************************************/

.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 80px;
	padding: 0 30px;
	background: var(--col-bg-Gray);
	background: var(--col-f-wht);
	position: fixed;
	width: 100%;
	z-index: 3;
	box-shadow: 0 0px 10px 0px #CCCCCC;
}
.header-menu {}
.header-menu .gnav {
    display: flex;
    gap: 4px;
}
.header-menu .gnav .nav-menu {
    /* padding: 0 12px; */
    position: relative;
}
.header-menu .gnav .nav-menu  .en {
    position: relative;
    font-family: var(--f-family-dinM);
    color: var(--col-f-RosyGreen);
    line-height: 1;
    padding: 4px 12px 0px;
    transition: all .3s;
    border-radius: 50px;
}
.header-menu .gnav .nav-menu  .jp {
    font-size: 10px;
    padding: 0 12px;
}
.header-menu .gnav .nav-menu > a {
	display: block;
}
.header-menu .gnav .nav-menu > a > span {
	display: block;
}
.header-menu .gnav .nav-menu > a:hover {
	opacity: 1;
}
.header-menu .gnav .nav-menu:hover .en {
	color: #FFF;
	background: var(--col-f-Red);
}
.header-menu .gnav .nav-menu.active .en {
	background: var(--col-f-RosyGreen);
	color: var(--col-f-wht);
}
.header-menu .gnav .nav-menu .sub-trigger {}
.header-menu .gnav .nav-menu .sub-trigger .en {}
.header-menu .gnav .nav-menu .sub-trigger .jp {}
.header-menu .gnav .nav-menu .sub-menu {
	display: none;
	position: absolute;
	min-width: 180px;
	left: 0;
}
.header-menu .gnav .nav-menu:hover .sub-menu {
	display: block;
}
.header-menu .gnav .nav-menu .sub-menu .inner {
	opacity: 0;
    -webkit-box-shadow: 0 0 10px 0 #E6E6E6;
    box-shadow: 0 0 10px 0 #E6E6E6;
    background: var(--col-f-wht);
    /* border-radius: 2px; */
    margin-top: 10px;
	animation: OpacityAnimationOut .6s ease-in-out 1 forwards;
}
.header-menu .gnav .nav-menu:hover .sub-menu .inner {
	animation: OpacityAnimationIn .6s ease-in-out 1 forwards;
}
.header-menu .gnav .nav-menu .sub-menu .inner .sub-gnav {
}
.header-menu .gnav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu {
    padding: 2px;
    border-bottom: 1px solid #E6E6E6;
}
.header-menu .gnav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu:last-child {
	border-bottom: none;
}
.header-menu .gnav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu a {
	font-size:12px;
	display: block;
	padding: 3px 8px 5px;
	border-radius: 2px;
}
.header-menu .gnav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu a:hover {
	background: var(--col-f-Red);
	color: var(--col-f-wht);
	opacity: 1;
}
.header-menu .gnav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu .link-blank {}

@keyframes OpacityAnimationIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes OpacityAnimationOut {
	0% { opacity: 1; }
	100% { opacity: 0; }
}

@media only screen and (max-width: 767px) {
	.header {
	    height: 80px;
	    padding: 0 15px;
	    background: #FFF;
	    -webkit-box-shadow: 0 5px 10px -5px #8C8C8C;
	    box-shadow: 0 0px 10px 0px #8C8C8C;
	    z-index: 99;
	}
	.header-menu {
	    display: none;
	}
}

/******************************************************************************************************

    Main Visual

*******************************************************************************************************/

.main-visual { height: 100vh; }
.main-visual .visual-block { height: calc(100% - 50px); }
.main-visual .visual-block #mainVisualSlider,
.main-visual .visual-block #mainVisualSliderSP {height: 100%;}
.main-visual .visual-block #mainVisualSlider .slide-item,
.main-visual .visual-block #mainVisualSliderSP .slide-item {
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.main-visual .visual-block #mainVisualSliderSP {}
.main-visual .visual-block #mainVisualSliderSP .slide-item {}
.main-visual .scroll-block {
	height: 50px;
	text-align: center;
	position: relative;
}
.main-visual .visual-block #mainVisualSlider .slide-item a {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	cursor: pointer;
}

@media only screen and (min-width: 768px) {
.main-visual .visual-block #mainVisualSlider .slide-item a:hover {
	background-color: rgba(255,255,255,0.4);
}
}

.bx-wrapper {
    height: 100%;
    margin: 0;
    padding: 0;
    box-shadow: none;
    background: transparent;
    border: none;
}
.bx-viewport {
	height: 100% !important;
}
.bx-controls {}
.bx-controls .bx-pager,
.slick-dots {
    padding-top: 0;
    width: auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 20px;
    padding: 2px 10px;
}
.bx-controls .bx-pager .bx-pager-item,
.slick-dots li {
    vertical-align: super;
    width: auto;
    height: auto;
    margin: 0 6px;
}
.bx-controls .bx-pager .bx-pager-item .bx-pager-link,
.slick-dots li button {
    width: 12px;
    height: 12px;
    border-radius: 12px;
    border: 1px solid var(--col-f-RosyGreen);
    background: transparent;
}
.slick-dots li button:before {
	display: none;
}
.bx-controls .bx-pager .bx-pager-item .bx-pager-link.active,
.slick-dots li.slick-active button {
	background: var(--col-f-RosyGreen);
}
.main-visual .visual-block #mainVisualSlider .slick-list {
    height: 100% !important;
}
.main-visual .visual-block #mainVisualSlider .slick-list .slick-track {
    height: 100%;
}

.main-visual .visual-block #mainVisualSlider .slick-active {
	position: relative;
	z-index: 1;
}

@media only screen and (max-width: 767px) {
.main-visual {}
.main-visual .visual-block {
    height: calc(100% - 80px);
}
.main-visual .visual-block #mainVisualSlider {}
.main-visual .visual-block #mainVisualSlider .slide-item {
    height: 100% !important;
}
.main-visual .visual-block #mainVisualSliderSP {}
.main-visual .visual-block #mainVisualSliderSP .slide-item {}
.main-visual .scroll-block {
    height: 80px;
    position: relative;
}
}

/******************************************************************************************************

    Main Menu

*******************************************************************************************************/

.main-menu {
    margin-bottom: 30px;
}
.main-menu ul {
    display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
.main-menu  .menu-item {
}
.main-menu  .menu-item .menu-link {
    font-weight: bold;
    padding-left: 18px;
    background-image: url(../img/arrow-1.svg);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 14px;
    padding-bottom: 1.5px;
    white-space: nowrap;
}
.main-menu  .menu-item .menu-link .icn-menu {}

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

@media only screen and (max-width: 767px) {
	.main-menu {
	    margin-bottom: 0px;
	}
	.main-menu ul {
	    gap: 15px;
	    flex-wrap: wrap;
	    justify-content: flex-start;
	}
}

/******************************************************************************************************

    TOP - Common

*******************************************************************************************************/

.section-top-recruit .text-contents,
.section-top-contact .text-contents {
	margin-bottom: 40px;
	font-size: var(--f-size-label);
}

/******************************************************************************************************

    TopNews

*******************************************************************************************************/

.section-top-news {
    background: var(--grad-pc);
}
.section-news .link-self {}
.section-top-news .link-self {
    padding-right: 30px;
}
.section-top-news .link-self:after {
	right: 10px;
	left: auto;
}
.section-top-news .link-self:hover:after {
    left: auto;
    right: 0;
}

/*----------------------------------------------------------------------------------------------------

    News List

------------------------------------------------------------------------------------------------------*/

.news-list {
    background: var(--col-f-wht);
}
.news-list .news-item {
    border-top: 1px solid var(--col-bdr-Gray);
}
.news-list:last-child .news-item:last-child,
.section-top-news .news-list .news-item:last-child {
	border-bottom: 1px solid var(--col-bdr-Gray);
}
.news-list .news-item .news-link {
    display: flex;
    padding: 15px 20px;
    gap: 10px;
}
.news-list .news-item .news-link:hover {
	opacity: 1;
	background: var(--col-bg-PaleYellow);
}
.news-list .news-item .news-link .news-image-block {
	width: 145px;
	aspect-ratio: 145 / 110;
}
.news-list .news-item .news-link .news-image-block .news-image {
    width: 145px;
    /* aspect-ratio: 145 / 110; */
    height: 100%;
    background-size: cover;
    background-position: center;
    background-image: url(../img/news_void.png);
}
.news-list .news-item .news-link .news-body-block {
    /* width: 100%; */
    flex: 1;
    min-width: 0;
}
.news-list .news-item .news-link .news-body-block .news-head {
    display: flex;
    font-size: var(--f-size-label);
    align-items: center;
    gap: 8px;
    margin: 15px 0;
}
.news-label.news-new {
    font-size: var(--f-size-label);
    background: var(--col-f-Red);
    color: var(--col-f-wht);
    width: 50px;
    text-align: center;
    line-height: 23px;
    padding-top: 0px;
}
.news-list .news-item .news-link .news-body-block .news-head .news-date {
    margin-right: 10px;
}
.news-label.news-recruit,
.news-label.news-event {
    font-size: var(--f-size-label);
    border: 1px solid var(--col-f-RosyGreen);
    color: var(--col-f-RosyGreen);
    padding: 0 8px;
    line-height: 20px;
    padding-top: 1px;
}
.news-list .news-item .news-link .news-body-block .news-body .news-title {
    font-size: var(--f-size-label);
}

@media only screen and (max-width: 767px) {
.news-outer {
    margin-bottom: 20px;
}
.news-list {
    margin: 0 -20px;
}
.news-list .news-item {}
.news-list:first-child .news-item:first-child {
	border-top: 1px solid var(--col-bdr-PaleGreen);
}
.news-list:last-child .news-item:last-child {
    border-bottom: 1px solid var(--col-bdr-PaleGreen);
}
.news-list .news-item .news-link {
    gap: 15px;
}
.news-list .news-item .news-link:hover {}
.news-list .news-item .news-link .news-image-block {
    width: 110px;
    aspect-ratio: 1 / 1;
}
.news-list .news-item .news-link .news-image-block .news-image {
    width: 110px;
    height: 110px;
    /* aspect-ratio: 1 / 1; */
}
.news-list .news-item .news-link .news-body-block {}
.news-list .news-item .news-link .news-body-block .news-head {
    position: relative;
    margin: 10px 0;
    gap: 4px;
}
.news-label {
	
}
.news-label.news-new {
    width: 40px;
    height: 20px;
    line-height: 18px;
    padding-top: 1px;
}
.news-list .news-item .news-link .news-body-block .news-head .news-date {
    margin: 0;
}
.news-label.news-recruit {
    position: absolute;
    right: 0;
    height: 20px;
    line-height: 18px;
    padding: 0 20px;
}
.news-list .news-item .news-link .news-body-block .news-body .news-title {
    line-height: var(--lht-s);
}
.news-list .news-item .news-link .news-body-block .news-head .news-label:last-child {
    position: absolute;
	right: 0;
}
.section-top-news .btn-outer {
	margin-top: 30px;
}

}

/******************************************************************************************************

    TopAbout

*******************************************************************************************************/

.section-about.section-top-about {
    background: var(--col-f-wht);
}

@media only screen and (max-width: 767px) {
.section-top-about .title-block .link-gmap {
	display: none;
}
}

/*----------------------------------------------------------------------------------------------------

    List Menu

------------------------------------------------------------------------------------------------------*/

.list-menu {
    margin-bottom: 20px;
}
.list-menu .list-menu-item {
    border-top: 1px solid var(--col-bdr-Gray);
    padding: 0;
}
.list-menu .list-menu-item:last-child {
	border-bottom: 1px solid var(--col-bdr-Gray);
}
.list-menu .list-menu-item .menu-link {
    display: block;
    line-height: 70px;
    padding: 0 12px;
	position: relative;
}
.list-menu .list-menu-item .menu-link.menu-self:after {
    position: absolute;
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: var(--col-f-RosyGreen);
    line-height: 1;
    width: 12px;
    height: 12px;
    border: 2px solid var(--col-f-RosyGreen);
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    top: calc(50%);
    right: 10px;
    transform: translateY(-50%) rotate(45deg);
}
.list-menu .list-menu-item .menu-link.menu-self:hover:after {
	right: -10px;
}

@media only screen and (max-width: 767px) {
.list-menu {
    margin-bottom: 10px;
}
.list-menu .list-menu-item {}
.list-menu .list-menu-item:last-child {}
.list-menu .list-menu-item .menu-link {
    font-size: 17px;
}
.list-menu .list-menu-item .menu-link.menu-self:after {}
.list-menu .list-menu-item .menu-link.menu-self:hover:after {}
}

/******************************************************************************************************

    TopRecruit

*******************************************************************************************************/

.section-recruit.section-top-recruit {
    background: var(--grad-pc);
}

/******************************************************************************************************

    TopPertner

*******************************************************************************************************/

.section-recruit.section-top-recruit.section-top-partner {
    background: none;
}

/******************************************************************************************************

    TopContact

*******************************************************************************************************/

.section-contact.section-top-contact {
    background: var(--grad-pc);
}
.section-top-contact .list-menu .list-menu-item .menu-link {
	padding-left: 20px;padding-right: 20px;
}

@media only screen and (max-width: 767px) {
.section-contact.section-top-contact .text-contents {
	margin-bottom: 30px;
}
.section-top-contact .list-menu,
.section-partners .list-menu {
		margin-bottom: 20px;
}
.section-top-contact .list-menu .list-menu-item .menu-link,
.section-partners .list-menu .list-menu-item .menu-link {
	padding-left: 0px;
	padding-right: 0px;
}
.section-top-contact .list-menu .list-menu-item .menu-link:after {}
}

/*----------------------------------------------------------------------------------------------------

    Contact Tel

------------------------------------------------------------------------------------------------------*/

.contact-tel {
    border-top: 1px solid var(--col-bdr-Gray);
    border-bottom: 1px solid var(--col-bdr-Gray);
    display: flex;
    align-items: center;
    padding: 0 20px;
    gap: 60px;
    height: 100px;
    margin-bottom: 20px;
}
.contact-tel .title {}
.contact-tel .title .text {
    color: var(--col-f-RosyGreen);
    font-size: clamp(12px, 1.6vw, 16px);
}
.contact-tel .sub-text {
    font-size: var(--f-size-StoS);
}
.contact-tel .body {}
.contact-tel .body .phone-no {
    font-size: 32px;
    font-size: clamp(25px, 5.81vw, 32px);
    color: #4D4D4D;
}

@media only screen and (max-width: 767px) {
.contact-tel {
    /* display: block; */
    text-align: center;
    line-height: var(--lht-s);
    flex-direction: column;
    gap: 0;
    align-items: center;
    justify-content: center;
}
.contact-tel .title {}
.contact-tel .title .text {
    font-weight: var(--f-wght-mid);
}
.contact-tel .sub-text {
}
.contact-tel .body {}
.contact-tel .body .phone-no {}
}


/******************************************************************************************************

    NewsList

*******************************************************************************************************/

.section-news-list {
    background: var(--grad-pc);
    /* position: relative; */
    /* z-index: 1; */
}

.category-select {}
.category-select .categorys {}
.category-select .categorys .category-item {
    margin-bottom: 8px;
}
.category-select .categorys .category-item .category-link {
    font-size: var(--f-size-mid);
    padding-left: 20px;
    display: block;
    position: relative;
}
.category-select .categorys .category-item .category-link.active {}
.category-select .categorys .category-item .category-link.active:after {
	position:absolute;
	content: "";
	width: 1em;
	height: 1em;
	background: var(--col-f-RosyGreen);
	border-radius: 1em;
	left: 0;
	top: calc(50% + 1px);
	transform: translateY(-50%);
}
.news-list-footer {
    text-align: center;
    margin: 40px 0 0;
}
.news-list-footer.load {
	position: relative;
}
.news-list-footer.load a {
	opacity: 0;
}
.news-list-footer.load:after {
	position: absolute;
	content: "";
	height: 100%;
	top:0;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 3px solid var(--col-f-RosyGreen);
	animation:
	    l20-1 1s infinite linear alternate,
	    l20-2 2s infinite linear;
	left: calc(50% - 20px);
	/*transform: translateX(-50%) translateY(-50%); */
}
@keyframes l20-1{
   0%    {clip-path: polygon(50% 50%,0       0,  50%   0%,  50%    0%, 50%    0%, 50%    0%, 50%    0% )}
   12.5% {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100%   0%, 100%   0%, 100%   0% )}
   25%   {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100% 100%, 100% 100%, 100% 100% )}
   50%   {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100% 100%, 50%  100%, 0%   100% )}
   62.5% {clip-path: polygon(50% 50%,100%    0, 100%   0%,  100%   0%, 100% 100%, 50%  100%, 0%   100% )}
   75%   {clip-path: polygon(50% 50%,100% 100%, 100% 100%,  100% 100%, 100% 100%, 50%  100%, 0%   100% )}
   100%  {clip-path: polygon(50% 50%,50%  100%,  50% 100%,   50% 100%,  50% 100%, 50%  100%, 0%   100% )}
}
@keyframes l20-2{ 
  0%    {transform:scaleY(1)  rotate(0deg)}
  49.99%{transform:scaleY(1)  rotate(135deg)}
  50%   {transform:scaleY(-1) rotate(0deg)}
  100%  {transform:scaleY(-1) rotate(-135deg)}
}

@media only screen and (max-width: 767px) {
.section-news-list {}

.category-select {
    margin-bottom: 20px;
}
.category-select .categorys {}
.category-select .categorys .category-item {}
.category-select .categorys .category-item .category-link {}
.category-select .categorys .category-item .category-link.active {}
.category-select .categorys .category-item .category-link.active:after {}
.news-list-footer {
    margin-top: 20px;
}	
}

/******************************************************************************************************

    News Detail

*******************************************************************************************************/

.section-news-detail {
    background: var(--grad-pc);
}

/*----------------------------------------------------------------------------------------------------

    News Detail Body

------------------------------------------------------------------------------------------------------*/

.news-detail-body {
    padding: 20px 20px 20px;
    border-bottom: 1px solid var(--col-bdr-PaleGreen);
    background: var(--col-f-wht);
}
.news-detail-body .news-image {
    margin: -20px -20px 20px;
}
.news-detail-body .news-image img {
	width: 100%;
	vertical-align: bottom;
}
.news-detail-body .news-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 25px;
}
.news-detail-body .news-header .news-date {
    font-size: var(--f-size-label);
}
.news-detail-body .news-header .news-label.news-recruit {
    width: 140px;
    line-height: 30px;
    padding-top: 0;
    text-align: center;
}
.news-detail-body .news-title {
    font-size: var(--f-size-title);
    font-weight: var(--f-wght-mid);
    margin: 25px 0;
    line-height: var(--lht-s);
}
.news-detail-body .entry-content pre {
    /* white-space:normal; */
    white-space: pre-line;
}


@media only screen and (max-width: 767px) {
.news-detail-body {}
.news-detail-body .news-image {
    margin: 0 -40px 20px;
}
.news-detail-body .news-image img {}
.news-detail-body .news-header {
    align-items: center;
}
.news-detail-body .news-header .news-date {}
.news-detail-body .news-header .news-label.news-recruit {
    position: static;
    line-height: 18px;
    width: 120px;
}
.news-detail-body .news-title {
    margin: 20px 0;
}
.news-detail-body .entry-content {}
.section-news-detail .flex-contents .title-block .link-back {
	display: none;
}
}


/******************************************************************************************************

    About - Common

*******************************************************************************************************/

.section-about {
    background: var(--grad-pc);
}
.contents-description {
    margin-bottom: 15px;
}

@media only screen and (max-width: 767px) {
.about-contents-footer {
    padding: 30px 0;
}
.about-contents-footer .about-select {
	margin-bottom: 0px;
}
}

/******************************************************************************************************

    About - Greeting

*******************************************************************************************************/

.section-greeting {}

/*----------------------------------------------------------------------------------------------------

    About Menu

------------------------------------------------------------------------------------------------------*/

.about-menu {}
.about-menu .about-menus {}
.about-menu .about-menus .about-item {}
.about-menu .about-menus .about-item .about-link {
    font-size: var(--f-size-mid);
    display: inline-block;
    line-height: 1;
    padding: 2px 1em 3px 3px;
}
.about-menu .about-menus .about-item .about-link.active {
    background-color: var(--col-f-RosyGreen);
    color: var(--col-f-wht);
}
.about-menu .about-menus .about-item .about-link:hover {
    background-color: var(--col-f-Red);
    color: var(--col-f-wht);
    opacity: 1;
}

@media only screen and (max-width: 767px) {
.about-select {
	margin-bottom: 20px;
}
}

/*----------------------------------------------------------------------------------------------------

    Greeting Contents

------------------------------------------------------------------------------------------------------*/

.greeting-title {}

.ceo-photo {
    margin: 50px 0 80px;
}
.ceo-sign {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    margin-bottom: 50px;
}
.ceo-sign .t {
    font-size: var(--f-size-label);
}
.ceo-sign img {
    width: 120px;
}

@media only screen and (max-width: 767px) {
.greeting-title {}

.ceo-photo {
    margin: 20px 0 20px;
}
.ceo-sign {
    margin-bottom: 0;
}
.ceo-sign .t {}
.ceo-sign img {}
}

/******************************************************************************************************

    About - Philosophy

*******************************************************************************************************/

/*----------------------------------------------------------------------------------------------------

    Company Philosophy

------------------------------------------------------------------------------------------------------*/

.company-philosophy {
    background-color: var(--col-bg-PaleGreen);
    padding: 20px;
}
.company-philosophy .company-philosophy-title {
    text-align: center;
}
.company-philosophy .philosophy-list {
    text-align: center;
}
.company-philosophy .philosophy-list .philosophy-item {
    border-top: 1px solid var(--col-bdr-Gray);
    border-bottom: 1px solid var(--col-bdr-Gray);
    background-color: var(--col-f-wht);
    margin-bottom: 10px;
    line-height: var(--lht-s);
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media only screen and (max-width: 767px) {
.company-philosophy {
    margin-bottom: 20px;
}
.company-philosophy .company-philosophy-title {}
.company-philosophy .philosophy-list {}
.company-philosophy .philosophy-list .philosophy-item {
    font-size: 17px;
}
}

/*----------------------------------------------------------------------------------------------------

    Vision

------------------------------------------------------------------------------------------------------*/

.vision {}
.vision .vision-list {
	display: flex;
	gap: 10px;
}
.vision .vision-list .vision-item {
	background-color: var(--col-bg-PaleGreen);
	padding: 15px;
	width: 33.33%;
}
.vision .vision-list .vision-item .vision-title {
	border: 1px solid var(--col-f-RosyGreen);
	background-color: var(--col-f-wht);
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 15px;
}
.vision .vision-list .vision-item .vision-title .vision-title-text {
	text-align: center;
}
.vision .vision-list .vision-item .vision-title .vision-title-text .jp {
	color: var(--col-f-RosyGreen);
	font-size: 20px;
	line-height: 1.2;
}
.vision .vision-list .vision-item .vision-title .vision-title-text .en {
	color: var(--col-f-RosyGreen);
	font-size: 10px;
}
.vision .vision-list .vision-item .vision-body {
	font-size: var(--f-size-label);
	margin-bottom: 35px;
}

@media only screen and (max-width: 767px) {
.vision {
    margin-bottom: 20px;
}
.vision .vision-list {flex-direction: column;gap: 20px;}
.vision .vision-list .vision-item {
    width: auto;
}
.vision .vision-list .vision-item .vision-title {
    aspect-ratio: inherit;
    height: 100px;
}
.vision .vision-list .vision-item .vision-title .vision-title-text {}
.vision .vision-list .vision-item .vision-title .vision-title-text .jp {
    font-size: 17px;
    font-weight: var(--f-wght-mid);
}
.vision .vision-list .vision-item .vision-title .vision-title-text .en {}
.vision .vision-list .vision-item .vision-body {
    margin-bottom: 10px;
}
}

/*----------------------------------------------------------------------------------------------------

    Creed

------------------------------------------------------------------------------------------------------*/

.creed {}
.creed .creed-list {}
.creed .creed-list .creed-item {
    border: 1px solid var(--col-f-RosyGreen);
    padding: 20px 0;
    margin-bottom: 20px;
}
.creed .creed-list .creed-item:last-child {
	margin-bottom: 0;
}
.creed .creed-list .creed-item .creed-title {
    font-size: var(--f-size-mid3);
    color: var(--col-f-RosyGreen);
    padding: 0 40px;
    position: relative;
    margin-bottom: 15px;
}
.creed .creed-list .creed-item .creed-title:before {
	position: absolute;
	content: "";
	width: 30px;
	height: 10px;
	left: 0;
	background: var(--col-f-RosyGreen);
	top: 50%;
	transform: translateY(-50%);
}
.creed .creed-list .creed-item .creed-texts {}
.creed .creed-list .creed-item .creed-texts .creed-row {
    padding: 0 0 0 42px;
    position: relative;
    margin-bottom: 4px;
}
.creed .creed-list .creed-item .creed-texts .creed-row:before {
	position: absolute;
	content: "";
	width: 1em;
	height: 1em;
	left: calc(40px - 1em + -2px);
	background: var(--col-f-RosyGreen);
	top: 0;
	border-radius: 1em;
	/* line-height: 1.75; */
	margin: 8px 0;
}

@media only screen and (max-width: 767px) {
.creed {
    margin-bottom: 20px;
}
.creed .creed-list {}
.creed .creed-list .creed-item {}
.creed .creed-list .creed-item:last-child {}
.creed .creed-list .creed-item .creed-title {
    padding: 0 30px;
    margin-bottom: 10px;
}
.creed .creed-list .creed-item .creed-title:before {
    width: 20px;
}
.creed .creed-list .creed-item .creed-texts {}
.creed .creed-list .creed-item .creed-texts .creed-row {
    padding: 0 20px 0 30px;
    font-size: 12.7px;
}
.creed .creed-list .creed-item .creed-texts .creed-row:before {
    width: 0.7em;
    height: 0.7em;
    background: var(--col-f-RosyGreen);
    left: calc(30px - 1em + -2px);
    margin: 7px 0;
}
}

/*----------------------------------------------------------------------------------------------------

    Norm

------------------------------------------------------------------------------------------------------*/

.norm {
    border-top: 1px solid var(--col-f-RosyGreen);
    border-bottom: 1px solid var(--col-f-RosyGreen);
    background-color: var(--col-bg-PaleGreen);
    padding: 20px;
}
.norm .norm-title {
    text-align: center;
    margin-bottom: 15px;
}
.norm .norm-list {}
.norm .norm-list .norm-item {
    border-top: 1px solid var(--col-bdr-Gray);
    border-bottom: 1px solid var(--col-bdr-Gray);
    background-color: var(--col-f-wht);
    font-size: var(--f-size-mid2);
    margin-bottom: 15px;
    line-height: 60px;
    text-align: center;
}

@media only screen and (max-width: 767px) {
.norm {}
.norm .norm-title {}
.norm .norm-list {}
.norm .norm-list .norm-item {
    height: 40px;
    line-height: var(--lht-s);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}
.norm .norm-list .norm-item:last-child {
	margin-bottom: 10px;
}
}

/******************************************************************************************************

    Business Detail

*******************************************************************************************************/

.business-item {
    /* overflow: hidden; */
}
.business-item .business-title {}
.business-item .business-image {
    margin-bottom: 20px;
}
.business-item .text-contents.business-text {
    margin-bottom: 60px;
}

@media only screen and (max-width: 767px) {
.section-business-details h3.about-title {
	padding: 0 10px;
}
.section-business-details .panel-section {
	/* background: transparent; */
	/* background: var(--grad-sp); */
	padding-bottom: 0;
}
.business-item .business-title {
    margin: 0 -20px;
    height: 70px;
    display: flex;
    align-items: center;
    padding: 0 30px;
    border-top: 1px solid var(--col-bdr-Gray);
    /* border-bottom: 1px solid var(--col-bdr-Gray); */
    position: relative;
    /* -webkit-box-shadow: 0 5px 10px 0px #CCC; */
    /* box-shadow: 0 2px 5px 0px #CCC; */
}
.business-item .business-title:after {
    position: absolute;
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: var(--col-f-RosyGreen);
    line-height: 1;
    width: 12px;
    height: 12px;
    border: 2px solid var(--col-f-RosyGreen);
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    top: calc(50%);
    right: 25px;
    transform: translateY(-50%) rotate(135deg);
}
.business-item .business-body {
	padding: 20px;
	margin: 0 -20px;
	background: var(--grad-sp);
	transition: none;
	/* box-shadow: inset 0 0px 10px 0px #CCC; */
	position: relative;
	overflow: hidden;
}
.business-item .business-body:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	box-shadow: 0 0px 10px 1px #8C8C8C;
	top: -1px;
	left: 0;
}
.business-item .business-body:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	box-shadow: 0 0px 10px 1px #8C8C8C;
	bottom: -1px;
	left: 0;
}
.business-item .text-contents.business-text {
    margin-bottom: 30px;
}

}

/******************************************************************************************************

    Company Profile

*******************************************************************************************************/

/*----------------------------------------------------------------------------------------------------

    Profile

------------------------------------------------------------------------------------------------------*/

.profile-table {}
.profile-table .profile-row {
    border-top: 1px solid var(--col-bdr-LightGray);
    font-size: var(--f-size-table);
    display: flex;
    padding: 10px 0;
    /* min-height: 50px; */
    /* align-items: center; */
}
.profile-table .profile-row:last-child {
	border-bottom: 1px solid var(--col-bdr-LightGray);
}
.profile-table .profile-row .profile-title {
    min-width: 130px;
    font-weight: var(--f-wght-bld);
}
.profile-table .profile-row .profile-title .inner {}
.profile-table .profile-row .profile-body {
    width: 100%;
}
.profile-table .profile-row .profile-body .inner {}

.section-company-benefits .profile-table .profile-row .profile-title {
    min-width: 220px;
}
.section-company-benefits .profile-table .profile-row .profile-title .inner {
	padding-right: 10px;
}

@media only screen and (max-width: 767px) {
.profile-table {
    margin-bottom: 30px;
}
.profile-table .profile-row {
    display: block;
}
.profile-table .profile-row:last-child {}
.profile-table .profile-row .profile-title {
    margin-bottom: 5px;
}
.profile-table .profile-row .profile-title .inner {}
.profile-table .profile-row .profile-body {}
.profile-table .profile-row .profile-body .inner {
    line-height: var(--lht-s);
    padding-left: 1em;
}
}

/*----------------------------------------------------------------------------------------------------

    History

------------------------------------------------------------------------------------------------------*/

.history-list {}
.history-list .history-row {
    border-top: 1px solid var(--col-bdr-LightGray);
    font-size: var(--f-size-label);
    display: flex;
    padding: 0 12px;
}
.history-list .history-row:last-child {
	border-bottom: 1px solid var(--col-bdr-LightGray);
}
.history-list .history-row:nth-child(even) {}
.history-list .history-row:nth-child(odd) {
    background-color: var(--col-bg-PaleGreen);
}
.history-list .history-row .history-date,
.history-list .history-row .history-body {
    padding: 8px 0;
}
.history-list .history-row .history-date {
    font-size: var(--f-size-label);
    font-weight: var(--f-wght-mid);
    min-width: 130px;
}
.history-list .history-row .history-body {
	width: 100%;
}

@media only screen and (max-width: 767px) {
.history-list {
    margin-bottom: 20px;
}
.history-list .history-row {flex-direction: column;padding: 0;}
.history-list .history-row:last-child {}
.history-list .history-row:nth-child(even) {}
.history-list .history-row:nth-child(odd) {}
.history-list .history-row .history-date,
.history-list .history-row .history-body {
    padding: 4px 8px;
    letter-spacing: -0.02em;
    font-size: clamp(12px, 3vw, 14px);
}
.history-list .history-row .history-date {
    background-color: #F2F2F2;
}
.history-list .history-row .history-body {
    background-color: #FFF;
}
}

/*----------------------------------------------------------------------------------------------------

    Chart

------------------------------------------------------------------------------------------------------*/

.chart {
    margin-bottom: 20px;
}
.chart .chart-image {
    margin-bottom: 10px;
}
.chart .chart-image img {
	vertical-align: bottom;
}
.chart .caption {
	font-size: var(--f-size-cap);
	text-align: right;
}

@media only screen and (max-width: 767px) {
.chart {
    margin-bottom: 20px;
}
.chart .chart-image {
    margin-bottom: 10px;
}
.chart .chart-image img {}
.chart .caption {}
}

/******************************************************************************************************

    ServiceInformation

*******************************************************************************************************/

/*----------------------------------------------------------------------------------------------------

    Service Flow

------------------------------------------------------------------------------------------------------*/

.service-flow {
    border-top: 1px solid var(--col-bdr-PaleGreen);
    border-bottom: 1px solid var(--col-bdr-PaleGreen);
    padding: 25px 0;
    margin-bottom: 40px;
}
.service-flow .service-flow-item {}
.service-flow .service-flow-item .information-contents {
    padding-left: 110px;
    line-height: var(--lht-s);
    padding: 20px 0 40px 105px;
    text-align: justify;
    background-image: url(../img/service_arrow.svg);
    background-repeat: repeat-y;
    background-position: 23px 0px;
    background-size: 20px;
}
.service-flow .service-flow-item .information-contents p {
	margin-bottom: 10px;
}
.service-flow .service-flow-item .information-contents .dot-text {
    /* position: relative; */
    /* padding-left: 1em; */
    margin-bottom: 20px;
}
.service-flow .service-flow-item .information-contents .dot-text .text-row {
    position: relative;
    padding-left: 1em;
}
.service-flow .service-flow-item .information-contents .dot-text .text-row:before {
	position: absolute;
	content: "\30FB";
	left: 0;	
}
.service-flow .service-flow-item .information-contents .tool-box {
    border: 1px solid var(--col-bdr-LightGray);
    padding: 25px;
    margin-bottom: 20px;
}
.service-flow .service-flow-item .information-contents .tool-box .dot-text {
    margin: 0;
}
.service-flow .service-flow-item .information-contents .tool-box .dot-text .text-row {}
.service-flow .service-flow-item:last-child .information-contents {
	background: none;
	padding-bottom: 0px;
}

@media only screen and (max-width: 767px) {
.service-flow {
    padding: 10px 0;
}
.service-flow .service-flow-item {}
.service-flow .service-flow-item .information-contents {
    padding: 10px 0 30px 70px;
    background-position: 15px 0;
}
.service-flow .service-flow-item .information-contents p {}
.service-flow .service-flow-item .information-contents .dot-text {
    margin-bottom: 10px;
}
.service-flow .service-flow-item .information-contents .dot-text .text-row {}
.service-flow .service-flow-item .information-contents .dot-text .text-row:before {}
.service-flow .service-flow-item .information-contents .tool-box {
    margin-bottom: 15px;
    padding: 15px;
}
.service-flow .service-flow-item .information-contents .tool-box .dot-text {}
.service-flow .service-flow-item .information-contents .tool-box .dot-text .text-row {}
.service-flow .service-flow-item:last-child .information-contents {}
}

/*----------------------------------------------------------------------------------------------------

    Service Footer

------------------------------------------------------------------------------------------------------*/

.service-footer {
    background: var(--col-bg-PaleGreen);
    padding: 30px 30px 20px;
}
.service-footer .service-labels {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
}
.service-footer .service-labels .service-label {
    border: 1px solid var(--col-f-RosyGreen);
    color: var(--col-f-RosyGreen);
    background: var(--col-f-wht);
    font-size: var(--f-size-title);
    border-radius: 10px;
    padding: 0px 16px;
    line-height: 55px;
    text-align: center;
}
.service-footer .msg {
    text-align: center;
    font-size: var(--f-size-mid3);
}

@media only screen and (max-width: 767px) {
.service-footer {
    padding: 20px 15px;
}
.service-footer .service-labels {
    margin-bottom: 10px;
}
.service-footer .service-labels .service-label {
    line-height: 1.2;
    height: 60px;
    padding: 0;
    width: 31%;
    max-width: 110px;
    align-items: center;
    display: flex;
    justify-content: center;
}
.service-footer .msg {}
}

/******************************************************************************************************

    Governance

*******************************************************************************************************/

.attempt-item {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid var(--col-bdr-LightGray);
}
.attempt-item .about-title {}
.attempt-item .text-contents {
    margin-bottom: 30px;
}
.attempt-item .pdf-list {
	display: flex;
	/* gap: 50px; */
	flex-wrap: wrap;
}
.attempt-item .pdf-list .link-pdf.link-blank {
    white-space: nowrap;
    margin-right: 50px;
}
.attempt-item .pdf-list .link-pdf.link-blank .icn.icn-pdf {}

@media only screen and (max-width: 767px) {
.attempt-item {
    margin: 0 -20px 30px;
    padding: 0 20px 30px;
    border-bottom: 1px solid var(--col-bdr-PaleGreen);
}
.attempt-item .about-title {}
.attempt-item .text-contents {
    margin-bottom: 15px;
}
.attempt-item .pdf-list {
    display: block;
    margin-bottom: 20px;
}
.attempt-item .pdf-list .link-pdf.link-blank {
    display: block;
    font-size: 17px;
    padding: 18px 10px;
    border-top: 1px solid var(--col-bdr-Gray);
    margin-right: 0;
}
.attempt-item .pdf-list .link-pdf.link-blank:last-child {
	border-bottom: 1px solid var(--col-bdr-Gray);
}
.attempt-item .pdf-list .link-pdf.link-blank .icn.icn-pdf {
    width: 2em;
    height: 2em;
}
}

/******************************************************************************************************

    Partners

*******************************************************************************************************/

.section-partners {
    background: var(--grad-pc);
}
.section-partners .text-contents {
	margin-bottom: 25px;
}
.partners-service-panel {
    border: 1px solid var(--col-f-RosyGreen);
    background: var(--col-bg-PaleYellow);
    padding: 40px 0px;
    display: flex;
    align-items: center;
    margin-bottom: 25px;
}
.partners-service-panel .title {
    min-width: 200px;
    font-weight: var(--f-wght-mid);
    color: var(--col-f-RosyGreen);
    text-align: center;
}
.partners-service-panel .body.dot-text {
    width: 100%;
}
.partners-service-panel .body.dot-text .text-row {
    padding-left: 1.2em;
}
.partners-service-panel .body.dot-text .text-row:before {
	content: "\25CB";
}

@media only screen and (max-width: 767px) {
.section-partners {
	background: #FFF;
	border-bottom: 1px solid var(--col-bdr-Gray);
	margin-bottom: 30px;
}
.section-partners .panel-section {
    padding: 0;
    border: none;
    background: transparent;
}
.section-partners .partners-block {
	margin-bottom: 60px;
	position: relative;
}
.section-partners .partners-block:after {
	position: absolute;
	content: "";
	height: 1px;
	width: calc(100% + 40px);
	bottom: -30px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--col-bdr-PaleGreen);
}
.section-partners .text-contents {}
.partners-service-panel {
    flex-direction: column;
    padding: 20px 10px;
    margin-bottom: 20px;
}
.partners-service-panel .title {
    font-size: var(--f-size-nmlkeep);
    margin-bottom: 10px;
}
.partners-service-panel .title br {
    display: none;
}
.partners-service-panel .body.dot-text {
    text-align: center;
}
.partners-service-panel .body.dot-text .text-row {
    display: inline-block;
    font-size: var(--f-size-nmlkeep);
}
.partners-service-panel .body.dot-text .text-row:before {}
.section-partners .list-menu {
	margin-bottom: 0;
}
}

/******************************************************************************************************

    Contact

*******************************************************************************************************/

.section-contact {
    background: var(--grad-pc);
}
.section-contact .text-contents {
	margin-bottom: 60px;
}
.section-contact .panel-section {
    padding: 0 20px 20px;
}

@media only screen and (max-width: 767px) {
.section-contact {}
.section-contact .title-block .contact-flow {
	display: none;
}
.section-contact .body-block > .text-contents {
	margin-bottom: 30px;
}
.section-contact .panel-section {
    margin: 0 -20px;
    padding: 10px 20px;
}
}

/*----------------------------------------------------------------------------------------------------

    Contact Flow

------------------------------------------------------------------------------------------------------*/

.contact-flow {
    display: flex;
    flex-direction: column;
}
.contact-flow.sp {
	display: none;
}
.contact-flow [class^="flow"] {
    line-height: 35px;
    background: var(--col-bdr-LightGray);
    color: #4D4D4D;
    font-size: var(--f-size-mid);
    display: inline-block;
    width: 110px;
    text-align: center;
    margin-bottom: 22px;
    position: relative;
}
.contact-flow [class^="flow"]:after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	border-top: 14px solid var(--col-bdr-LightGray);
	border-bottom: 0;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
}
.contact-flow .flow-1 {}
.contact-flow .flow-2 {}
.contact-flow .flow-3 {
}
.contact-flow .flow-3:after {
    display: none;
}
.contact-flow .active {
    background: var(--col-f-RosyGreen);
    color: var(--col-f-wht);
}
.contact-flow .active:after {
    border-top-color: var(--col-f-RosyGreen);
}

@media only screen and (max-width: 767px) {
.contact-flow {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
}
.contact-flow.sp {
	display: flex;
}
.contact-flow [class^="flow"] {
    margin-bottom: 25px;
    width: 107px;
}
.contact-flow [class^="flow"]:after {
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    left: calc(100% - 5px);
}
.contact-flow .flow-1 {}
.contact-flow .flow-2 {}
.contact-flow .flow-3 {}
.contact-flow .flow-3:after {}
.contact-flow .active {}
.contact-flow .active:after {}
}

/*----------------------------------------------------------------------------------------------------

    Webg Form

------------------------------------------------------------------------------------------------------*/

.webg-form {}
.webg-form  .form-outer .form-inner .column .inr .agree-text {
    margin-bottom: 0.5em;
}
.webg-form  .form-outer .form-inner .column .inr .check .checkbox-item .t {
    color: var(--col-f-Gray2);
    font-size: var(--f-size-table);
}
.webg-form  .form-outer .btn-outer #btnSubmit.btn-submit {}
.webg-form  .form-outer .btn-outer #btnSubmit.btn-submit .i_arw {
    display: none;
}
.section-contact .webg-form form table tr:after {
	border-bottom: 1px solid var(--col-bdr-LightGray);
	width: calc(100% + 45px);
	left: 50%;
	transform: translateX(-50%);
	display: none;
}

@media only screen and (max-width: 767px) {
.webg-form {}
.webg-form  .form-outer .form-inner .column .inr .agree-text {
    text-align: center;
}
.webg-form  .form-outer .form-inner .column .inr .check .checkbox-item .t {}
.webg-form  .form-outer .btn-outer #btnSubmit.btn-submit {}
.webg-form  .form-outer .btn-outer #btnSubmit.btn-submit .i_arw {}
.section-contact .webg-form form table tr:after {
    width: 100%;
}
}

/******************************************************************************************************

    Contact Confirm

*******************************************************************************************************/

.alert-text-contents {
    background-color: var(--col-f-Red);
    color: var(--col-f-wht);
    font-weight: var(--f-wght-mid);
    line-height: var(--lht-s);
    padding: 13px 20px;
    margin-bottom: 30px;
    height: 75px;
    display: flex;
    align-items: center;
}

.section-contact-confirm .webg-form form table tr th {
    padding: 10px 0px;
}
.section-contact-confirm .webg-form form table tr td {
    padding: 10px 0;
}
.section-contact-confirm .webg-form form table tr:after {
	display: block;
}

@media only screen and (max-width: 767px) {
.alert-text-contents {
    min-height: 70px;
    height: auto;
    text-align: center;
    margin-bottom: 20px;
}

.section-contact-confirm .webg-form form table tr th {
    padding-bottom: 0;
}
.section-contact-confirm .webg-form form table tr th > .inr {
	padding-top: 0;
	padding-bottom: 0;
}
.section-contact-confirm .webg-form form table tr td {
    padding-bottom: 5px;
    padding-top: 0;
}
.section-contact-confirm .webg-form form table tr:after {}
.section-contact-confirm .panel-section {
    padding-bottom: 30px;
}
}

/******************************************************************************************************

    Contact Complete

*******************************************************************************************************/

.complete-text-contents {
    background-color: var(--col-f-RosyGreen);
    color: var(--col-f-wht);
    font-weight: var(--f-wght-mid);
    line-height: var(--lht-s);
    padding: 13px 20px;
    margin-bottom: 30px;
    height: 75px;
    display: flex;
    align-items: center;
}

.section-contact-complete .panel-section {
	padding-top: 50px;
}
.section-contact-complete .panel-section .text-contents {
    font-size: var(--f-size-label);
}

@media only screen and (max-width: 767px) {
.complete-text-contents {
    height: 70px;
    justify-content: center;
    margin-bottom: 25px;
}

.section-contact-complete .contents-inner {
	padding-bottom: 50px;
}
.section-contact-complete .panel-section {
    padding: 30px 20px;
}
.section-contact-complete .panel-section .text-contents {
    margin-bottom: 20px;
}
}

/******************************************************************************************************

    Footer

*******************************************************************************************************/

.footer {
	border-top: 5px solid var(--col-f-RosyGreen);
}
.footer .footer-top {
	background: var(--col-f-wht);
	padding: 0 40px;
}
.footer .footer-top .footer-logos {
	padding: 22px 0 10px;
}
.footer .footer-top .footer-logos .footer-site-title {
    width: 230px;
}
.footer .footer-top .footer-logos .footer-site-title img {
	vertical-align: bottom;
	width: 100%;
}
.footer .footer-top .footer-logos .footer-site-title .pc {}
.footer .footer-top .footer-logos .footer-site-title .sp {}

@media only screen and (max-width: 767px) {
.footer {}
.footer .footer-top {}
.footer .footer-top .footer-logos {
    padding: 30px 0 20px;
}
.footer .footer-top .footer-logos .footer-site-title {
    width: 190px;
}
.footer .footer-top .footer-logos .footer-site-title img {}
.footer .footer-top .footer-logos .footer-site-title .pc {}
.footer .footer-top .footer-logos .footer-site-title .sp {}
}

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


/* Footer Menu ---------------------------------------------------------------------------------------*/

.footer-menu {
    border-top: 1px solid var(--col-bdr-Gray);
    padding: 15px 0 10px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.footer-menu .footer-nav {
	font-size: var(--f-size-label);
}
.footer-menu .footer-nav .nav-menu {
    display: flex;
    gap: 16px;
    margin-bottom: 5px;
}
.footer-menu .footer-nav .nav-menu > a {
	display: block;
	min-width: 6.5em;
	font-weight: var(--f-wght-mid);
	color: var(--col-f-RosyGreen);
}
.footer-menu .footer-nav .nav-menu > a.disabled-link {
	pointer-events: none;
    text-decoration: none;
}
.footer-menu .footer-nav .nav-menu .sub-menu {}
.footer-menu .footer-nav .nav-menu .sub-menu .inner {}
.footer-menu .footer-nav .nav-menu .sub-menu .inner .sub-gnav {
    display: flex;
    gap: 24px;
}
.footer-menu .footer-nav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu > a {}
.footer-menu .footer-nav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu .link-blank {}

@media only screen and (max-width: 767px) {
.footer-menu {
    padding: 20px 0;
}
.footer-menu .footer-nav {}
.footer-menu .footer-nav .nav-menu {
    display: block;
    margin-bottom: 10px;
}
.footer-menu .footer-nav .nav-menu:last-child {
	margin-bottom: 0;
}
.footer-menu .footer-nav .nav-menu > a {
    display: block;
    min-width: auto;
}
.footer-menu .footer-nav .nav-menu .sub-menu {}
.footer-menu .footer-nav .nav-menu .sub-menu .inner {}
.footer-menu .footer-nav .nav-menu .sub-menu .inner .sub-gnav {
    flex-wrap: wrap;
    gap: 0px;
}
.footer-menu .footer-nav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu {
    margin-right: 20px;
}
.footer-menu .footer-nav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu > a {}
.footer-menu .footer-nav .nav-menu .sub-menu .inner .sub-gnav .sub-nav-menu .link-blank {}
}

/* SNS Menu ------------------------------------------------------------------------------------------*/

.sns-menu {}
.sns-menu .sns-menu-ul {
    display: flex;
}
.sns-menu .sns-menu-ul .sns-menu-item {}

@media only screen and (max-width: 767px) {
.sns-menu {
    margin-bottom: 15px;
}
.sns-menu .sns-menu-ul {}
.sns-menu .sns-menu-ul .sns-menu-item {
    line-height: 1;
}
.footer-menu .sns-menu {
    display: none;
}
}

/* Footer Address ------------------------------------------------------------------------------------*/

.footer-address {
	border-top: 1px solid var(--col-bdr-Gray);
	display: flex;
	align-items: center;
	font-size: var(--f-size-label);
	padding: 16px 0;
	gap: 1em;
}
.footer-address .address {
    white-space: nowrap;
}
.footer-address .address a {
	margin-left: 0.5em
}
.footer-address .address  .icn.icn-googlemap {}
.footer-address .tel {
    white-space: nowrap;
}

@media only screen and (max-width: 767px) {
.footer-address {
    line-height: var(--lht-s);
    display: block;
    padding: 20px 0 10px;
}
.footer-address .address {}
.footer-address .address a {}
.footer-address .address  .icn.icn-googlemap {}
.footer-address .tel {}
}

/* Copyright -----------------------------------------------------------------------------------------*/

.copyright {
    background: var(--col-f-RosyGreen);
    color: var(--col-f-wht);
    font-size: 12px;
    line-height: 1.5;
    /* padding: 0 40px; */
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: center;
}

@media only screen and (max-width: 900px) {
	.footer .footer-top {
		display: block;
		/* padding: 0 clamp(20px, 5vw ,40px); */
	}
	.footer .footer-top .outside-link {
		text-align: right;
		padding-bottom: 14px;
	}
}

@media only screen and (max-width: 400px) {
	.footer .footer-top {
		padding: 0 20px;
	}
}

/*============================
#fixedTitleBlock
============================*/
.wrapper #fixedTitleBlock {position: fixed;display: none;width: 100%;z-index: 1;}
.wrapper #fixedTitleBlock .container {position: relative;}
.wrapper #fixedTitleBlock .container .contents-inner.flex-contents {position: absolute;}

@media only screen and (max-width: 767px) {
.wrapper #fixedTitleBlock {
	display: none !important;
}
}


/******************************************************************************************************

    Responsive

*******************************************************************************************************/

@media only screen and (max-width: 767px) {
.section-top-news,
.section-recruit.section-top-recruit,
.section-news-list,
.section-news-detail,
.section-about,
/*.section-partners,*/
.section-contact {
	background: var(--grad-sp);
}
.section-news-list,
.section-news-list,
.section-news-detail,
.section-about,
.section-partners,
.section-contact {
	position: relative;
	/* background-image: url(../img/sp_head_back.png); */
	/* background-size: 50%; */
	/* background-repeat: no-repeat; */
	/* background-position: top right; */
	/* background-color: var(--grad-sp); */
	/* background: url(../img/sp_head_back.png) var(--grad-sp); */
}
.section-news-list:before,
.section-news-list:before,
.section-news-detail:before,
.section-about:before,
.section-partners:before,
.section-contact:before {
	position: absolute;
	content: "";
	width: 180px;
	aspect-ratio: 1 / 1;
	top: 0;
	right: 0;
	background-image: url(../img/sp_head_back.png);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 0;
}
.section-news-list .container,
.section-news-list .container,
.section-news-detail .container,
.section-partners .container,
.section-contact .container {
	position: relative;
}
.section-top-about:before,
.section-top-contact:before {
	display: none;
}
}

/******************************************************************************************************

    Design

*******************************************************************************************************/

#design {
	display: none;
	/* display: block; */
	position: absolute;
	content: "";
	width: 100%;
	height: 1500%;
	top: 0;
	left: 0;
	z-index: 30;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: top center;
	opacity: 0.7;
	background-image: url(../img/_design_sp.jpg);
}

/******************************************************************************************************

    END

*******************************************************************************************************/

