article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{
	display: block;
}
/**
 * Correct `inline-block` display not defined in IE 8/9.
 */
audio,canvas,video{
	display: inline-block;
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]){
	display: none;
	height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],template{
	display: none;
}
/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html{
	font-family: sans-serif; /* 1 */

	-webkit-text-size-adjust: 100%; /* 2 */
	    -ms-text-size-adjust: 100%; /* 2 */
}
/**
 * Remove default margin.
 */
body{
	margin: 0;
}
/* ==========================================================================
   Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a{
	background: transparent;
}
/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus{
	outline: thin dotted;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,a:hover{
	outline: 0;
}
/* ==========================================================================
   Typography
   ========================================================================== */
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1,h2,h3,h4,p{
	font-size: 1em;
	font-weight: 400;
	margin: 0;
}
/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title]{
	border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,strong,.strong{
	font-weight: bold;
}
/**
 * Address styling not present in Safari 5 and Chrome.
 */
dfn,em,.em{
	font-style: italic;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr{
	box-sizing: content-box;
	height: 0;
}
/*
 * proper formatting (http://blog.fontdeck.com/post/9037028497/hyphens)
*/
p{
	-webkit-hyphens: auto;
	        hyphens: auto;

	-epub-hyphens: auto;
}
/*
 * Addresses margins set differently in IE6/7.
 */
pre{
	margin: 0;
}
/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */
code,kbd,pre,samp{
	font-family: monospace, serif;
	font-size: 1em;
}
/**
 * Improve readability of pre-formatted text in all browsers.
 */
pre{
	white-space: pre-wrap;
}
/**
 * Set consistent quote types.
 */
q{
	quotes: '\201C' '\201D' '\2018' '\2019';
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
q:before,q:after{
	content: '';
	content: none;
}
small,.small{
	font-size: 75%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,sup{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup{
	top: -.5em;
}
sub{
	bottom: -.25em;
}
/* ==========================================================================
  Lists
========================================================================== */
/*
 * Addresses margins set differently in IE6/7.
 */
dl,menu,ol,ul{
	margin: 0;
}
dd{
	margin: 0;
}
/*
 * Addresses paddings set differently in IE6/7.
 */
menu{
	padding: 0 0 0 40px;
}
ol,ul{
	padding: 0;
	list-style-type: none;
}
/*
 * Corrects list images handled incorrectly in IE7.
 */
nav ul,nav ol{
	list-style: none;
	list-style-image: none;
}
/* ==========================================================================
  Embedded content
========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9.
 */
img{
	border: 0;
}
/**
 * Correct overflow displayed oddly in IE 9.
 */
svg:not(:root){
	overflow: hidden;
}
/* ==========================================================================
   Figures
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari 5.
 */
figure{
	margin: 0;
}
/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset{
	margin: 0 2px;
	padding: .35em .625em .75em;
	border: 1px solid #c0c0c0;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend{
	padding: 0; /* 2 */
	border: 0; /* 1 */
}
/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */
button,input,select,textarea{
	font-family: inherit; /* 1 */
	font-size: 100%; /* 2 */
	margin: 0; /* 3 */
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,input{
	line-height: normal;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,select{
	text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,html input[type='button'],/* 1 */
input[type='reset'],input[type='submit']{
	cursor: pointer; /* 3 */

	-webkit-appearance: button; /* 2 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],html input[disabled]{
	cursor: default;
}
/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type='checkbox'],input[type='radio']{
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type='search']{
	box-sizing: content-box;

	-webkit-appearance: textfield; /* 1 */ /* 2 */
}
/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type='search']::-webkit-search-cancel-button,input[type='search']::-webkit-search-decoration{
	-webkit-appearance: none;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,input::-moz-focus-inner{
	padding: 0;
	border: 0;
}
/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea{
	overflow: auto; /* 1 */
	vertical-align: top; /* 2 */
}
/* ==========================================================================
   Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table{
	border-spacing: 0;
	border-collapse: collapse;
}
*{
	box-sizing: border-box;
}
*:before,*:after{
	box-sizing: border-box;
}
.image-replacement,.ir{
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%;
}
.clearfix,.cf{
	zoom: 1;
}
.clearfix:before,.clearfix:after,.cf:before,.cf:after{
	display: table; 
	content: '';
}
.clearfix:after,.cf:after{
	clear: both;
}
/*
use the best ampersand
http://simplebits.com/notebook/2008/08/14/ampersands-2/
*/
span.amp{
	font-family: Baskerville,'Goudy Old Style',Palatino,'Book Antiqua',serif !important;
	font-style: italic;
}
:root{
	--color: #111;
	/*イージング*/
	--easeInOutSine: cubic-bezier(.445, .050, .550, .950);
	--vh: 1vh;
}
/* ==========================================================================
  アニメーション
========================================================================== */
@keyframes menuFadeIn{
	0%{
		display: block;
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
@keyframes menuFadeOut{
	0%{
		opacity: 1;
	}
	99%{
		opacity: 0;
	}
	100%{
		display: none;
		opacity: 0;
	}
}
@keyframes fadeIn{
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
@keyframes fadeOut{
	0%{
		opacity: 1;
	}
	100%{
		opacity: 0;
	}
}
/*左から表示*/
.rollXMV{
	position: relative;
}
.rollXMV .inner{
	position: relative;
	width: 100%;
	height: 100%;
	opacity: 1;
}
.rollXMV .inner::before{
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	transform: scaleX(0);
	transform-origin: left top;
	background: #004771;
}
.rollXMV .inner::after{
	position: absolute;
	z-index: 9;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	transition: opacity .2s linear,z-index .1s linear;
	transition-delay: .8s,.9s;
	opacity: 1;
	background: #fff;
}
.animeAction.rollXMV{
	opacity: 1;
}
.animeAction.rollXMV .inner::before{
	animation: rollX 1.2s 1 .2s cubic-bezier(.5, 0, 0, 1) forwards;
}
.animeAction.rollXMV .inner::after{
	z-index: -1;
	opacity: 0;
}
.rollX{
	position: relative;
}
.rollX::before{
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	transform: scaleX(0);
	transform-origin: left top;
	background: #004771;
}
.rollX img{
	transition: opacity .2s linear;
	transition-delay: .8s;
	opacity: 0;
}
.animeAction.rollX::before{
	animation: rollX 1.2s 1 .2s cubic-bezier(.5, 0, 0, 1) forwards;
}
.animeAction.rollX img{
	opacity: 1;
}
.rollXAjx{
	position: relative;
}
.rollXAjx::before{
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	transform: scaleX(0);
	transform-origin: left top;
	background: #004771;
}
.rollXAjx img{
	transition: opacity .2s linear;
	transition-delay: .8s;
	opacity: 0;
}
.animeActive.rollXAjx::before{
	animation: rollX 1.2s 1 .2s cubic-bezier(.5, 0, 0, 1) forwards;
}
.animeActive.rollXAjx img{
	opacity: 1;
}
@keyframes rollX{
	0%{
		transform: scaleX(0);
		transform-origin: left top;
	}
	50%{
		transform: scaleX(1);
		transform-origin: left top;
	}
	51%{
		transform: scaleX(1);
		transform-origin: right top;
	}
	100%{
		transform: scaleX(0);
		transform-origin: right top;
	}
}
/*ぺらっと文字*/
.textRoll{
	display: inline-flex;
	overflow: hidden;

	justify-content: center;
}
.textRoll .wall{
	overflow: hidden;
	transition: transform 1.6s cubic-bezier(.5, 0, 0, 1);
	transform: translate3d(-101%, 0, 0);
}
.textRoll .wall .text{
	transition: transform 1.6s cubic-bezier(.5, 0, 0, 1);
	transform: translate3d(101%, 0, 0);
}
.animeAction.textRoll .wall{
	transform: translate3d(0, 0, 0);
}
.animeAction.textRoll .wall .text{
	transform: translate3d(0, 0, 0);
}
/*上から表示*/
.slideDown{
	transition: transform .8s cubic-bezier(.5, 0, 0, 1),opacity .8s cubic-bezier(.5, 0, 0, 1);
	transform: translate3d(0, -5px, 0);
	opacity: 0;
}
.animeAction.slideDown{
	transform: translate3d(0, 0, 0);
	opacity: 1;
}
/*タイトル + テキスト*/
.isAnimeSetAction .textRoll .wall{
	transform: translate3d(0, 0, 0);
}
.isAnimeSetAction .textRoll .wall .text{
	transform: translate3d(0, 0, 0);
}
.isAnimeSetAction .slideDown{
	transition-delay: 1.2s;
	transform: translate3d(0, 0, 0);
	opacity: 1;
}
/*施工事例*/
.actionWorksPost .rollXWorks .wall{
	transform: translate3d(0, 0, 0);
}
.actionWorksPost .rollXWorks .wall .text{
	transform: translate3d(0, 0, 0);
}
.actionWorksPost .rollXWorks .term{
	opacity: 1;
}
.actionWorksPost .slideDown{
	transition-delay: 1.2s;
	transform: translate3d(0, 0, 0);
	opacity: 1;
}
@keyframes loader{
	0%{
		transform: rotate(0deg);
	}
	100%{
		transform: rotate(360deg);
	}
}
.fade-enter-active,.fade-leave-active{
	transition: opacity .4s;
}
.fade-enter,.fade-leave-to{
	opacity: 0;
}
.fade2-enter-active,.fade2-leave-active{
	transition: opacity .2s;
}
.fade2-enter,.fade2-leave-to{
	opacity: 0;
}
.mode-fade-enter-active,.mode-fade-leave-active{
	transition: opacity .5s ease;
}
.mode-fade-enter-from,.mode-fade-leave-to{
	opacity: 0;
}
.singleEdit{
	line-height: 1.7;
	overflow: hidden;
	color: #111;
}
.singleEdit>*:last-child{
	margin-bottom: 0 !important;
}
.singleEdit>div:not(.wp-block-spacer),.singleEdit>figure{
	margin-bottom: 2em;
}
.singleEdit .has-normal-font-size{
	font-size: 1.8rem;
}
.singleEdit h2{
	font-size: 2.6rem;
	font-weight: bold;
	margin-bottom: 45px;
}
.singleEdit h3{
	font-size: 2.2rem;
	font-weight: bold;
	margin-bottom: 35px;
	padding-bottom: 10px;
	border-bottom: 2px solid #555;
}
.singleEdit h4{
	font-size: 2.2rem;
	font-weight: bold;
	display: grid;
	margin-bottom: 25px;

	align-items: center;
	grid-template-columns: 26px 1fr;
}
.singleEdit h4::before{
	width: 8px;
	height: 100%;
	min-height: 50px;
	margin-right: 18px;
	content: '';
	background: linear-gradient(to bottom, #308b9a 0%,#013369 100%);

	flex-shrink: 0;
	grid-column: 1;
}
.singleEdit>*+h2,.singleEdit>*+h3,.singleEdit>*+h4{
	margin-top: 40px;
}
.singleEdit p{
	font-size: 1.7rem;
	margin: 0 0 2em;
}
.singleEdit ol,.singleEdit ul{
	font-size: 1.7rem;
	margin: 0 0 2em;
}
.singleEdit ul li{
	margin-left: 1em;
	text-indent: -1em;
}
.singleEdit ul li::before{
	content: '・';
}
.singleEdit li+li{
	margin-top: 1.5em;
}
.singleEdit a:not(.wp-block-button__link){
	text-decoration: underline;
}
.singleEdit .wp-block-button__link{
	font-size: 1em;
}
.singleEdit ol{
	padding-left: 2.5em;
	list-style-type: decimal;
}
.singleEdit .wp-block-image{
	margin-bottom: 2em;
}
.singleEdit .wp-block-image figcaption{
	font-size: .8em;
	margin: .5em 0 7px;
	text-align: center;
}
.singleEdit .wp-block-image .alignright{
	margin: .5em 0 .5em 1em;
}
.singleEdit .wp-block-image .alignleft{
	margin: .5em 1em .5em 0;
}
.singleEdit .alignnone,.singleEdit img.alignnone{
	margin-bottom: 2em;
}
.singleEdit .alignnone,.singleEdit img.alignnone{
	margin-bottom: 2em;
}
.singleEdit .alignleft,.singleEdit img.alignleft{
	float: left;
	margin-right: 1.5em;
	margin-bottom: 2em;
}
.singleEdit .alignright,.singleEdit img.alignright{
	float: right;
	margin-bottom: 2em;
	margin-left: 1.5;
}
.singleEdit .aligncenter,.singleEdit img.aligncenter{
	display: block;
	clear: both;
	margin-right: auto;
	margin-bottom: 2em;
	margin-left: auto;
}
.singleEdit .wp-block-table th,.singleEdit .wp-block-table td{
	padding: .2em .5em;
}
@media only screen and (max-width: 767px){
	.singleEdit>*:last-child{
		margin-bottom: 0 !important;
	}
	.singleEdit h2{
		margin-bottom: 9.375vw;
	}
	.singleEdit h3{
		font-size: 2.2rem;
		font-weight: bold;
		margin-bottom: 7.29167vw;
		padding-bottom: 2.08333vw;
		border-bottom: .20833vw solid #555;
	}
	.singleEdit h4{
		font-size: 2.2rem;
		font-weight: bold;
		display: grid;
		margin-bottom: 5.20833vw;

		align-items: center;
		grid-template-columns: 5.41667vw 1fr;
	}
	.singleEdit h4::before{
		width: 1.66667vw;
		min-height: 0;
		margin-right: 3.75vw;

		flex-shrink: 0;
	}
	.singleEdit>*+h2,.singleEdit>*+h3,.singleEdit>*+h4{
		margin-top: 8.33333vw;
	}
	.singleEdit .alignleft,.singleEdit img.alignleft{
		display: block;
		float: none;
		margin-right: auto;
		margin-left: auto;
	}
	.singleEdit .alignright,.singleEdit img.alignright{
		display: block;
		float: none;
		margin-right: auto;
		margin-left: auto;
	}
	.singleEdit .aligncenter,.singleEdit img.aligncenter{
		display: block;
		clear: both;
		margin-right: auto;
		margin-left: auto;
	}
	.singleEdit .wp-block-media-text{
		grid-template-areas: 'media-text-media' 'media-text-content';
		grid-template-columns: 1fr;
	}
	.singleEdit .wp-block-media-text .wp-block-media-text__media{
		grid-area: media-text-media;
	}
	.singleEdit .wp-block-media-text .wp-block-media-text__content{
		padding: 1.5em 0 0;

		grid-area: media-text-content;
	}
	.singleEdit .wp-block-media-text .wp-block-media-text__content p{
		margin: 0;
	}
}
@media only screen and (max-width: 767px){
	.singleEdit .wp-block-media-text .wp-block-media-text__media{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
	}
	.singleEdit .wp-block-media-text .wp-block-media-text__content{
		-ms-grid-column: 1;
		-ms-grid-row: 2;
	}
}
@media only screen and (max-width: 767px){
	.singleEdit .wp-block-media-text .wp-block-media-text__media{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
	}
	.singleEdit .wp-block-media-text .wp-block-media-text__content{
		-ms-grid-column: 1;
		-ms-grid-row: 2;
	}
}
/* ==========================================================================
   共通設定
========================================================================== */
html{
	font-size: 62.5%;
	overflow-y: scroll;

	-webkit-text-size-adjust: 100%;
	    -ms-text-size-adjust: 100%;
}
body{
	font-family: 'Noto Sans','Noto Sans CJK JP','Noto Sans JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','游ゴシック', '游ゴシック体','メイリオ',Meiryo,sans-serif;
	font-size: 1.6rem;
	line-height: 1.2;
	overflow: hidden;
	width: 100%;
	min-width: 1280px;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: .05em;
	color: #111;
	color: #111;
	color: var(--color);

	font-feature-settings: 'pkna';
}
img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;

	backface-visibility: hidden;
}
a{
	text-decoration: none;
	color: #000;
	color: #111;
	color: var(--color);
}
a:hover{
	opacity: .8;
}
.spShow{
	display: none;
}
.pcShow{
	display: inline-block;
}
.container{
	display: grid;
	min-height: 100vh;

	grid-template: 'header' 80px
	'pageContainer' 1fr
	'footer' auto / 100%;
}
.header{
	position: relative;
	z-index: 3;

	grid-area: header;
	-ms-grid-column: 1;
	-ms-grid-column: 1;
	-ms-grid-row: 1;
	-ms-grid-row: 1;
}
.home .container>.header{
	-ms-grid-column: 1;
	-ms-grid-row: 1;
}
.home .container>.header{
	-ms-grid-column: 1;
	-ms-grid-row: 1;
}
.pageContainer{
	position: relative;
	z-index: 2;

	grid-area: pageContainer;
	-ms-grid-column: 1;
	-ms-grid-column: 1;
	-ms-grid-row: 2;
	-ms-grid-row: 2;
}
.home .container>.pageContainer{
	-ms-grid-column: 1;
	-ms-grid-row: 2;
}
.home .container>.pageContainer{
	-ms-grid-column: 1;
	-ms-grid-row: 2;
}
.footer{
	z-index: 3;

	grid-area: footer;
	-ms-grid-column: 1;
	-ms-grid-column: 1;
	-ms-grid-row: 3;
	-ms-grid-row: 3;
}
.home .container>.footer{
	-ms-grid-column: 1;
	-ms-grid-row: 3;
}
.home .container>.footer{
	-ms-grid-column: 1;
	-ms-grid-row: 3;
}
button{
	padding: 0;
	border: none;
	outline: none;
	background: none;
}
button:focus{
	outline: none;
}
button:hover{
	opacity: .8;
}
button:disabled{
	opacity: 1;
}
button:disabled:hover{
	opacity: 1;
}
.anchor{
	display: block;
	margin-top: -80px;
	padding-top: 80px;
}
/* ==========================================================================
   ヘッダー
========================================================================== */
.header{
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	display: grid;
	width: 100%;
	height: 80px;
	background: #fff;

	grid-template-columns: minmax(57px,1fr) minmax(1175px,1275px) 32px minmax(36px,1fr);
}
.header::before{
	content: '';

	grid-column: 1;
}
.header::after{
	content: '';

	grid-column: 4;
}
.header .logo{
	line-height: 1;

	align-self: center;
	grid-column: 2;
}
.header .logo a{
	display: inline-flex;

	align-items: center;
}
.header .logo p{
	font-size: 1.7rem;
	line-height: 1;
	margin-left: 10px;

	flex-shrink: 0;
}
.header .logo p::before{
	display: inline-block;
	margin-right: 10px;
	content: '/';
}
.header .menuBtn{
	align-self: center;
	grid-column: 3;
}
.header .menuBtn{
	position: relative;
	z-index: 999;
	display: block;
}
.header .menuBtn button{
	line-height: 1;
	position: relative;
	display: block;
	width: 32px;
	height: 18px;
	transition: transform .6s;
}
.header .menuBtn .line{
	width: 30px;
	height: 2px;
	transition: transform .4s,opacity .4s;
	background: #000;
}
.header .menuBtn .line:nth-child(1){
	position: absolute;
	top: 0;
	left: 0;
}
.header .menuBtn .line:nth-child(2){
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -1px;
	transform-origin: center;
}
.header .menuBtn .line:nth-child(3){
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -1px;
	transform-origin: center;
	opacity: 0;
}
.header .menuBtn .line:nth-child(4){
	position: absolute;
	right: 0;
	bottom: 0;
	width: 15px;
}
.header .btnOpen{
	transform: rotate(360deg);
}
.header .btnOpen .line:nth-child(1){
	opacity: 0;
}
.header .btnOpen .line:nth-child(2){
	transform: rotate(-45deg);
	opacity: 1;
}
.header .btnOpen .line:nth-child(3){
	transform: rotate(45deg);
	opacity: 1;
}
.header .btnOpen .line:nth-child(4){
	opacity: 0;
}
/* ==========================================================================
   gNav
========================================================================== */
.gNav{
	position: fixed;
	z-index: 1000;
	top: 80px;
	right: 0;
	display: none;
	overflow-y: auto;
	width: 937px;
	min-height: 300px;
	max-height: 600px;
}
.gNav::after{
	display: block;
	width: 100%;
	height: 40px;
	content: '';
	background: url('../../img/gnav_bk_new.png') no-repeat center center;
}
.gNav .inner{
	display: flex;
	padding: 60px 30px 60px 90px;
	background: #000;

	gap: 0 80px;
	justify-content: space-between;
}
.gNav .inner a{
	color: #fff;
}
.gNav .pageNav{
	flex-shrink: 0;
}
.gNav ul:nth-child(2){
	flex-shrink: 0;
}
.gNav li{
	font-size: 1.8rem;
	font-weight: bold;
}
.gNav li+li{
	margin-top: 15px;
}
.navOpen{
	display: block;
	animation: menuFadeIn .4s 1 0s linear forwards;
}
.navClose{
	animation: menuFadeOut .4s 1 0s ease-out forwards;
}
/* ==========================================================================
   footer
========================================================================== */
.footer{
	padding-top: 80px;
	background: #000;
}
.footer .logo{
	line-height: 1;
	display: flex;

	align-items: center;
	justify-content: center;
}
.footer .logo p{
	font-size: 1.7rem;
	line-height: 1;
	margin-left: 10px;
	color: #fff;

	flex-shrink: 0;
}
.footer .logo p::before{
	display: inline-block;
	margin-right: 10px;
	content: '/';
}
.footer .bottomBox{
	display: grid;
	height: 115px;
	margin-top: 65px;
	background: #fff;

	grid-template-columns: 1fr 1007px 90px 1fr;
}
.footer .bottomBox::before{
	content: '';

	grid-column: 1;
}
.footer .bottomBox::after{
	content: '';

	grid-column: 4;
}
.footer .bottomBox ul{
	display: flex;

	align-items: center;
	gap: 0 3em;
	grid-column: 2;
}
.footer .bottomBox ul li{
	font-size: 1.5rem;
	font-weight: 500;
}
.footer .bottomBox .mark{
	align-self: center;
	grid-column: 3;
	justify-self: end;
}
.footer .copyright{
	font-size: 1.1rem;
	line-height: 1;
	position: relative;
	display: flex;
	width: 50%;
	height: 35px;
	margin: 87px 0 0 auto;
	padding-left: 223px;
	color: #fff;
	background: url('../../img/copyright_bk.png') no-repeat left center;

	align-items: center;
}
.footer .copyright::after{
	position: absolute;
	top: 0;
	left: 700px;
	width: 50vw;
	height: 35px;
	content: '';
	background: #222;
}
.footer .pagetop{
	position: fixed;
	z-index: 999;
	right: 90px;
	bottom: 30px;
	width: 69px;
	height: 69px;
}
.fixlink{
	position: fixed;
	z-index: 999;
	top: 70%;
	right: 0;
	width: 61px;
	margin-top: -296px;
}
.fixlink li+li{
	margin-top: 10px;
}
/* ==========================================================================
   下層共通
========================================================================== */
.subPage .pageMv{
	position: relative;
	width: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.subPage .pageHeader{
	display: flex;
	width: 100%;
	height: 100%;

	align-items: center;
	justify-content: center;
}
.subPage .pageHeader .pageTitle{
	font-size: 3.5rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	color: #fff;
}
.subPage .pankuzu{
	position: relative;
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 10px;
	background: url('../../img/pankuzu_bk.png') no-repeat center center;
}
.subPage .pankuzu::before{
	position: absolute;
	z-index: 1;
	top: 0;
	right: 700px;
	width: 50vw;
	height: 35px;
	content: '';
	background: #1f4499;
}
.subPage .pankuzu::after{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 700px;
	width: 50vw;
	height: 35px;
	content: '';
	background: #183888;
}
.subPage .pankuzu a{
	color: #fff;
}
.subPage .pankuzu ul{
	font-size: 1.3rem;
	line-height: 1.3;
	position: relative;
	z-index: 2;
	display: flex;
	height: 35px;
	color: #fff;

	align-items: center;
}
.subPage .pankuzu li+li{
	display: flex;
	margin-left: 7px;
}
.subPage .pankuzu li+li::before{
	margin-right: 7px;
	content: '/';
}
.subPage .pankuzu li:not(:last-child){
	flex-shrink: 0;
}
.subPage .pankuzu li:last-child{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.subPage .pankuzuHalf ul{
	max-width: 589px;
}
.subPage .main{
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 100px;
}
/* ==========================================================================
   お客様の声 詳細
========================================================================== */
.voiceSlingle .pageMv{
	height: 400px;
	background-image: url('../../img/voice_mv.jpg');
}
.voiceSlingle .pageHeader .pageTitle span::after{
	display: inline-block;
	padding: 0 .5em;
	content: '/';
}
.voiceSlingle .pageHeader .pageTitle small{
	font-size: 2.3rem;
	padding-left: .5em;
}
.voiceSlingle .main{
	position: relative;
	z-index: 10;
	max-width: none;
	padding: 70px 0 0;
}
.voiceSlingle .headerBox{
	position: absolute;
	top: -119px;
	left: 50%;
	display: flex;
	width: 613px;
	height: 160px;
	margin-left: 10px;
	padding: 25px 25px 35px;
	background: url('../../img/voice_header_bk.png') no-repeat center center;

	align-items: flex-start;
	flex-flow: column;
	justify-content: space-between;
}
.voiceSlingle .headerBox h2{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 10px;
	color: #111;
}
.voiceSlingle .headerBox .row{
	display: flex;

	align-items: center;
}
.voiceSlingle .headerBox time{
	font-size: 1.5rem;
	display: block;
	margin-right: 10px;
	letter-spacing: .2em;
	color: #111;

	flex-shrink: 0;
}
.voiceSlingle .headerBox ul{
	display: flex;

	flex-flow: row wrap;
	gap: 10px;
}
.voiceSlingle .headerBox li{
	font-size: 1.4rem;
	display: flex;
	height: 26px;
	padding: 5px 10px;
	background: #73b9ff;

	align-items: center;
	justify-content: center;
}
.voiceSlingle .data{
	max-width: 1200px;
	height: 301px;
	margin: 0 auto;
	padding: 50px 50px 58px;
	background: url('../../img/voice_data_bk.png') no-repeat center center;
}
.voiceSlingle .data dl{
	font-size: 1.7rem;
	line-height: 1.3;
	display: flex;
	color: #111;

	flex-flow: row wrap;
}
.voiceSlingle .data dt{
	flex: 0 0 175px;
}
.voiceSlingle .data dd{
	flex: 0 1 calc(100% - 175px);
}
.voiceSlingle .data dt:not(:nth-last-of-type(1)),.voiceSlingle .data dd:not(:nth-last-of-type(1)){
	margin-bottom: 24px;
}
.voiceSlingle .singleEdit{
	max-width: 1200px;
	margin: 70px auto 0;
}
.voiceSlingle .kanreService{
	position: relative;
	padding: 70px 0 140px;
	background: #eee;
}
.voiceSlingle .kanreService::before{
	position: absolute;
	z-index: 1;
	right: 50%;
	bottom: 35px;
	width: 100vw;
	height: 200px;
	margin-right: -455px;
	content: '';
	background: url('../../img/service_kanren_bk.png') repeat-x;;
}
.voiceSlingle .kanreService>h2{
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 60px;
	text-align: center;
}
.voiceSlingle .kanreService .kanrenServiceBox{
	position: relative;
	z-index: 2;
	max-width: 1200px;
	margin: 0 auto;
	background: #fff;
}
.voiceSlingle .kanreService .kanrenServiceBox a{
	display: flex;

	align-items: center;
}
.voiceSlingle .kanreService .kanrenServiceBox .text{
	padding: 28px 50px 28px 40px;

	flex: 0 1 50%;
}
.voiceSlingle .kanreService .kanrenServiceBox h2{
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 15px;
}
.voiceSlingle .kanreService .kanrenServiceBox p{
	font-size: 1.7rem;
	line-height: 1.48;
	margin-bottom: 25px;

	align-self: start;
}
.voiceSlingle .kanreService .kanrenServiceBox .moreBtn{
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	width: 206px;
	height: 55px;
	padding-bottom: 5px;
	background: url('../../img/more_bk.png') no-repeat center center / contain;

	align-items: center;
	justify-content: center;
}
.voiceSlingle .kanreService .kanrenServiceBox .tm{
	display: flex;
	height: 100%;

	align-items: center;
	flex: 0 1 50%;
	justify-content: center;
}
.voiceSlingle .kanren{
	padding-bottom: 70px;
}
/* ==========================================================================
   downloadBanner
========================================================================== */
.downloadBanner{
	height: 350px;
	margin-top: 75px;
	background: url('../../img/download_bk.jpg') no-repeat center center / cover;
}
.downloadBanner .row{
	display: flex;
	height: 100%;

	align-items: center;
	justify-content: center;
}
.downloadBanner p{
	margin-right: 50px;
}
.downloadBannerService p{
	font-size: 3.2rem;
	font-weight: 900;
	max-width: 25em;
	color: #fff;
}
.downloadBannerService p br{
	display: none;
}
.downloadBannerService a{
	font-size: 2.2rem;
	font-weight: bold;
	display: flex;
	width: 400px;
	height: 70px;
	color: #053270;
	background: url('../../img/dwon_btn_bk.png') no-repeat center center / contain;

	align-items: center;
	flex-shrink: 0;
	justify-content: center;
}
/* ==========================================================================
   関連情報
========================================================================== */
.kanren{
	max-width: 1200px;
	margin: 75px auto 0;
	text-align: center;
}
.kanren>header{
	margin-bottom: 35px;
	text-align: center;
}
.kanren>header h2{
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
}
.kanren .row{
	display: flex;
	border-top: 1px solid #bbb;

	gap: 0 20px;
}
.kanren .kanrenBox{
	padding-top: 27px;
	padding-bottom: 27px;

	flex: 0 1 290px;
}
.kanren .kanrenBox a{
	display: flex;

	flex-flow: column;
}
.kanren .kanrenBox header{
	margin-top: 13px;
	text-align: justify;

	order: 2;
}
.kanren .kanrenBox header time{
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1;
	display: block;
	margin-bottom: 10px;
	color: #00476b;
}
.kanren .kanrenBox header h2{
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	display: -webkit-box;
	overflow: hidden;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.kanren .kanrenBox .tm{
	order: 1;
}
.kanren .kanrenBox:first-child{
	flex: 0 1 270px;
}
.kanren .kanrenBox+.kanrenBox{
	padding-left: 20px;
	border-left: 1px solid #bbb;
}
/* ==========================================================================
   お客様の声 一覧
========================================================================== */
.voiceArchive .pageMv{
	height: 300px;
	background-image: url('../../img/voice_list_mv.jpg');
}
.voiceArchive .main{
	padding-top: 70px;
}
.voiceArchive .topText::after{
	display: block;
	width: 100%;
	height: 31px;
	content: '';
	background: url('../../img/waku_bk.png') no-repeat center center;
}
.voiceArchive .topText .inner{
	padding: 60px 90px 25px;
	background: #183888;
}
.voiceArchive .topText .inner p{
	font-size: 1.7rem;
	line-height: 1.48;
	color: #fff;
}
.voiceArchive .catNav{
	margin-top: 75px;
}
.voiceArchive .catNav h2{
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 55px;
	text-align: center;
}
.voiceArchive .catNav ul{
	display: flex;

	flex-flow: row wrap;
	gap: 20px 25px;
}
.voiceArchive .catNav li{
	min-width: 150px;
}
.voiceArchive .catNav li a{
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1;
	display: flex;
	width: 100%;
	height: 50px;
	padding: 0 50px;
	text-align: center;
	color: #fff;
	border: 1px solid #1f4499;
	outline: none;
	background: #1f4499;

	align-items: center;
	justify-content: center;
}
.voiceArchive .catNav li a:focus{
	outline: none;
}
.voiceArchive .catNav li .routerLinkActive{
	color: #000;
	border: 1px solid #bbb;
	background: #fff;
}
.voiceArchive .catNav li .disabledLink{
	pointer-events: none;
}
.voiceArchive .voiceRow{
	position: relative;
	display: flex;
	min-height: 300px;
	margin-top: 50px;

	flex-flow: row wrap;
	gap: 70px 0;
	justify-content: space-between;
}
.voiceArchive .voiceBox{
	animation: fadeIn .3s 1 0s linear forwards;

	flex: 0 1 585px;
}
.voiceArchive .voiceBox a{
	display: flex;

	flex-flow: column;
}
.voiceArchive .voiceBox .tm{
	order: 1;
}
.voiceArchive .voiceBox h2{
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.7;
	margin-top: 15px;

	order: 2;
}
.voiceArchive .voiceBox dl{
	font-size: 1.6rem;
	line-height: 1.3;
	display: flex;
	margin-top: 25px;

	flex-flow: row wrap;
	order: 3;
}
.voiceArchive .voiceBox dt{
	font-weight: bold;

	flex: 0 0 148px;
}
.voiceArchive .voiceBox dd{
	flex: 0 1 calc(100% - 148px);
}
.voiceArchive .voiceBox dt:not(:nth-last-of-type(1)),.voiceArchive .voiceBox dd:not(:nth-last-of-type(1)){
	margin-bottom: 20px;
}
/* ==========================================================================
   リスト共通
========================================================================== */
.loading{
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	opacity: .8;
}
.loading::before{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 52px;
	height: 52px;
	margin: -26px 0 0 -26px;
	content: '';
	animation: loader .8s infinite linear;
	border: 6px solid #000;
	border-top-color: #ddd;
	border-radius: 50%;
}
.noPost{
	font-size: 1.7rem;
	margin-top: 2em;
	text-align: center;

	flex: 0 0 100%;
}
.pagenation{
	max-width: 442px;
	margin: 50px auto 0;
}
.pagenation .morePage{
	height: 60px;
	margin-bottom: 20px;
}
.pagenation .morePage button{
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	display: flex;
	width: 100%;
	height: 100%;
	padding-top: 21px;
	text-align: center;
	background: url('../../img/morepage_bk.png') no-repeat center center;

	justify-content: center;
}
.pagenation .pageList{
	display: flex;

	justify-content: space-between;
}
.pagenation .pageList .next,.pagenation .pageList .prev{
	flex: 0 1 130px;
}
.pagenation .pageList .next button,.pagenation .pageList .prev button{
	font-size: 1.5rem;
	font-weight: 500;
	display: inline-flex;
	width: 100%;
	height: 55px;
	color: #fff;

	align-items: center;
	justify-content: center;
}
.pagenation .pageList .select{
	position: relative;
	height: 55px;

	flex: 0 1 177px;
}
.pagenation .pageList .select .label{
	font-size: 1.5rem;
	font-weight: 500;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	display: flex;
	width: 100%;
	height: 100%;
	color: #fff;
	background: url('../../img/select_arrow.png') no-repeat 147px center;
	background-color: #444;

	align-items: center;
	justify-content: center;
}
.pagenation .pageList .select select{
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	opacity: 0;
}
.pagenation .pageList .prev{
	border-radius: 10px 0 0 10px;
	background: #111;
}
.pagenation .pageList .next{
	border-radius: 0 10px 10px 0;
	background: #111;
}
.catList{
	max-width: 1200px;
	margin: 0 auto;
}
.catList .row{
	display: flex;

	flex-flow: row wrap;
	gap: 30px;
}
.catList .serviceBox{
	border: 1px solid #eee;
	background: #fff;

	flex: 0 1 380px;
}
.catList .serviceBox a{
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	padding-bottom: 145px;

	flex-flow: column;
}
.catList .serviceBox .tm{
	margin-bottom: 22px;

	order: 1;
}
.catList .serviceBox h2{
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 22px;
	padding: 0 5px;

	order: 2;
}
.catList .serviceBox p{
	font-size: 1.7rem;
	line-height: 1.48;
	display: -webkit-box;
	overflow: hidden;
	padding: 0 20px;
	text-align: justify;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	order: 3;
}
.catList .serviceBox .moreBtn{
	font-size: 1.6rem;
	font-weight: bold;
	position: absolute;
	bottom: 30px;
	left: 50%;
	display: flex;
	width: 206px;
	height: 55px;
	margin-left: -103px;
	padding-bottom: 5px;
	background: url('../../img/more_bk.png') no-repeat center center / contain;

	align-items: center;
	justify-content: center;
}
.catList .serviceBox:nth-child(3n){
	position: relative;
}
.catList .serviceBox:nth-child(3n)::before{
	position: absolute;
	z-index: -1;
	right: 138px;
	bottom: -30px;
	width: 100vw;
	height: 200px;
	content: '';
	background: url('../../img/service_list_top_bk.png') repeat-x;
}
/* ==========================================================================
   サービス一覧
========================================================================== */
.serviceArchive .pageMv{
	height: 300px;
	background-image: url('../../img/service_list_mv.jpg');
}
.serviceArchive .topBox{
	position: relative;
	display: flex;
	max-width: 1155px;
	margin: 65px auto 0;

	align-items: center;
	justify-content: space-between;
}
.serviceArchive .topBox::before{
	position: absolute;
	z-index: -1;
	right: 50%;
	bottom: -30px;
	width: 100vw;
	height: 200px;
	margin-right: -455px;
	content: '';
	background: url('../../img/service_list_top_bk.png') repeat-x;
}
.serviceArchive .topBox p{
	font-size: 1.7rem;
	line-height: 1.48;

	flex: 0 1 506px;
}
.serviceArchive .topBox .img{
	flex: 0 1 600px;
}
.serviceArchive .catList{
	margin-top: 160px;
	text-align: center;
}
.serviceArchive .catList>header{
	margin-bottom: 70px;
}
.serviceArchive .catList>header h2{
	font-size: 7rem;
	font-weight: bold;
	line-height: 1;
}
.serviceArchive .catList>header p{
	font-size: 2.3rem;
	font-weight: bold;
	margin-top: 10px;
	color: #535353;
}
.serviceArchive .downloadBanner{
	margin-top: 100px;
}
.serviceArchive .singleEdit{
	margin: 95px auto 0;
}
/* ==========================================================================
   サービス詳細
========================================================================== */
.serviceSlingle .pageMv{
	height: 300px;
	background-image: url('../../img/service_single_mv.jpg');
}
.serviceSlingle .main{
	max-width: none;
	padding-top: 65px;
}
.serviceSlingle .topText{
	max-width: 1200px;
	margin: 0 auto;
}
.serviceSlingle .topText::after{
	display: block;
	width: 100%;
	height: 31px;
	content: '';
	background: url('../../img/waku_bk.png') no-repeat center center;
}
.serviceSlingle .topText .inner{
	padding: 60px 90px 25px;
	background: #15358a;
}
.serviceSlingle .topText .inner p{
	font-size: 1.7rem;
	line-height: 1.48;
	color: #fff;
}
.serviceSlingle .secRow{
	margin-top: 75px;
}
.serviceSlingle .secBox{
	padding: 70px 0 60px;
	text-align: center;
}
.serviceSlingle .secBox h2{
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 80px;
	text-align: center;
}
.serviceSlingle .secBox h2 br{
	display: none;
}
.serviceSlingle .secBox .row{
	position: relative;
	display: flex;
	max-width: 1200px;
	margin: 0 auto;

	align-items: center;
	justify-content: space-between;
}
.serviceSlingle .secBox .row::before{
	position: absolute;
	z-index: 1;
	right: 50%;
	bottom: -30px;
	width: 100vw;
	height: 200px;
	margin-right: -455px;
	content: '';
}
.serviceSlingle .secBox p{
	font-size: 1.7rem;
	line-height: 1.48;
	position: relative;
	z-index: 2;
	text-align: justify;

	align-self: center;
	flex: 0 1 506px;
}
.serviceSlingle .secBox .img{
	position: relative;
	z-index: 2;

	flex: 0 1 600px;
}
.serviceSlingle .secBox:nth-child(odd){
	background: #eee;
}
.serviceSlingle .secBox:nth-child(odd) .row::before{
	background: url('../../img/service_sec_bk.png') repeat-x;
}
.serviceSlingle .secBox:nth-child(even) .row::before{
	background: url('../../img/service_sec_bk2.png') repeat-x;
}
.serviceSlingle .secBox:nth-child(even) p{
	order: 2;
}
.serviceSlingle .secBox:nth-child(even) .img{
	order: 1;
}
.serviceSlingle .secBox:last-child{
	padding-bottom: 70px;
}
.serviceSlingle .downloadBanner{
	margin-top: 0;
}
.serviceSlingle .singleEdit{
	max-width: 1200px;
	margin: 95px auto 0;
}
/* ==========================================================================
   トレーニング 詳細
========================================================================== */
.trainingSlingle .pageMv{
	height: 400px;
	background-image: url('../../img/service_tr_mv.jpg');
}
.trainingSlingle .pageHeader{
	flex-flow: column;
}
.trainingSlingle .pageHeader .date{
	font-size: 1.6rem;
	display: inline-flex;
	margin-bottom: 20px;
	color: #bfffee;

	align-items: center;
	flex-flow: row wrap;
	justify-content: center;
}
.trainingSlingle .pageHeader ul{
	display: flex;
	margin-top: 35px;

	flex-flow: row wrap;
	gap: 10px;
	justify-content: center;
}
.trainingSlingle .pageHeader li a{
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1;
	display: flex;
	width: 100%;
	height: 26px;
	padding: 0 13px;
	text-align: center;
	background: #bfffef;

	align-items: center;
	justify-content: center;
}
.trainingSlingle .main{
	max-width: none;
	padding-top: 65px;
}
.trainingSlingle .gaiyou{
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 90px;
	text-align: center;
	background: #eee;
}
.trainingSlingle .gaiyou h2{
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 30px;
	text-align: center;
}
.trainingSlingle .gaiyou p{
	font-size: 1.7rem;
	line-height: 1.48;
	text-align: justify;
}
.trainingSlingle .gaiyou a{
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	max-width: 286px;
	height: 55px;
	margin: 40px auto 0;
	padding-bottom: 5px;
	background: url('../../img/tr_more.png') no-repeat center center / contain;

	align-items: center;
	justify-content: center;
}
.trainingSlingle .naiyou{
	max-width: 1200px;
	margin: 110px auto 0;
	text-align: center;
}
.trainingSlingle .naiyou h2{
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 30px;
	text-align: center;
}
.trainingSlingle .naiyou dl{
	display: flex;
	border-top: 1px solid #ddd;

	flex-flow: row wrap;
}
.trainingSlingle .naiyou dt{
	border-bottom: 1px solid #ddd;
	border-left: 1px solid #ddd;

	flex: 0 1 300px;
}
.trainingSlingle .naiyou dt span{
	font-size: 1.7rem;
	font-weight: bold;
	display: flex;
	height: 100%;
	min-height: 100px;
	padding: 5px;
	color: #fff;
	border: 20px solid #fff;
	background: #00062d;

	align-items: center;
	justify-content: center;
}
.trainingSlingle .naiyou dd{
	display: flex;
	padding: 20px;
	text-align: justify;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	border-left: 1px solid #ddd;

	align-items: center;
	flex: 0 1 900px;
}
.trainingSlingle .place{
	display: grid;
	margin-top: 100px;

	grid-template-columns: minmax(10px,1fr) 650px minmax(540px,650px) 1fr;
	grid-template-rows: auto auto;
}
.trainingSlingle .place::before{
	content: '';
	background: #eee;

	grid-column: 1;
	grid-row: 2;
}
.trainingSlingle .place::after{
	content: '';

	grid-column: 1;
	grid-row: 4;
}
.trainingSlingle .place header{
	margin-bottom: 55px;

	align-self: center;
	grid-column: 1 / 5;
	grid-row: 1;
}
.trainingSlingle .place h2{
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.trainingSlingle .place .data{
	display: flex;
	padding-right: 50px;
	background: #eee;

	align-items: center;
	grid-column: 2;
	grid-row: 2;
}
.trainingSlingle .place .data ul{
	display: flex;
	width: 100%;
	height: 350px;
	padding: 0 50px;
	color: #fff;
	background: #00082c;

	flex-flow: column;
	justify-content: center;
}
.trainingSlingle .place .data li{
	font-size: 1.7rem;
	display: flex;
}
.trainingSlingle .place .data li span{
	margin-right: 1em;

	flex-shrink: 0;
}
.trainingSlingle .place .data li+li{
	margin-top: 15px;
}
.trainingSlingle .place .map{
	grid-column: 3 / 5;
	grid-row: 2;
}
.trainingSlingle .place .map iframe{
	width: 100%;
	height: 450px;
}
.trainingSlingle .entry{
	max-width: 940px;
	margin: 115px auto 0;
	text-align: center;
}
.trainingSlingle .entry>header{
	margin-bottom: 35px;
}
.trainingSlingle .entry>header h2{
	font-size: 6rem;
	font-weight: bold;
	line-height: 1;
}
.trainingSlingle .entry>header h2::after{
	display: block;
	width: 26px;
	height: 13px;
	margin: 20px auto 0;
	content: '';
	background: url('../../img/entry_arrow.png') no-repeat center center / contain;
}
.trainingSlingle .entry .topText{
	font-size: 1.6rem;
	line-height: 1.76;
	text-align: justify;
	color: #212121;
}
/* ==========================================================================
   form
========================================================================== */
.formWall{
	max-width: 940px;
	margin: 0 auto;
	text-align: justify;
}
.formWall .step{
	display: flex;
	margin: 60px 0 80px;
	background: url('../../img/form_step1.png') no-repeat center center;

	align-items: center;
}
.formWall .step li{
	font-size: 1.3rem;
	display: flex;
	height: 49px;
	text-align: center;

	align-items: center;
	flex: 0 1 33.33333%;
	justify-content: center;
}
.formWall .step li:nth-child(1){
	color: #fff;
}
.formWall .step2{
	background: url('../../img/form_step2.png') no-repeat center center;
}
.formWall .step2 li:nth-child(1){
	color: #000;
}
.formWall .step2 li:nth-child(2){
	color: #fff;
}
.formWall .step3{
	background: url('../../img/form_step3.png') no-repeat center center;
}
.formWall .step3 li:nth-child(1){
	color: #000;
}
.formWall .step3 li:nth-child(3){
	color: #fff;
}
.formWall .formText{
	font-size: 1.6rem;
	line-height: 1;
	margin-bottom: 30px;
}
.formWall .formInput select,.formWall .formInput input[type='text'],.formWall .formInput input[type='tel'],.formWall .formInput input[type='email']{
	line-height: 40px;
	width: 100%;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
}
.formWall .formInput textarea{
	width: 100%;
	height: 167px;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
}
.formWall .formInput .privacy{
	display: flex;
	max-width: 578px;
	height: 58px;
	margin: 50px auto 0;
	background: #eee;

	align-items: center;
	justify-content: center;
}
.formWall .formInput .privacy p{
	font-size: 1.3rem;
	display: flex;

	align-items: center;
}
.formWall .formInput .privacy label{
	padding-left: 1em;
}
.formWall .formInput .privacy a{
	text-decoration: underline;
}
.formWall .formBox{
	font-size: 1.6rem;
	display: flex;

	flex-flow: row wrap;
}
.formWall .formBox .title{
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.53;
	display: flex;
	padding: 10px 20px 10px 24px;
	color: #fff;
	background: #000a2b;

	align-items: center;
	flex: 0 1 259px;
	justify-content: space-between;
}
.formWall .formBox .title .hissu{
	font-size: 1.1rem;
	display: flex;
	width: 30px;
	height: 18px;
	color: #bf3c69;
	background: #fff;

	align-items: center;
	flex-shrink: 0;
	justify-content: center;
}
.formWall .formBox .titleFlexStart{
	padding-top: 23px;

	align-items: flex-start;
}
.formWall .formBox .titleFlexStart .mark{
	margin: .2em 0 0 10px;
}
.formWall .formBox .inputBox{
	padding: 15px;
	border-top: 1px solid #efebe8;
	border-right: 1px solid #efebe8;
	border-bottom: 1px solid #efebe8;

	flex: 0 1 681px;
}
.formWall .formBox .messageConf{
	line-height: 1.75;
	white-space: pre-wrap;
}
.formWall .formBox .errorText{
	font-size: 1.3rem;
	padding-top: 5px;
	color: red;
}
.formWall .formBox+.formBox{
	margin-top: 20px;
}
.formWall .goBtn{
	font-size: 1.5rem;
	font-weight: bold;
	display: flex;
	width: 226px;
	height: 55px;
	margin: 70px auto 0;
	padding-bottom: 5px;
	background: url('../../img/form_btn_bk.png') no-repeat center center / contain;

	align-items: center;
	justify-content: center;
}
.formWall .formThanks{
	margin-top: 100px;

	-webkit-padding-after: 100px;
	padding-block-end: 100px;
}
.formWall .formThanks .endText{
	font-size: 1.6rem;
	line-height: 1;
	text-align: center;
}
.formWall .formThanks .endText::before{
	display: block;
	width: 40px;
	height: 32px;
	margin: 0 auto 28px;
	content: '';
	background: url('../../img/check.png') no-repeat center center / contain;
}
.formWall .loadingForm{
	position: relative;
	margin-top: 20px;
}
.formWall .loadingForm::before{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 26px;
	height: 26px;
	margin: 0 0 0 -13px;
	content: '';
	animation: loader .8s infinite linear;
	border: 4px solid #000;
	border-top-color: #ddd;
	border-radius: 50%;
}
/* 送信エラー */
.formWall .sendError{
	font-size: 1.8rem;
	line-height: 1.75;
	max-width: 900px;
	margin: 2em auto 0;
	padding: 1em;
	text-align: center;
	color: #e64d4d;
	border: 1px solid #e64d4d;
	background: #fff;
}
/* ==========================================================================
   home
========================================================================== */
.home .container{
	display: grid;
	min-height: 100vh;

	grid-template: 'header' 0
	'pageContainer' 1fr
	'footer' auto / 100%;
}
.home .header{
	transition: background .2s linear;
}
.headerHome{
	background: none;
}
.headerHome p{
	color: #fff;
}
.headerHome .menuBtn .line{
	background: #fff;
}
.homePage .mv{
	position: relative;
	display: flex;
	overflow: hidden;
	height: 100vh;
	height: calc(1vh*100);
	height: calc(var(--vh, 1vh)*100);
	min-height: 600px;

	align-items: center;
	flex-flow: column;
	justify-content: center;
}
.homePage .mv video{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 101%;
	height: 101%;

	filter: drop-shadow(0px 0px rgba(0,0,0,0));
	-o-object-fit: cover;
	   object-fit: cover;
}
.homePage .mv::after{
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background: url('../../img/home_movie_maku.png') no-repeat center center / cover;
}
.homePage .mv .catch{
	position: relative;
	z-index: 3;
	width: 867px;
}
.homePage .mv .place{
	position: absolute;
	z-index: 3;
	right: 0;
	bottom: 0;
	width: 405px;
}
.homePage .news{
	position: relative;
	background: url('../../img/home_news_bk.jpg') no-repeat center center;
}
.homePage .news::before{
	position: absolute;
	z-index: -1;
	top: 0;
	right: 50%;
	width: 100vw;
	height: 100%;
	content: '';
	background: url('../../img/home_news_bk_left.jpg') repeat-x center center;
}
.homePage .news::after{
	position: absolute;
	z-index: -1;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	content: '';
	background: url('../../img/home_news_bk_right.jpg') repeat-x center center;
}
.homePage .news .inner{
	display: flex;
	max-width: 1179px;
	height: 305px;
	margin: 0 auto;

	align-items: center;
}
.homePage .news header{
	display: grid;
	color: #fff;

	flex: 0 1 411px;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto;
}
.homePage .news header h2{
	font-size: 4.3rem;
	font-weight: bold;
	line-height: 1;
	position: relative;
	display: flex;

	align-items: center;
	grid-column: 1;
	grid-row: 1;
}
.homePage .news header h2::after{
	position: absolute;
	top: 7px;
	right: -24px;
	width: 16px;
	height: 35px;
	content: '';
	background: url('../../img/home_news_line.png') no-repeat center center;
}
.homePage .news header p{
	font-size: 1.5rem;
	line-height: 1;
	padding-left: 38px;

	align-self: end;
	grid-column: 2;
	grid-row: 1;
}
.homePage .news header .more{
	margin-top: 15px;

	grid-column: 1;
	grid-row: 2;
}
.homePage .news ul{
	flex: 0 1 768px;
}
.homePage .news ul a{
	color: #fff;
}
.homePage .news li a{
	display: flex;

	align-items: center;
}
.homePage .news li time{
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.5;
	margin-right: 27px;

	flex-shrink: 0;
}
.homePage .news li p{
	font-size: 1.6rem;
	line-height: 1.5;
	display: -webkit-box;
	overflow: hidden;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.homePage .news li+li{
	margin-top: 25px;
}
.homePage .catList{
	margin-top: 100px;
	text-align: center;
}
.homePage .catList>header{
	margin-bottom: 70px;
}
.homePage .catList>header h2{
	font-size: 7rem;
	font-weight: bold;
	line-height: 1;
}
.homePage .catList>header p{
	font-size: 2.3rem;
	font-weight: bold;
	margin-top: 10px;
	color: #b2b200;
}
.homePage .downloadBanner{
	margin-top: 95px;
}
.homePage .why{
	position: relative;
	margin-top: 100px;
	text-align: center;
}
.homePage .why>header{
	margin-bottom: 70px;
}
.homePage .why>header h2{
	font-size: 7rem;
	font-weight: bold;
	line-height: 1;
}
.homePage .why>header p{
	font-size: 2.3rem;
	font-weight: bold;
	margin-top: 15px;
	color: #b2b200;
}
.homePage .why .box{
	height: 562px;
	background: url('../../img/home_why_bk.jpg') no-repeat center center / cover;
}
.homePage .why .box .inner{
	position: absolute;
	right: 50px;
	bottom: 50px;
	width: 733px;
	margin-left: -34px;
	padding: 0 60px 40px;
	text-align: left;
	background: rgba(255,255,255,.88);
}
.homePage .why .box .inner h2{
	font-size: 5.5rem;
	font-weight: bold;
	line-height: 1;
	transform: translateY(-95%);
	color: #fff;
}
.homePage .why .box .inner h2 span{
	color: #ff0;
}
.homePage .why .box .inner p{
	font-size: 1.7rem;
	line-height: 1.99;
}
.homePage .why .box .inner .more{
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	width: 206px;
	height: 55px;
	margin-top: 20px;
	padding-bottom: 5px;
	background: url('../../img/more_bk.png') no-repeat center center / contain;

	align-items: center;
	justify-content: center;
}
.homePage .tc{
	position: relative;
	margin-top: 105px;
	padding-bottom: 100px;
	text-align: center;
}
.homePage .tc>header{
	margin-bottom: 50px;
}
.homePage .tc>header h2{
	font-size: 7rem;
	font-weight: bold;
	line-height: 1;
}
.homePage .tc>header p{
	font-size: 2.3rem;
	font-weight: bold;
	margin-top: 10px;
	color: #535353;
}
.homePage .tc .topText{
	font-size: 1.7rem;
	line-height: 1.48;
}
.homePage .tc .row{
	display: flex;
	max-width: 914px;
	margin: 60px auto 0;

	justify-content: space-between;
}
.homePage .tc .tcSec{
	text-align: justify;

	flex: 0 1 321px;
}
.homePage .tc .tcSec h2{
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.homePage .tc .tcSec h2::before{
	display: block;
	margin-bottom: 50px;
	content: '';
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.homePage .tc .tcSec .addr,.homePage .tc .tcSec .tel{
	font-size: 1.4rem;
	line-height: 1.7;
}
.homePage .tc .tcSec .tel a{
	font-size: 1.6rem;
	font-weight: bold;
	color: #004c91;
}
.homePage .tc .tcSec .googlemap{
	font-size: 1.2rem;
	display: flex;
	width: 113px;
	height: 18px;
	margin-top: 20px;
	color: #fff;
	background: #004c91;

	align-items: center;
	justify-content: center;
}
.homePage .tc .tcSec .youtube{
	margin-top: 60px;

	aspect-ratio: 16/9;
}
.homePage .tc .tcSec .youtube iframe{
	width: 100%;
	height: 100%;
}
.homePage .tc .tcSec1 h2::before{
	width: 319px;
	height: 207px;
	background-image: url('../../img/home_tc1.png');
}
.homePage .tc .tcSec2 h2::before{
	width: 321px;
	height: 208px;
	background-image: url('../../img/home_tc2.png');
}
.homePage .schedule{
	position: relative;
	padding-top: 105px;
	text-align: center;
}
.homePage .schedule>header{
	margin-bottom: 50px;
	color: #fff;
}
.homePage .schedule>header h2{
	font-size: 7rem;
	font-weight: bold;
	line-height: 1;
}
.homePage .schedule>header p{
	font-size: 2.3rem;
	font-weight: bold;
	margin-top: 10px;
	color: #fff;
}
.homePage .schedule .video{
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;

	aspect-ratio: 16/9;
}
.homePage .schedule .video::after{
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background: url('../../img/home_movie_maku.png') no-repeat center center / cover;
}
.homePage .schedule .video video{
	width: 100%;
	vertical-align: bottom;
}
.homePage .trainingSearch{
	max-width: 1280px;
	min-height: 400px;
	margin: 0 auto;
	padding: 47px 40px;
	text-align: justify;
	background: #fff;
}
.homePage .trainingSearch .nav{
	display: flex;

	flex-flow: row wrap;
	gap: 20px 25px;
}
.homePage .trainingSearch .nav li{
	flex: 0 1 150px;
}
.homePage .trainingSearch .nav li button{
	line-height: 1.2;
	display: flex;
	width: 100%;
	text-align: center;
	color: #fff;
	border: 1px solid #00062d;
	outline: none;
	background: #00062d;

	align-items: center;
	justify-content: center;
}
.homePage .trainingSearch .nav li button:focus{
	outline: none;
}
.homePage .trainingSearch .nav li .current{
	color: #000;
	border: 1px solid #bbb;
	background: #fff;
}
.homePage .trainingSearch .nav+.nav{
	margin-top: 20px;
}
.homePage .trainingSearch .nav1 li button{
	font-size: 1.7rem;
	height: 80px;
}
.homePage .trainingSearch .nav2 li button{
	font-size: 1.6rem;
	height: 33px;
}
.homePage .trainingSearch .sum{
	font-size: 3.9rem;
	font-weight: bold;
	line-height: 1;
	margin-top: 30px;
}
.homePage .trainingSearch .sum .small{
	font-size: 1.7rem;
}
.homePage .trainingSearch .tRow{
	position: relative;
	display: flex;
	margin-top: 25px;

	flex-flow: row wrap;
	gap: 28px;
}
.homePage .trainingSearch .trBox{
	padding-bottom: 25px;
	animation: fadeIn .3s 1 0s linear forwards;
	border: 1px solid #bbb;

	flex: 0 1 380px;
}
.homePage .trainingSearch .trBox header .id{
	font-size: 1.7rem;
	font-weight: bold;
	display: flex;
	height: 65px;
	padding-left: 24px;
	color: #777;

	align-items: center;
}
.homePage .trainingSearch .trBox header h2{
	font-size: 2.6rem;
	line-height: 1.26;
	padding: 15px 22px;
	text-align: left;
	color: #fff;
	background: #00082c;
}
.homePage .trainingSearch .trBox dl{
	padding: 20px;
}
.homePage .trainingSearch .trBox dl dt{
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 15px;
}
.homePage .trainingSearch .trBox dl .day{
	font-size: 1.8rem;
	line-height: 1.48;
}
.homePage .trainingSearch .trBox dl .place{
	font-size: 1.6rem;
	margin-top: 10px;
}
.homePage .trainingSearch .trBox .statusBox{
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	height: 60px;
	padding: 0 35px;
	background: #eee;

	align-items: center;
	justify-content: space-between;
}
.homePage .trainingSearch .trBox .statusBox .status{
	font-size: 1.9rem;
	display: inline-flex;

	align-items: center;
}
.homePage .trainingSearch .trBox .statusBox .status::before{
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 20px;
	content: '';
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.homePage .trainingSearch .trBox .statusBox .statusOK::before{
	background-image: url('../../img/maru.png');
}
.homePage .trainingSearch .trBox .statusBox .statusEnd::before{
	background-image: url('../../img/batu.png');
}
.homePage .trainingSearch .trBox .gaiyou{
	overflow: hidden;
	padding: 20px;
}
.homePage .trainingSearch .trBox .gaiyou .text{
	font-size: 1.7rem;
	line-height: 1.7;
	display: -webkit-box;
	overflow: hidden;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.homePage .trainingSearch .trBox .btn{
	font-size: 1.5rem;
	font-weight: bold;
	display: flex;
	max-width: 340px;
	height: 44px;
	margin: 0 auto;

	align-items: center;
	justify-content: center;
}
.homePage .trainingSearch .trBox .goPage{
	color: #fff;
	background: #000a2b;
}
.homePage .trainingSearch .trBox .close{
	color: #000a2b;
	border: 1px solid #000a2b;
}
.homePage .trainingSearch .moreBtn{
	position: relative;
	max-width: 340px;
	margin: 50px auto 0;
}
.homePage .trainingSearch .moreBtn button{
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	width: 100%;
	height: 65px;
	color: #fff;
	background: #00082c;

	align-items: center;
	justify-content: center;
}
.homePage .trainingSearch .btnLoading::before{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 52px;
	height: 52px;
	margin: -26px 0 0 -26px;
	content: '';
	animation: loader .8s infinite linear;
	border: 6px solid #000;
	border-top-color: #ddd;
	border-radius: 50%;
}
.homePage .tc+.downloadBanner{
	margin-top: 150px;
}
.homePage .scNews{
	position: relative;
	padding: 95px 0 65px;
	text-align: center;
	background: #f9f9f9;
}
.homePage .scNews>header{
	margin-bottom: 50px;
}
.homePage .scNews>header h2{
	font-size: 7rem;
	font-weight: bold;
	line-height: 1;
}
.homePage .scNews>header p{
	font-size: 2.3rem;
	font-weight: bold;
	margin-top: 15px;
	color: #b2b200;
}
.homePage .scNews .topText{
	font-size: 1.7rem;
}
.homePage .scNews .slideWall{
	max-width: 1200px;
	margin: 69px auto 0;
}
.homePage .scNews .slideWall .swiper-button-next,.homePage .scNews .slideWall .swiper-button-prev,.homePage .scNews .slideWall .swiper-pagination{
	position: static;
}
.homePage .scNews .slideWall .swiper-button-next,.homePage .scNews .slideWall .swiper-button-prev{
	width: 39px;
	height: 39px;
	margin: 0;
	text-indent: -9999px;
}
.homePage .scNews .slideWall .swiper-button-next{
	background: url('../../img/slide_next.png') no-repeat center center / contain;
}
.homePage .scNews .slideWall .swiper-button-prev{
	background: url('../../img/slide_prev.png') no-repeat center center / contain;
}
.homePage .scNews .slideWall .partRow{
	display: flex;
	margin-top: 35px;

	align-items: center;
}
.homePage .scNews .slideWall .partRow .swiper-button-prev{
	margin-right: 28px;

	flex-shrink: 0;
}
.homePage .scNews .slideWall .partRow .swiper-button-next{
	margin-right: 58px;

	flex-shrink: 0;
}
.homePage .scNews .slideWall .partRow .swiper-pagination{
	background: #fff;
}
.homePage .scNews .slideWall .partRow .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{
	background: #224797;
}
.homePage .scNews .csnSlide a{
	display: flex;

	flex-flow: column;
}
.homePage .scNews .csnSlide .tm{
	margin-bottom: 15px;

	order: 1;
}
.homePage .scNews .csnSlide header{
	text-align: left;

	order: 2;
}
.homePage .scNews .csnSlide header time{
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1;
	display: block;
	margin-bottom: 10px;
	color: #00476b;
}
.homePage .scNews .csnSlide header h2{
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.7;
	display: -webkit-box;
	overflow: hidden;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.homePage .scNews .more{
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	width: 206px;
	height: 55px;
	margin: 30px auto 0;
	padding-bottom: 5px;
	background: url('../../img/more_bk.png') no-repeat center center / contain;

	align-items: center;
	justify-content: center;
}
.homePage .contact{
	padding: 80px 0 100px;
	text-align: center;
}
.homePage .contact>header{
	margin-bottom: 55px;
}
.homePage .contact>header h2{
	font-size: 7rem;
	font-weight: bold;
	line-height: 1;
}
.homePage .contact>header p{
	font-size: 2.3rem;
	font-weight: bold;
	margin-top: 15px;
	color: #b2b200;
}
.homePage .contact .topText{
	font-size: 1.7rem;
}
/* ==========================================================================
   ニュース系 詳細 共通
========================================================================== */
.newsSingleTemp .newsContent{
	position: relative;
	z-index: 10;
	display: flex;
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 95px;

	justify-content: space-between;
}
.newsSingleTemp .main{
	max-width: none;
	margin: 0;

	flex: 0 1 860px;
}
.newsSingleTemp .sidebar{
	flex: 0 1 300px;
}
.newsSingleTemp .headerBox{
	position: absolute;
	top: -119px;
	left: 50%;
	display: flex;
	width: 613px;
	height: 160px;
	margin-left: 10px;
	padding: 25px 25px 35px;
	background: url('../../img/voice_header_bk.png') no-repeat center center;

	align-items: flex-start;
	flex-flow: column;
	justify-content: space-between;
}
.newsSingleTemp .headerBox h2{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 10px;
	color: #111;
}
.newsSingleTemp .headerBox .row{
	display: flex;

	align-items: center;
}
.newsSingleTemp .headerBox time{
	font-size: 1.5rem;
	display: block;
	margin-right: 10px;
	letter-spacing: .2em;
	color: #111;

	flex-shrink: 0;
}
.newsSingleTemp .headerBox ul{
	display: flex;

	flex-flow: row wrap;
	gap: 10px;
}
.newsSingleTemp .headerBox li{
	font-size: 1.4rem;
	display: flex;
	height: 26px;
	padding: 5px 10px;
	background: #73B9FF;

	align-items: center;
	justify-content: center;
}
.newsSingleTemp .downloadBannerNews{
	margin-top: 70px;
}
.newsSingleTemp .kanren .kanrenBox{
	flex: 0 1 280px;
}
.newsSingleTemp .kanren .kanrenBox:first-child{
	flex: 0 1 260px;
}
.newsSingleTemp .kanren .kanrenBox:nth-child(4){
	display: none;
}
.newsSingleTemp .sidebar{
	padding-bottom: 50px;
}
.newsSingleTemp .sidebar>header{
	margin-bottom: 25px;
}
.newsSingleTemp .sidebar>header h2{
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
}
.newsSingleTemp .sidebar .newPostBox a{
	display: flex;

	flex-flow: column-reverse;
}
.newsSingleTemp .sidebar .newPostBox header{
	margin-top: 13px;
	text-align: justify;
}
.newsSingleTemp .sidebar .newPostBox header time{
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1;
	display: block;
	margin-bottom: 10px;
	color: #00476b;
}
.newsSingleTemp .sidebar .newPostBox header h2{
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.46;
	display: -webkit-box;
	overflow: hidden;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.newsSingleTemp .sidebar .newPostBox+.newPostBox{
	margin-top: 35px;
}
/* ==========================================================================
   新着情報 詳細
========================================================================== */
.newsSingle .pageMv{
	height: 400px;
	background-image: url('../../img/news_single_bk.jpg');
}
/* ==========================================================================
   ニュース系 一覧 共通
========================================================================== */
.newsArchiveTemp .main{
	padding-top: 70px;
}
.newsArchiveTemp .topText::after{
	display: block;
	width: 100%;
	height: 31px;
	content: '';
	background: url('../../img/news_waku_bk.png') no-repeat center center;
}
.newsArchiveTemp .topText .inner{
	padding: 60px 90px 25px;
	background: #eee;
}
.newsArchiveTemp .topText .inner p{
	font-size: 1.7rem;
	line-height: 1.48;
}
.newsArchiveTemp .newsRow{
	position: relative;
	display: flex;
	min-height: 300px;
	margin-top: 87px;

	flex-flow: row wrap;
	gap: 60px 30px;
}
.newsArchiveTemp .newsBox{
	/* 	custom add  */
	width: 33.33333%;
	max-width: 380px;
	animation: fadeIn .3s 1 0s linear forwards;

	flex: 0 1 380px;
}
.newsArchiveTemp .newsBox a{
	display: flex;

	flex-flow: column;
}
.newsArchiveTemp .newsBox .tm{
	margin-bottom: 15px;

	order: 1;
}
.newsArchiveTemp .newsBox header{
	order: 2;
}
.newsArchiveTemp .newsBox header time{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	display: block;
	margin-bottom: 15px;
	color: #00476b;
}
.newsArchiveTemp .newsBox header h2{
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.7;
	display: -webkit-box;
	overflow: hidden;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
}
.newsArchiveTemp .newsBox .text{
	font-size: 1.6rem;
	line-height: 1.7;
	display: -webkit-box;
	/* 	custom add */
	overflow: hidden;
	margin-top: 10px;
	text-overflow: ellipsis;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	order: 3;
}
/* ==========================================================================
   新着情報 一覧
========================================================================== */
.newsArchive .pageMv{
	height: 300px;
	background-image: url('../../img/news_list_mv.jpg');
}
/* ==========================================================================
   自由 下層ページ
========================================================================== */
.defaultSubPage .pageMv{
	height: 300px;
}
.defaultSubPage .singleEdit{
	max-width: 900px;
	margin: 95px auto 0;
}
/* ==========================================================================
   end
========================================================================== */
@media only screen and (max-width: 767px){
	html{
		font-size: 2.08333vw;
	}
	body{
		width: 100%;
		min-width: 0;
	}
	.spShow{
		display: inline-block;
	}
	.pcShow{
		display: none;
	}
	.container{
		grid-template: 'header' 16.66667vw
		'pageContainer' 1fr
		'footer' auto /100%;
	}
	.anchor{
		display: block;
		margin-top: -16.66667vw;
		padding-top: 16.66667vw;
	}
	/* ==========================================================================
   ヘッダー
========================================================================== */
	.header{
		height: 16.66667vw;

		grid-template-columns: 4.16667vw 1fr 6.66667vw 6.25vw;
	}
	.header .logo img{
		width: 18.58333vw;
	}
	.header .logo p{
		font-size: 1.53rem;
		margin-left: 2.08333vw;
	}
	.header .logo p::before{
		margin-right: 2.08333vw;
	}
	/* ==========================================================================
   gNav
========================================================================== */
	.gNav{
		top: 16.66667vw;
		overflow-y: visible;
		width: 100vw;
		height: auto;
		min-height: 0;
		max-height: none;
	}
	.gNav::after{
		height: 8.54167vw;
		background: url('../../img/sp_gnav_bk.png') no-repeat center center / 100% auto;
	}
	.gNav .inner{
		display: block;
		overflow-y: auto;
		height: calc(100vh - 25.208vw);
		height: calc(1vh*100 - 25.208vw);
		height: calc(var(--vh, 1vh)*100 - 25.208vw);
		padding: 11.45833vw 6.66667vw 2.08333vw;
		background: #000;
	}
	.gNav ul+ul{
		margin-top: 11.45833vw;
	}
	.gNav li{
		font-size: 1.8rem;
		font-weight: bold;
	}
	.gNav li+li{
		margin-top: 3.125vw;
	}
	/* ==========================================================================
   footer
========================================================================== */
	.footer{
		position: relative;
		margin-bottom: 14.375vw;
		padding-top: 16.66667vw;
	}
	.footer .logo img{
		width: 16.25vw;
	}
	.footer .logo p{
		margin-left: 2.08333vw;
	}
	.footer .logo p::before{
		margin-right: 2.08333vw;
	}
	.footer .bottomBox{
		display: block;
		height: auto;
		margin-top: 14.58333vw;
		padding: 3.125vw 0 4.58333vw;
	}
	.footer .bottomBox::before{
		display: none;
	}
	.footer .bottomBox::after{
		display: none;
	}
	.footer .bottomBox ul{
		gap: 0 2em;
		justify-content: center;
	}
	.footer .bottomBox .mark{
		width: 18.75vw;
		margin: 4.58333vw auto 0;
	}
	.footer .copyright{
		font-size: 1.2rem;
		width: 72.08333vw;
		height: 7.29167vw;
		margin: 18.125vw 0 0 auto;
		padding-left: 11.25vw;
		background: url('../../img/copyright_bk.png') no-repeat left center / auto 100%;
	}
	.footer .copyright::after{
		display: none;
	}
	.footer .pagetop{
		position: fixed;
		z-index: 999;
		right: 2.08333vw;
		bottom: 20.83333vw;
		width: 14.375vw;
		height: 14.375vw;
	}
	.footer .stopBtn{
		position: absolute;
		top: -14.375vw;
	}
	.fixlink{
		position: fixed;
		z-index: 999;
		top: auto;
		right: 0;
		bottom: 0;
		display: flex;
		width: 100vw;
		margin-top: 0;
	}
	.fixlink li{
		flex: 0 1 50%;
	}
	.fixlink li img{
		width: 100%;
	}
	.fixlink li a:hover{
		opacity: 1;
	}
	.fixlink li a:focus{
		outline: none;
	}
	.fixlink li+li{
		margin-top: 0;
	}
	/* ==========================================================================
   下層共通
========================================================================== */
	.subPage .pageHeader .pageTitle{
		font-size: 2.8rem;
	}
	.subPage .pankuzu{
		max-width: none;
		margin: 0 auto;
		padding: 0 5vw;
		background: url('../../img/sp_pankuzu_bk.png') no-repeat center center / auto 100%;
	}
	.subPage .pankuzu::before{
		display: none;
	}
	.subPage .pankuzu::after{
		display: none;
	}
	.subPage .pankuzu ul{
		height: 7.29167vw;
	}
	.subPage .pankuzu li+li{
		margin-left: 1.45833vw;
	}
	.subPage .pankuzu li+li::before{
		margin-right: 1.45833vw;
	}
	.subPage .pankuzuHalf ul{
		max-width: none;
	}
	.subPage .main{
		max-width: 91.66667vw;
		padding-bottom: 20.83333vw;
	}
	/* ==========================================================================
   お客様の声 詳細
========================================================================== */
	.voiceSlingle .pageMv{
		height: 83.33333vw;
		background-image: url('../../img/sp_voice_mv.jpg');
	}
	.voiceSlingle .pageHeader .pageTitle{
		line-height: 1.4;
		display: flex;

		align-items: flex-end;
		flex-flow: row wrap;
		justify-content: center;
	}
	.voiceSlingle .pageHeader .pageTitle small{
		font-size: 2rem;
		padding-left: .3em;
	}
	.voiceSlingle .main{
		max-width: none;
		padding-top: 10.41667vw;
	}
	.voiceSlingle .headerBox{
		position: static;
		width: 92.29167vw;
		height: auto;
		min-height: 33.33333vw;
		margin: 0 0 8.33333vw 4.16667vw;
		padding: 6.25vw 4.16667vw 7.29167vw;
		background: url('../../img/sp_voice_header_bk.png') no-repeat left bottom / 100% auto;
	}
	.voiceSlingle .headerBox::before{
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		width: 91.66667vw;
		height: 70%;
		content: '';
		background: #DDD;
	}
	.voiceSlingle .headerBox h2{
		font-size: 1.8rem;
		line-height: 1.43;
		margin-bottom: 2.08333vw;
	}
	.voiceSlingle .headerBox time{
		margin-right: 6.25vw;
	}
	.voiceSlingle .headerBox ul{
		gap: 2.08333vw;
	}
	.voiceSlingle .headerBox li{
		font-size: 1.4rem;
		display: flex;
		height: 5.41667vw;
		padding: 1.04167vw 3.125vw;
		background: #73B9FF;

		align-items: center;
		justify-content: center;
	}
	.voiceSlingle .data{
		position: relative;
		max-width: 91.66667vw;
		height: none;
		margin: 0 auto 19.79167vw;
		padding: 11.45833vw 4.58333vw 5.20833vw;
		background: #DDD;
	}
	.voiceSlingle .data::after{
		position: absolute;
		bottom: -7.29167vw;
		left: 0;
		display: block;
		width: 100%;
		height: 7.29167vw;
		content: '';
		background: url('../../img/sp_voice_data_bk.png') no-repeat center center / 100% auto;
	}
	.voiceSlingle .data dl{
		font-size: 1.7rem;
		line-height: 1.48;

		justify-content: space-between;
	}
	.voiceSlingle .data dt{
		flex: 0 0 28.75vw;
	}
	.voiceSlingle .data dd{
		flex: 0 1 53.54167vw;
	}
	.voiceSlingle .data dt:not(:nth-last-of-type(1)),.voiceSlingle .data dd:not(:nth-last-of-type(1)){
		margin-bottom: 4.16667vw;
	}
	.voiceSlingle .singleEdit{
		max-width: 91.66667vw;
		margin: 0 auto;
	}
	/* ==========================================================================
   downloadBanner
========================================================================== */
	.downloadBanner{
		height: 72.91667vw;
		margin-top: 15.625vw;
		background: url('../../img/sp_download_bk.jpg') no-repeat center center / cover;
	}
	.downloadBanner .row{
		display: block;
		padding-top: 19.375vw;
	}
	.downloadBanner p{
		width: 91.25vw;
		margin: 0 auto 2.91667vw;
	}
	.downloadBanner a{
		display: block;
		width: 83.33333vw;
		margin: 0 auto;
	}
	.downloadBannerService p{
		line-height: 1.36;
		width: auto;
		max-width: none;
		text-align: center;
	}
	.downloadBannerService p br{
		display: block;
	}
	.downloadBannerService a{
		display: flex;
		width: 83.33333vw;
		height: 14.58333vw;
	}
	/* ==========================================================================
   関連情報
========================================================================== */
	.kanren{
		max-width: 91.66667vw;
		margin: 15.625vw auto 0;
	}
	.kanren>header{
		margin-bottom: 8.33333vw;
	}
	.kanren .row{
		display: flex;
		border-top: none;

		flex-flow: row wrap;
		gap: 6.25vw 0;
		justify-content: space-between;
	}
	.kanren .kanrenBox{
		padding-top: 0;
		padding-bottom: 0;

		flex: 0 1 44.16667vw;
	}
	.kanren .kanrenBox header{
		margin-top: 2.70833vw;
	}
	.kanren .kanrenBox header time{
		font-size: 1.6rem;
		margin-bottom: 2.08333vw;
	}
	.kanren .kanrenBox:first-child{
		flex: 0 1 44.16667vw;
	}
	.kanren .kanrenBox+.kanrenBox{
		padding-left: 0;
		border-left: none;
	}
	/* ==========================================================================
   お客様の声 一覧
========================================================================== */
	.voiceArchive .pageMv{
		height: 62.5vw;
		background-image: url('../../img/sp_voice_list_mv.jpg');
	}
	.voiceArchive .main{
		padding-top: 10.41667vw;
	}
	.voiceArchive .topText::after{
		display: block;
		width: 100%;
		height: 7.29167vw;
		content: '';
		background: url('../../img/sp_voice_data_bk.png') no-repeat center center / 100% auto;
	}
	.voiceArchive .topText .inner{
		padding: 12.5vw 5.20833vw 5.41667vw;
	}
	.voiceArchive .catNav{
		margin-top: 14.58333vw;
	}
	.voiceArchive .catNav h2{
		font-size: 2.6rem;
		margin-bottom: 7.29167vw;
	}
	.voiceArchive .catNav ul{
		gap: 4.16667vw;
	}
	.voiceArchive .catNav li{
		min-width: 22.91667vw;
	}
	.voiceArchive .catNav li a{
		height: 10.41667vw;
		padding: 0 6.25vw;
	}
	.voiceArchive .voiceRow{
		display: block;
		min-height: 20.83333vw;
		margin-top: 6.25vw;
	}
	.voiceArchive .voiceBox h2{
		margin-top: 3.125vw;
	}
	.voiceArchive .voiceBox dl{
		margin-top: 5.20833vw;
	}
	.voiceArchive .voiceBox dt{
		font-weight: bold;

		flex: 0 0 30.20833vw;
	}
	.voiceArchive .voiceBox dd{
		flex: 0 1 60.41667vw;
	}
	.voiceArchive .voiceBox dt:not(:nth-last-of-type(1)),.voiceArchive .voiceBox dd:not(:nth-last-of-type(1)){
		margin-bottom: 4.16667vw;
	}
	.voiceArchive .voiceBox+.voiceBox{
		margin-top: 9.375vw;
	}
	/* ==========================================================================
   リスト共通
========================================================================== */
	.loading::before{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 26px;
		height: 26px;
		margin: 0 0 0 -13px;
		content: '';
		animation: loader .8s infinite linear;
		border: 4px solid #000;
		border-top-color: #ddd;
		border-radius: 50%;
	}
	.pagenation{
		max-width: none;
		margin: 10.41667vw auto 0;
	}
	.pagenation .morePage{
		height: 12.5vw;
		margin-bottom: 4.16667vw;
	}
	.pagenation .morePage button{
		padding-top: 4.375vw;
		background: url('../../img/sp_morepage_bk.png') no-repeat center center;
		background-size: contain;
	}
	.pagenation .pageList .next,.pagenation .pageList .prev{
		flex: 0 1 29.375vw;
	}
	.pagenation .pageList .next button,.pagenation .pageList .prev button{
		height: 11.45833vw;
	}
	.pagenation .pageList .select{
		position: relative;
		height: 11.45833vw;

		flex: 0 1 36.875vw;
	}
	.pagenation .pageList .select .label{
		width: 36.875vw;
		background: url('../../img/sp_slect_arrow.png') no-repeat 30.625vw center;
		background-color: #444;
		background-size: auto 100%;
	}
	.catList{
		max-width: 79.16667vw;
	}
	.catList .row{
		display: block;
	}
	.catList .serviceBox a{
		padding-bottom: 30.20833vw;
	}
	.catList .serviceBox .tm{
		margin-bottom: 4.58333vw;
	}
	.catList .serviceBox h2{
		margin-bottom: 4.58333vw;
		padding: 0 1.04167vw;
	}
	.catList .serviceBox p{
		padding: 0 4.16667vw;
	}
	.catList .serviceBox .moreBtn{
		bottom: 6.25vw;
		width: 42.91667vw;
		height: 11.45833vw;
		margin-left: -21.45833vw;
		padding-bottom: 1.04167vw;
	}
	.catList .serviceBox:nth-child(3n)::before{
		display: none;
	}
	.catList .serviceBox+.serviceBox{
		margin-top: 6.25vw;
	}
	/* ==========================================================================
   サービス一覧
========================================================================== */
	.serviceArchive .pageMv{
		height: 62.5vw;
		background-image: url('../../img/sp_service_list_mv.jpg');
	}
	.serviceArchive .topBox{
		display: block;
		max-width: none;
		margin: 10.41667vw 0 0;
	}
	.serviceArchive .topBox::before{
		display: none;
	}
	.serviceArchive .topBox p{
		font-size: 1.7rem;
		line-height: 1.48;
		padding: 0 5.20833vw;
	}
	.serviceArchive .topBox .img{
		margin-top: 5.625vw;
		padding-top: 6.25vw;
		background: url('../../img/sp_service_list_top_bk.png') no-repeat center top / 100% auto;
	}
	.serviceArchive .catList{
		margin-top: 15.625vw;
	}
	.serviceArchive .catList>header{
		margin-bottom: 9.375vw;
	}
	.serviceArchive .catList>header p{
		margin-top: 2.08333vw;
	}
	.serviceArchive .downloadBanner{
		margin-top: 14.58333vw;
	}
	.serviceArchive .singleEdit{
		margin: 13.54167vw auto 0;
	}
	/* ==========================================================================
   サービス詳細
========================================================================== */
	.serviceSlingle .pageMv{
		height: 62.5vw;
		background-image: url('../../img/sp_service_single_mv.jpg');
	}
	.serviceSlingle .main{
		max-width: none;
		padding-top: 10.41667vw;
	}
	.serviceSlingle .topText{
		width: 91.66667vw;
	}
	.serviceSlingle .topText::after{
		display: block;
		width: 100%;
		height: 7.29167vw;
		content: '';
		background: url('../../img/sp_voice_data_bk.png') no-repeat center center / 100% auto;
	}
	.serviceSlingle .topText .inner{
		padding: 12.5vw 5.20833vw 5.41667vw;
	}
	.serviceSlingle .secRow{
		margin-top: 14.58333vw;
	}
	.serviceSlingle .secBox{
		padding: 14.58333vw 0 0;
		text-align: center;
	}
	.serviceSlingle .secBox h2{
		margin-bottom: 6.25vw;
		padding: 0 .3em;
	}
	.serviceSlingle .secBox h2 br{
		display: block;
	}
	.serviceSlingle .secBox .row{
		display: block;
		max-width: none;
	}
	.serviceSlingle .secBox .row::before{
		display: none;
	}
	.serviceSlingle .secBox p{
		padding: 0 5.20833vw;
	}
	.serviceSlingle .secBox .img{
		margin-top: 5.625vw;
		padding-top: 6.25vw;
		background: url('../../img/sp_service_sec_bk.png') no-repeat center top / 100% auto;
	}
	.serviceSlingle .secBox:nth-child(odd){
		background: #eee;
	}
	.serviceSlingle .secBox:nth-child(even){
		background: #eee;
	}
	.serviceSlingle .secBox:last-child{
		padding-bottom: 0;
	}
	.serviceSlingle .downloadBanner{
		margin-top: 14.58333vw;
	}
	.serviceSlingle .singleEdit{
		max-width: 91.66667vw;
		margin: 13.54167vw auto 0;
	}
	/* ==========================================================================
   トレーニング 詳細
========================================================================== */
	.trainingSlingle .pageMv{
		height: 83.33333vw;
		background-image: url('../../img/sp_service_tr_mv.jpg');
	}
	.trainingSlingle .pageHeader .date{
		margin-bottom: 4.16667vw;
	}
	.trainingSlingle .pageHeader .pageTitle{
		font-size: 2.8rem;
		line-height: 1.2;
	}
	.trainingSlingle .pageHeader ul{
		margin-top: 6.25vw;

		gap: 2.08333vw;
	}
	.trainingSlingle .pageHeader li a{
		height: 5.41667vw;
		padding: 0 2.70833vw;
	}
	.trainingSlingle .main{
		padding-top: 11.45833vw;
	}
	.trainingSlingle .gaiyou{
		max-width: 91.66667vw;
		padding: 10.41667vw 4.16667vw 9.375vw;
	}
	.trainingSlingle .gaiyou h2{
		margin-bottom: 6.25vw;
	}
	.trainingSlingle .gaiyou a{
		max-width: 59.58333vw;
		height: 11.45833vw;
		margin: 8.33333vw auto 0;
		padding-bottom: 1.04167vw;
	}
	.trainingSlingle .naiyou{
		max-width: 91.66667vw;
		margin: 16.66667vw auto 0;
		text-align: center;
	}
	.trainingSlingle .naiyou h2{
		margin-bottom: 6.25vw;
	}
	.trainingSlingle .naiyou dl{
		display: flex;
		border-top: .20833vw solid #ddd;

		flex-flow: row wrap;
	}
	.trainingSlingle .naiyou dt{
		border-bottom: .20833vw solid #ddd;
		border-left: .20833vw solid #ddd;

		flex: 0 1 27.08333vw;
	}
	.trainingSlingle .naiyou dt span{
		font-size: 1.5rem;
		min-height: 16.66667vw;
		padding: 1.04167vw;
		border: 2.08333vw solid #fff;
	}
	.trainingSlingle .naiyou dd{
		padding: 4.16667vw 2.08333vw;
		border-right: .20833vw solid #ddd;
		border-bottom: .20833vw solid #ddd;
		border-left: .20833vw solid #ddd;

		flex: 0 1 64.58333vw;
	}
	.trainingSlingle .place{
		display: block;
		margin-top: 11.45833vw;
		text-align: center;
	}
	.trainingSlingle .place::before{
		display: none;
	}
	.trainingSlingle .place::after{
		display: none;
	}
	.trainingSlingle .place header{
		margin-bottom: 6.25vw;
	}
	.trainingSlingle .place .data{
		padding: 0;
	}
	.trainingSlingle .place .data ul{
		width: 100%;
		height: auto;
		min-height: 72.91667vw;
		padding: 4.79167vw;
		color: #fff;
		background: #00082c;
	}
	.trainingSlingle .place .data li+li{
		margin-top: 3.125vw;
	}
	.trainingSlingle .place .map iframe{
		height: 91.66667vw;
	}
	.trainingSlingle .entry{
		max-width: 91.66667vw;
		margin: 15.625vw auto 0;
		text-align: center;
	}
	.trainingSlingle .entry>header{
		margin-bottom: 9.375vw;
	}
	.trainingSlingle .entry>header h2::after{
		width: 5.41667vw;
		height: 2.70833vw;
		margin: 4.16667vw auto 0;
	}
	/* ==========================================================================
   form
========================================================================== */
	.formWall{
		max-width: 91.66667vw;
		text-align: justify;
	}
	.formWall .step{
		margin: 9.375vw 0;
		background: url('../../img/sp_form_step1.png') no-repeat center center / contain;
	}
	.formWall .step li{
		height: 10.20833vw;
	}
	.formWall .step2{
		background: url('../../img/sp_form_step2.png') no-repeat center center / contain;
	}
	.formWall .step3{
		background: url('../../img/sp_form_step3.png') no-repeat center center / contain;
	}
	.formWall .formText{
		font-size: 1.3rem;
		margin-bottom: 6.25vw;
	}
	.formWall .formInput input[type='text'],.formWall .formInput input[type='tel'],.formWall .formInput input[type='email']{
		font-size: 16px;
		line-height: 8.33333vw;
		height: 8.33333vw;
		padding: 0 1em;
	}
	.formWall .formInput textarea{
		font-size: 16px;
		height: 29.58333vw;
		padding: 1em;
	}
	.formWall .formInput .privacy{
		max-width: 77.08333vw;
		height: 16.66667vw;
		margin: 10.41667vw auto 0;
	}
	.formWall .formBox .title{
		line-height: 1.2;
		padding: .625vw 3.125vw .625vw 2.08333vw;
		text-align: left;

		flex: 0 1 30vw;
	}
	.formWall .formBox .title .hissu{
		width: 6.25vw;
		height: 3.75vw;
	}
	.formWall .formBox .titleFlexStart{
		padding-top: 5.33333vw;
	}
	.formWall .formBox .inputBox{
		padding: 3.125vw;

		flex: 0 1 61.66667vw;
	}
	.formWall .formBox .errorText{
		padding-top: 2.08333vw;
	}
	.formWall .formBox+.formBox{
		margin-top: 2.08333vw;
	}
	.formWall .goBtn{
		width: 47.08333vw;
		height: 11.45833vw;
		margin: 10.41667vw auto 0;
		padding-bottom: 1.04167vw;
	}
	.formWall .formThanks{
		margin-top: 20.83333vw;

		-webkit-padding-after: 20.83333vw;
		padding-block-end: 20.83333vw;
	}
	.formWall .formThanks .endText::before{
		width: 8.33333vw;
		height: 6.66667vw;
		margin: 0 auto 5.83333vw;
	}
	.formWall .loadingForm{
		margin-top: 4.16667vw;
	}
	/* 送信エラー */
	.formWall .sendError{
		max-width: 91.66667vw;
	}
	/* ==========================================================================
   home
========================================================================== */
	.home .container{
		display: grid;
		min-height: 100vh;

		grid-template: 'header' 0
		'pageContainer' 1fr
		'footer' auto / 100%;
	}
	.home .header{
		transition: background .2s linear;
	}
	.headerHome{
		background: none;
	}
	.headerHome p{
		color: #fff;
	}
	.headerHome .menuBtn .line{
		background: #fff;
	}
	.homePage .mv{
		overflow: visible;
		height: 100vw;
		min-height: 0;
	}
	.homePage .mv::after{
		background: url('../../img/sp_home_movie_maku.png') no-repeat center center / cover;
	}
	.homePage .mv .catch{
		width: 95.83333vw;
	}
	.homePage .mv .place{
		bottom: -26.875vw;
		width: 100vw;
	}
	.homePage .mv .place img{
		width: 100%;
	}
	.homePage .news{
		position: relative;
		background: #111;
	}
	.homePage .news::before{
		display: none;
	}
	.homePage .news::after{
		display: none;
	}
	.homePage .news .inner{
		display: block;
		max-width: 87.5vw;
		height: auto;
		padding: 14.58333vw 0;
	}
	.homePage .news header{
		display: grid;
		margin-bottom: 8.33333vw;

		grid-template-columns: auto auto 1fr;
		grid-template-rows: auto;
	}
	.homePage .news header h2{
		grid-column: 1;
		grid-row: 1;
	}
	.homePage .news header h2::after{
		position: absolute;
		top: 1.45833vw;
		right: -5vw;
		width: 3.33333vw;
		height: 7.29167vw;
		content: '';
		background: url('../../img/home_news_line.png') no-repeat center center;
	}
	.homePage .news header p{
		padding-left: 7.91667vw;
	}
	.homePage .news header .more{
		width: 4.58333vw;
		margin-left: 6.875vw;

		align-self: end;
		grid-column: 3;
		grid-row: 1;
	}
	.homePage .news li a{
		align-items: flex-start;
	}
	.homePage .news li time{
		font-size: 1.3rem;
		font-weight: bold;
		line-height: 1.8;
		margin-right: 3.54167vw;

		flex-shrink: 0;
	}
	.homePage .news li p{
		font-size: 1.6rem;
		line-height: 1.5;
		display: -webkit-box;
		overflow: hidden;

		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
	.homePage .news li+li{
		margin-top: 5vw;
	}
	.homePage .catList{
		margin-top: 16.66667vw;
		text-align: center;
	}
	.homePage .catList>header{
		margin-bottom: 11.45833vw;
	}
	.homePage .catList>header h2{
		font-size: 6.5rem;
	}
	.homePage .catList>header p{
		margin-top: 2.08333vw;
	}
	.homePage .downloadBanner{
		margin-top: 14.58333vw;
	}
	.homePage .why{
		margin-top: 15.625vw;
	}

	.homePage .why>header{
		margin-bottom: 11.45833vw;
	}
	.homePage .why>header h2{
		font-size: 6.5rem;
	}
	.homePage .why>header p{
		margin-top: 3.125vw;
	}
	.homePage .why .box{
		height: auto;
		padding-top: 117.08333vw;
		background: url('../../img/sp_home_why_bk.jpg') no-repeat center top / 100% auto;
	}
	.homePage .why .box .inner{
		position: static;
		width: 100%;
		margin-left: 0;
		padding: 0 6.25vw 0;
		text-align: justify;
		background: #fff;
	}
	.homePage .why .box .inner h2{
		font-size: 3.85rem;
		font-weight: bold;
		line-height: 1;
		transform: translateY(-95%);
		text-align: left;
		color: #fff;
	}
	.homePage .why .box .inner .more{
		width: 42.91667vw;
		height: 11.45833vw;
		margin-top: 4.16667vw;
		padding-bottom: 1.04167vw;
	}
	.homePage .tc{
		margin-top: 30.625vw;
		padding-bottom: 14.58333vw;
	}
	.homePage .tc>header{
		margin-bottom: 10.41667vw;
	}
	.homePage .tc>header h2{
		font-size: 5.8rem;
	}
	.homePage .tc>header p{
		margin-top: 3.125vw;
	}
	.homePage .tc .topText{
		width: 87.5vw;
		margin: 0 auto;
		text-align: justify;
	}
	.homePage .tc .row{
		display: block;
		max-width: 66.875vw;
		margin: 10.41667vw auto 0;
	}
	.homePage .tc .tcSec h2{
		margin-bottom: 4.16667vw;
	}
	.homePage .tc .tcSec h2::before{
		margin-bottom: 10.41667vw;
		background-size: contain;
	}
	.homePage .tc .tcSec .googlemap{
		width: 23.54167vw;
		height: 3.75vw;
		margin-top: 4.16667vw;
	}
	.homePage .tc .tcSec .youtube{
		margin-top: 12.5vw;
	}
	.homePage .tc .tcSec1 h2::before{
		width: 66.45833vw;
		height: 41.875vw;
	}
	.homePage .tc .tcSec2{
		margin-top: 8.33333vw;
		padding-top: 8.33333vw;
		border-top: 1px solid #ddd;
	}
	.homePage .tc .tcSec2 h2::before{
		width: 66.875vw;
		height: 43.33333vw;
	}
	.homePage .schedule{
		position: relative;
		padding-top: 14.58333vw;
		text-align: center;
	}
	.homePage .schedule>header{
		margin-bottom: 14.58333vw;
		color: #fff;
	}
	.homePage .schedule>header h2{
		font-size: 6.5rem;
	}
	.homePage .schedule>header p{
		margin-top: 4.16667vw;
	}
	.homePage .trainingSearch{
		max-width: none;
		min-height: 0;
		margin: 0 auto;
		padding: 10.41667vw 2.08333vw;
		text-align: justify;
		background: #fff;
	}
	.homePage .trainingSearch .nav{
		gap: 1.04167vw;
	}
	.homePage .trainingSearch .nav li{
		flex: 0 1 31.25vw;
	}
	.homePage .trainingSearch .nav li button{
		border: .20833vw solid #00062d;
	}
	.homePage .trainingSearch .nav li .current{
		border: .20833vw solid #bbb;
	}
	.homePage .trainingSearch .nav+.nav{
		margin-top: 1.04167vw;
	}
	.homePage .trainingSearch .nav1 li button{
		height: 16.66667vw;
	}
	.homePage .trainingSearch .nav2 li button{
		height: 6.875vw;
	}
	.homePage .trainingSearch .sum{
		width: 79.16667vw;
		margin: 5.20833vw auto 0;
	}
	.homePage .trainingSearch .tRow{
		display: block;
		width: 79.16667vw;
		margin: 5.20833vw auto 0;
	}
	.homePage .trainingSearch .trBox{
		padding-bottom: 6.25vw;
	}
	.homePage .trainingSearch .trBox header .id{
		height: 13.54167vw;
		padding-left: 5vw;
	}
	.homePage .trainingSearch .trBox header h2{
		padding: 3.125vw 4.58333vw;
	}
	.homePage .trainingSearch .trBox dl{
		padding: 4.16667vw;
	}
	.homePage .trainingSearch .trBox dl dt{
		margin-bottom: 3.125vw;
	}
	.homePage .trainingSearch .trBox dl .place{
		margin-top: 2.08333vw;
	}
	.homePage .trainingSearch .trBox .statusBox{
		height: 12.5vw;
		padding: 0 7.29167vw;
	}
	.homePage .trainingSearch .trBox .statusBox .status::before{
		width: 3.75vw;
		height: 3.75vw;
		margin-right: 4.16667vw;
	}
	.homePage .trainingSearch .trBox .gaiyou{
		padding: 4.16667vw;
	}
	.homePage .trainingSearch .trBox .btn{
		max-width: 70.83333vw;
		height: 9.16667vw;
	}
	.homePage .trainingSearch .trBox+.trBox{
		margin-top: 3.125vw;
	}
	.homePage .trainingSearch .moreBtn{
		max-width: 70.83333vw;
		margin: 10.41667vw auto 0;
	}
	.homePage .trainingSearch .moreBtn button{
		height: 13.54167vw;
	}
	.homePage .trainingSearch .btnLoading::before{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 26px;
		height: 26px;
		margin: 0 0 0 -13px;
		content: '';
		animation: loader .8s infinite linear;
		border: 4px solid #000;
		border-top-color: #ddd;
		border-radius: 50%;
	}
	.homePage .tc+.downloadBanner{
		margin-top: 10.41667vw;
	}
	.homePage .scNews{
		padding: 16.66667vw 0 13.54167vw;
	}
	.homePage .scNews>header{
		margin-bottom: 10.41667vw;
	}
	.homePage .scNews>header h2{
		font-size: 5.5rem;
	}
	.homePage .scNews>header p{
		margin-top: 3.125vw;
		color: #535353;
	}
	.homePage .scNews .topText{
		max-width: 73.33333vw;
		margin: 0 auto;
	}
	.homePage .scNews .slideWall{
		max-width: 91.66667vw;
		margin: 11.45833vw auto 0;
	}
	.homePage .scNews .slideWall .swiper-button-next,.homePage .scNews .slideWall .swiper-button-prev{
		width: 8.125vw;
		height: 8.125vw;
	}
	.homePage .scNews .slideWall .partRow{
		display: flex;
		margin-top: 9.375vw;

		align-items: center;
	}
	.homePage .scNews .slideWall .partRow .swiper-button-prev{
		margin-right: 5.83333vw;
	}
	.homePage .scNews .slideWall .partRow .swiper-button-next{
		margin-right: 10.41667vw;
	}
	.homePage .scNews .csnSlide .tm{
		margin-bottom: 2.08333vw;
	}
	.homePage .scNews .csnSlide header time{
		font-size: 1.6rem;
		margin-bottom: 3.125vw;
	}
	.homePage .scNews .csnSlide header h2{
		font-size: 1.6rem;
	}
	.homePage .scNews .more{
		width: 42.91667vw;
		height: 11.45833vw;
		margin: 5.83333vw auto 0;
		padding-bottom: 1.04167vw;
	}
	.homePage .contact{
		padding: 16.66667vw 0 20.83333vw;
		text-align: center;
	}
	.homePage .contact>header{
		margin-bottom: 10.41667vw;
	}
	.homePage .contact>header h2{
		font-size: 6.5rem;
	}
	.homePage .contact>header p{
		margin-top: 3.125vw;
	}
	.homePage .contact .topText{
		font-size: 1.7rem;
	}
	/* ==========================================================================
   ニュース系 詳細 共通
========================================================================== */
	.newsSingleTemp .newsContent{
		display: block;
		max-width: none;
		padding: 10.41667vw 0 25vw;
	}
	.newsSingleTemp .main{
		max-width: none;
		margin: 0;
		padding-bottom: 0;
	}
	.newsSingleTemp .headerBox{
		position: static;
		width: 92.29167vw;
		height: auto;
		min-height: 33.33333vw;
		margin: 0 0 10.41667vw 4.16667vw;
		padding: 6.25vw 4.16667vw 7.29167vw;
		background: url('../../img/sp_voice_header_bk.png') no-repeat left bottom / 100% auto;
	}
	.newsSingleTemp .headerBox::before{
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		width: 91.66667vw;
		height: 70%;
		content: '';
		background: #DDD;
	}
	.newsSingleTemp .headerBox h2{
		font-size: 1.8rem;
		line-height: 1.43;
		margin-bottom: 2.08333vw;
	}
	.newsSingleTemp .headerBox time{
		margin-right: 6.25vw;
	}
	.newsSingleTemp .headerBox ul{
		gap: 2.08333vw;
	}
	.newsSingleTemp .headerBox li{
		font-size: 1.4rem;
		display: flex;
		height: 5.41667vw;
		padding: 1.04167vw 3.125vw;
		background: #73B9FF;

		align-items: center;
		justify-content: center;
	}
	.newsSingleTemp .singleEdit{
		width: 91.66667vw;
		margin: 0 auto;
	}
	.newsSingleTemp .downloadBannerNews{
		margin-top: 12.5vw;
	}
	.newsSingleTemp .kanren .kanrenBox{
		flex: 0 1 44.16667vw;
	}
	.newsSingleTemp .kanren .kanrenBox:first-child{
		flex: 0 1 44.16667vw;
	}
	.newsSingleTemp .kanren .kanrenBox:nth-child(4){
		display: block;
	}
	.newsSingleTemp .sidebar{
		margin-top: 11.45833vw;
		padding-bottom: 0;
		text-align: center;
	}
	.newsSingleTemp .sidebar>header{
		margin-bottom: 8.33333vw;
	}
	.newsSingleTemp .sidebar .row{
		display: flex;
		width: 91.66667vw;
		margin: 0 auto;
		text-align: justify;
		border-top: none;

		flex-flow: row wrap;
		gap: 6.25vw 0;
		justify-content: space-between;
	}
	.newsSingleTemp .sidebar .newPostBox{
		flex: 0 1 44.16667vw;
	}
	.newsSingleTemp .sidebar .newPostBox a{
		display: flex;

		flex-flow: column-reverse;
	}
	.newsSingleTemp .sidebar .newPostBox header{
		margin-top: 2.70833vw;
		text-align: justify;
	}
	.newsSingleTemp .sidebar .newPostBox header time{
		font-size: 1.6rem;
		margin-bottom: 2.08333vw;
	}
	.newsSingleTemp .sidebar .newPostBox header h2{
		font-size: 1.6rem;
		line-height: 1.46;

		-webkit-line-clamp: 3;
	}
	.newsSingleTemp .sidebar .newPostBox+.newPostBox{
		margin-top: 0;
	}
	.newsSingleTemp .sidebar .newPostBox:nth-child(4){
		display: none;
	}
	/* ==========================================================================
   新着情報 詳細
========================================================================== */
	.newsSingle .pageMv{
		height: 83.33333vw;
		background-image: url('../../img/sp_news_single_bk.jpg');
	}
	/* ==========================================================================
   ニュース系 一覧 共通
========================================================================== */
	.newsArchiveTemp .main{
		padding-top: 10.41667vw;
	}
	.newsArchiveTemp .topText::after{
		display: block;
		width: 100%;
		height: 7.29167vw;
		content: '';
		background: url('../../img/sp_news_waku_bk.png') no-repeat center center / 100% auto;
	}
	.newsArchiveTemp .topText .inner{
		padding: 12.5vw 5.20833vw 5.41667vw;
	}
	.newsArchiveTemp .newsRow{
		position: relative;
		display: flex;
		min-height: 100px;
		margin-top: 10.41667vw;

		flex-flow: row wrap;
		gap: 7.29167vw 3.33333vw;
	}
	.newsArchiveTemp .newsBox{
		flex: 0 1 44.16667vw;
	}
	.newsArchiveTemp .newsBox a{
		display: flex;

		flex-flow: column;
	}
	.newsArchiveTemp .newsBox .tm{
		margin-bottom: 15px;

		order: 1;
	}
	.newsArchiveTemp .newsBox header time{
		margin-bottom: 2.08333vw;
	}
	.newsArchiveTemp .newsBox header h2{
		font-size: 1.6rem;
		display: -webkit-box;
		overflow: hidden;

		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
	.newsArchiveTemp .newsBox .text{
		display: -webkit-box;
		overflow: hidden;
		margin-top: 2.08333vw;

		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}
	/* ==========================================================================
   新着情報 一覧
========================================================================== */
	.newsArchive .pageMv{
		height: 62.5vw;
		background-image: url('../../img/sp_news_list_mv.jpg');
	}
	/* ==========================================================================
   自由 下層ページ
========================================================================== */
	.defaultSubPage .pageMv{
		height: 62.5vw;
	}
	.defaultSubPage .singleEdit{
		width: 91.66667vw;
		margin: 13.54167vw auto 0;
	}
	/*end*/
	.header{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
	}
	.home .container>.header{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
	}
	.pageContainer{
		-ms-grid-column: 1;
		-ms-grid-row: 2;
	}
	.home .container>.pageContainer{
		-ms-grid-column: 1;
		-ms-grid-row: 2;
	}
	.footer{
		-ms-grid-column: 1;
		-ms-grid-row: 3;
	}
	.home .container>.footer{
		-ms-grid-column: 1;
		-ms-grid-row: 3;
	}
	.header{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
	}
	.home .container>.header{
		-ms-grid-column: 1;
		-ms-grid-row: 1;
	}
	.pageContainer{
		-ms-grid-column: 1;
		-ms-grid-row: 2;
	}
	.home .container>.pageContainer{
		-ms-grid-column: 1;
		-ms-grid-row: 2;
	}
	.footer{
		-ms-grid-column: 1;
		-ms-grid-row: 3;
	}
	.home .container>.footer{
		-ms-grid-column: 1;
		-ms-grid-row: 3;
	}
}
@media only screen and (max-width: 481px){
}