/* フロント専用　基本設定
/* 編集画面には適用しなくてよい
/* google font は　functions.phpで読み込み

/* ========================================================================== */
/*	0. Document Setup
/* ========================================================================== */
/* root setting
----------------------------------------------------------------------------- */
:root{
	--bodyBgColor: white;
	--bodyFontColor: black;
	--themeColor: #1f2678;
	--accentColor: red;
	--hoverColor: #ffd900;
	--footerTextColor: white;

	--gothicFont: 'Noto Sans JP', sans-serif;
	--minchoFont: 'Noto Serif JP' , serif;
	--boldFontWeight: 700;
	--midiumFontWeight: 500;
	--regularFontWeight: 400;

	--fontSizeXXL: 2.2rem;
	--fontSizeXL: 1.8rem;
	--fontSizeL: 1.6rem;
	--fontSizeM: 1.4rem;
	--fontSizeS: 1.2rem;
	--fontSizeXS: 1.2rem;

	--sliderHeight: 100vh;
	--contentWidth: 1360px;
	--maximumWidth: 1920px;

	--variableSpaceS: 20px;
	--variableSpaceM: 40px;
	--variableSpaceL: 60px;
	--variableSpaceXL: 80px;
}
@media(min-width: 375px){
	:root{
		--variableSpaceS: calc(4.8vw + 1.184px);
		--variableSpaceM: calc(9.6vw + 2.368px);
		--variableSpaceL: calc(14.4vw + 3.552px);
		--variableSpaceXL: calc(19.2vw + 4.736px);
	}
}

@media(min-width: 450px){
	:root{
		--fontSizeXXL: 2.8rem;
		--fontSizeXL: 2.2rem;
		--fontSizeL: 1.8rem;
		--fontSizeM: 1.6rem;
		--fontSizeS: 1.4rem;
		--fontSizeXS: 1.2rem;
	}
}

@media(min-width: 800px){
	:root{
		--fontSizeXXL: 3.3rem;
		--fontSizeXL: 2.3rem;
		--fontSizeL: 2rem;
		--fontSizeM: 1.8rem;
		--fontSizeS: 1.6rem;
		--fontSizeXS: 1.4rem;
	}
}

@media(min-width: 1000px){
	:root{
		--fontSizeXXL: 3.6rem;
		--fontSizeXL: 2.4rem;
		--fontSizeL: 2.1rem;
		--fontSizeM: 1.8rem;
		--fontSizeS: 1.6rem;
		--fontSizeXS: 1.4rem;

		--variableSpaceS: 50px;
		--variableSpaceM: 100px;
		--variableSpaceL: 150px;
		--variableSpaceXL: 200px;
	}
}
/*	CSS Reset
----------------------------------------------------------------------------- */

html{ font-size: 62.5%; } /* 1rem = 10px */

html , body{ margin: 0; padding: 0; border: none; }

body{ 
	font-size: var(--fontSizeM); 
	font-weight: var(--regularFontWeight); 
	font-family: var(--gothicFont); 
	color: var(--bodyFontColor); 
	background: var(--bodyBgColor); 
}

body *{ box-sizing: border-box; }

p , small , big, li , ol , ul , form , label , legend , button , table , caption , tr , th , td{ 
	font-size: inherit; 
	line-height: inherit; 
	margin: 0; 
	padding: 0; 
	text-align: inherit; 
	border: none; 
}

/* Basic Setting
----------------------------------------------------------------------------- */

h1 , h2 , h3 , h4 , h5 , h6 {
	font-size: inherit;
	font-weight: var(--boldFontWeight); 
	line-height: 1.25; 
	margin: 0 0 0.5em; 
}

p{ line-height: 1.5; margin: 0 0 1em 0; }

.large{ font-size: 1.2em; }

.small{ font-size: 0.8em; }

b , strong{ font-weight: var(--boldFontWeight); }

/* Functional Setting
----------------------------------------------------------------------------- */
.nowrap{ display: inline-block; word-break: keep-all;}

.mbS{ margin-bottom: var(--variableSpaceS)}

.mbM{ margin-bottom: var(--variableSpaceM);}

.wbka{ word-break: keep-all;}

.hidden{ display: none;}

.vfs-XXL{ font-size: var(--fontSizeXXL);}

.vfs-XL{ font-size: var(--fontSizeXL);}

.vfs-L{ font-size: var(--fontSizeL);}

.vsf-M{ font-size: var(--fontSizeM)}

.vfs-S{ font-size: var(--fontSizeS);}

.vfs-XS{ font-size: var(--fontSizeXS)}

/* Link hover seetting
----------------------------------------------------------------------------- */
a{ text-decoration: none; color: inherit; }

a:hover , a:focus{ text-decoration: none; }

button:focus{ outline: none; }

.hoverType-1{ background-color: var(--themeColor); transition: all 0.3s ease-in-out ; }

.hoverType-1:hover{	background-color: var(--hoverColor); }

/*	CONTENT WIDTH SETTING
/* -------------------------------------------------------------------------- */

.max500{ max-width: 500px; margin: auto; }

.max800{ max-width: 800px; margin: auto; }

.max1000{ max-width: 1000px; margin: auto; }

.content-width{ max-width: var(--contentWidth); margin: auto; }

.maximum-width{ max-width: var(--maximumWidth); margin: auto; }

.horizontal-margin{ width: calc(100% - 36px); margin-right: auto; margin-left: auto; }

.sidebar-width-setting{ width: calc(100% - 36px); max-width: 136rem; margin-right: auto; margin-left: auto; }

@media ( min-width: 700px ){

	.horizontal-margin{ width: calc(100% - 72px); }

	.sidebar-width-setting{ width: calc(100% - 3em); margin-right: auto; margin-left: auto; }
}


/* Lists ------------------------------------- */

ul{ list-style: disc; }

ol{	list-style: decimal; }

ol ol{ list-style: lower-alpha; padding-left: 1em; }

ol ol ol{ list-style: lower-roman; }

li{	line-height: 1.5; margin: 0.5rem 0 0 1rem; }

li > ul , li > ol{ margin: 1rem 0 0 2rem; }

ol , ul.disc,ul.star,ul.dot{ padding-left: 0; list-style-type: none; counter-reset: item; }

ol li , ul.disc li,ul.star li,ul.dot li{ padding-left: 1.3em; text-indent: -1.3em; }

ol li:before{ padding-right: 0.5em; content: counter(item)')'; counter-increment: item; }

ul.disc li:before{ padding-right: 0.5em; content: '●'; }

ul.star li:before{ padding-right: 0.5em; content: '★'; }

ul.dot li:before{ padding-right: 0em; content: '・'; }

.reset-list-style , .reset-list-style ul , .reset-list-style ol{ margin: 0; list-style: none; }

.reset-list-style li{ margin: 0; }

/* Media ------------------------------------- */

figure{	display: block; margin: 0; }

iframe{ display: block; max-width: 100%; }

video{ display: block; }

svg , img , embed , object{ display: block; max-width: 100%; height: auto; margin: auto;}

figcaption a , .wp-caption-text a{ color: inherit; }

/* admin-bar ---------------------------------------------------------- */

.admin-bar .screen-height{ min-height: calc(100vh - 32px); }

@media (max-width: 782px){
	.admin-bar .screen-height{ min-height: calc(100vh - 46px); }
}



/* ========================================================================== */
/*	THEME SETTING
/*	1．HHEADER
/* ========================================================================== */


/*	Site Header
/* -------------------------------------------------------------------------- */

#site-header{ position: fixed; z-index: 3; top: 0; right: 0; left: 0; height: 122px; background: white; }

.header-inner{ z-index : 100; display: flex; align-items: center; height: 100%; }

#scroll-down-arrow{ position: absolute; display: block; width: 50px; height: 50px; bottom: 50px; left: 0; right: 0; margin: auto; }

body:not(.home) #scroll-down-arrow{ display: none; }

#scroll-down-arrow img{ position: absolute; top: 0; left: 0; filter: drop-shadow(0 0 3px black); animation: up-and-down 3s ease-out infinite; }

@keyframes up-and-down{
	  0%{ transform:translateY(0)	;}
	  50%{ transform:translateY(-30px); -webkit-transform:translateY(-30px); -moz-transform:translateY(-30px); -ms-transform:translateY(-30px); -o-transform:translateY(-30px); }
	 100%{ transform:translateY(0); -webkit-transform:translateY(0); -moz-transform:translateY(0); -ms-transform:translateY(0); -o-transform:translateY(0); }
}

/* Header Titles
------------------------------------------------------------ */

.header-titles-wrapper{ display : inline-flex; align-items : center; justify-content : space-between; text-align : center; margin-right: 1rem; width: 80%; max-width:333px; }

.header-titles{ margin: 0; }

.dt-logo{ display: none; }

.sp-logo{ display: block; }

@media ( min-width: 1400px ){
	#site-header{ position: relative; height: 86px; z-index: 2; }

	#site-header.fixed{ position: fixed; top: -100%; z-index: 2; }

	#site-header.fixed.rolldown{ top: 0; height: 122px; transition: all 0.5s ease; }

	.header-inner{ display : flex; align-items : center; justify-content : space-between; }

	.header-titles-wrapper{ flex-basis : 200px; padding : 0; text-align : left; transition: all 0.5s ease-out; }

	.rolldown .header-titles-wrapper{ flex-basis: 270px; }

	.header-titles{ display : flex; align-items : baseline; flex-wrap : wrap; justify-content : flex-start; }

	.dt-logo{ display: block; }

	.rolldown .dt-logo{ display: none; }

	.sp-logo{ display: none; }

	.rolldown .sp-logo{ display: block; }

	.header-titles .site-title , .header-titles .site-logo , .header-titles .site-description{ margin : 1rem 0 0 2.4rem; }

	.wp-custom-logo .header-titles{ align-items : center; }
}


/* Header Navigation Wrapper -------------------------------------------- */

/* Primary Menu
------------------------------------------------------------------------- */

.primary-menu-wrapper{ display : none; }

ul.primary-menu{
	font-size : var(--fontSizeM);
	font-weight : var(--midiumFontWeight);
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	margin : 0 0 0 auto;
	width: 100%;
	max-width: 710px;
	height: 81px;
	gap: 20px;
}

.primary-menu .icon{
	position : absolute;
	display : block;
	width : 1.3rem;
	height : 0.7rem;
	transform : rotate(-45deg);
	pointer-events : none;
	top : calc(50% - 0.4rem);
	right : -0.5rem;
}

.primary-menu .icon::before , .primary-menu .icon::after{
	position : absolute;
	bottom : calc(50% - 0.1rem);
	left : 0;
	display : block;
	content : '';
	background-color : currentColor;
}

.primary-menu .icon::before{ width : 0.2rem; height : 0.9rem; }

.primary-menu .icon::after{ width : 0.9rem; height : 0.2rem; }

.primary-menu li{ font-size : inherit; line-height : 1.25; position : relative; height: 100%; display: flex; align-items: center; }


.primary-menu a{
	line-height : 1.2;
	display : block;
	text-decoration : none;
	color : var(--bodyFontColor);
	padding-bottom: 2px;
	height: 100%;
	display: flex;
	align-items: center;
}
.primary-menu > .current-menu-item > a{ text-decoration: underline; color: var(--accentColorDark); }

.primary-menu a:hover , .primary-menu a:focus { text-decoration : none; }

/* Primary Menu Sub Menu
------------------------------------------------------------------------ */

.primary-menu .sub-menu{
	font-size: var(--fontSizeM);
	position: absolute;
	z-index: 1;
	top: 100%;
	right: 0;
	left: 50%;
	width: 23rem;
	padding: 0;
	transform: translateX(-50%);
	color: #ffffff;
	border-radius: 0.4rem;
	background: rgba(215,239,252,0.9);
}

.primary-menu ul::before{ right : 0; left : 0; height : 2rem; }

.primary-menu .sub-menu li{ display: none; }

.primary-menu .sub-menu li:hover a{ background-color: var(--themeColor); color: white; }

.primary-menu .sub-menu a{
	display : block;
	width : 100%;
	padding : 1rem 2rem;
	transition : background-color 0.15s linear;
	color : var(--bodyFontColor);
	border : none;
	background : transparent;
	;
}

.primary-menu .sub-menu li.menu-item-has-children > a{ padding-right : 4.5rem; }

.primary-menu .sub-menu li.menu-item-has-children .icon{ position : absolute; top : calc(50% - 0.5rem); right : 1.5rem; }

@media(min-width: 768px){
	.header-navigation-wrapper{
		flex-basis: calc(100% - 250px);
		display : flex;
		align-items : center;
		justify-content: flex-end;
		margin-right: 60px;
	}
}
@media ( min-width: 1400px ){

	/* HEADER NAVIGATION */

	.header-navigation-wrapper{
		flex-basis: calc(100% - 200px);
		display : flex;
		align-items : center;
		justify-content: space-between;
		margin-right: 0;
	}

	.primary-menu-wrapper{ display : block; width : auto; }

	ul.primary-menu{ height: 86px; }
}

/* Mobile Nav Toggle
------------------------------------------------------------------- */
/*太いハンバーガーメニュー*/
#mobile-nav-toggle.thick{
	display : flex;
	overflow : visible;
	align-items : center;
	padding : 0 2rem;
	position : absolute;
	top : 0;
	right : 0;
	bottom : 0;
	width : 6.6rem;
	flex-wrap: wrap;
	justify-content : center;
	align-content: center;
	background-color: transparent;
	cursor: pointer;
}

#mobile-nav-toggle.thick .toggle-text{
	font-size : 1rem;
	font-weight : var(--boldFontWeight);
	margin-top: 5px;
	width : auto;
	white-space : nowrap;
	word-break : break-all;
	color : #6d6d6d;
}

#mobile-nav-toggle.thick svg{
	width : 2.3rem;
	height : 2.3rem;
	display: block;
	position: relative;
	overflow: hidden;
	transition: all 0.5s ease;
	z-index: 1;
}

#mobile-nav-toggle.thick .toggle-icon > svg:first-child {
    display: block;
    -webkit-animation: reverse_quarter_rotate 0.5s linear;
    animation: reverse_quarter_rotate 0.5s linear;
}
#mobile-nav-toggle.thick.active .toggle-icon > svg:first-child {
    display: none;
}
#mobile-nav-toggle.thick .toggle-icon > svg:last-child {
    display: none;
}
#mobile-nav-toggle.thick.active .toggle-icon > svg:last-child {
    display: block;
    -webkit-animation: quarter_rotate 0.5s linear;
    animation: quarter_rotate 0.5s linear;
}
@keyframes quarter_rotate{
	0%{
		-webkit-transform: rotate(0);
		   -moz-transform: rotate(0);
		    -ms-transform: rotate(0);
		     -o-transform: rotate(0);
		        transform: rotate(0);
	}
	100%{
		-webkit-transform: rotate(90deg);
		   -moz-transform: rotate(90deg);
		    -ms-transform: rotate(90deg);
		     -o-transform: rotate(90deg);
		        transform: rotate(90deg);
	}
}
@keyframes reverse_quarter_rotate{
	0%{
		-webkit-transform: rotate(90deg);
		   -moz-transform: rotate(90deg);
		    -ms-transform: rotate(90deg);
		     -o-transform: rotate(90deg);
		        transform: rotate(90deg);
	}
	100%{
		-webkit-transform: rotate(0);
		   -moz-transform: rotate(0);
		    -ms-transform: rotate(0);
		     -o-transform: rotate(0);
		        transform: rotate(0);
	}
}

@media ( min-width: 700px ){

	#mobile-nav-toggle{ right : 2rem; }

	#mobile-nav-toggle .toggle-text{ font-size : 1.2rem; }
}

@media ( min-width: 1400px ){

	#mobile-nav-toggle{ display : none !important; }

}

/*細いハンバーガーメニュー*/
#mobile-nav-toggle.thin{
	display : flex;
	position : fixed;
	top : 10px;
	left: calc(100vw - 67px);
	width : 60px;
	height: 60px;
	flex-wrap: wrap;
	justify-content : center;
	align-content: space-evenly;
	color: var(--themeColor);
	background-color: white;
	cursor: pointer;
	z-index: 100;
	border: 1px solid var(--themeColor);
	border-radius: 7px;
	padding: 3px 3px 0;
}

#mobile-nav-toggle.thin svg{
	width : 36px;
	height : 22px;
	display: block;
	position: relative;
	overflow: hidden;
	transition: all 0.5s ease;
	z-index: 1;
}

.toggle-text{
	font-size : var(--font-sizeXS);
	font-weight : var(--midiumFontWeight);
	width : 100%;
	text-align: center;
	white-space : nowrap;
	word-break : break-all;
}

svg rect#u1, svg rect#l1 ,svg rect#m1,svg rect#m2{
	transform-origin: center;
	transition: all 0.3s linear;
}
#mobile-nav-toggle.thin .toggle-icon > svg {
    display: block;
}
#mobile-nav-toggle.thin.active rect#m1{
	transform: rotate(30deg);
}
#mobile-nav-toggle.thin.active rect#m2{
	transform: rotate(-30deg);
}
#mobile-nav-toggle.thin.active rect#u1{
	transform: scale(0);
}
#mobile-nav-toggle.thin.active rect#l1{
	transform: scale(0);
}
@media (min-width: 500px){
	#mobile-nav-toggle.thin{
		top : 40px;
		left : calc(100vw - 127px);
	}
}

@media (min-width: 1937px){
	#mobile-nav-toggle.thin{
		left: calc((100vw - 1937px) /2 + 1810px);
	}
}



/*	Menu Modal
/* -------------------------------------------------------------------------- */


.menu-modal{
	position : fixed;
	z-index : 99;
	top : 122px;
	right : 99999rem;
	bottom : 0;
	left : -99999rem;
	display : none;
	overflow-x : hidden;
	overflow-y : auto;
	transition : opacity 0.25s ease-in, left 0s 0.25s, right 0s 0.25s;
	opacity : 0;
}

.admin-bar .menu-modal{ top : 32px; }

@media (max-width: 782px){
	.admin-bar .menu-modal{ top : 46px; }
}

.menu-modal.show-modal{ display : flex; }

.menu-modal.active{ right : 0; left : 0; transition : opacity 0.25s ease-out; opacity : 1; }

.menu-modal-inner{
	display : flex;
	overflow : auto;
	justify-content : stretch;
	width : 100%;
	padding : 0;
	transition : transform 0.2s ease-in, opacity 0.2s ease-in;
	transform : translateX(20rem);
	opacity : 1;
	background : rgba(255,245,245,095);
	box-shadow : 0 0 2rem 0 rgba(0, 0, 0, 0.1);
}

.menu-modal.active .menu-modal-inner{
	transition-timing-function : ease-out;
	transform : translateX(0);
	opacity : 1;
}

.modal-menu{ position : relative; width : 100%; }

.modal-menu li{
	line-height : 1;
	display : flex;
	flex-wrap : wrap;
	justify-content : flex-start;
	margin : 0;
	border-width : 0.1rem 0 0 0;
	border-style : solid;
	border-color : #dedfdf;
}

.modal-menu > li > a , .modal-menu > li > .ancestor-wrapper > a{
	font-size : var(--fontSizeM);
	font-weight : var(--boldFontWeight);
	letter-spacing : -0.0375em;
	padding: 2rem 0;
	display: flex;
	align-items: center;
	gap: 20px;
}

.modal-menu > li:last-child{ border-bottom-width : 0.1rem; }

.modal-menu .ancestor-wrapper{ display : flex; justify-content : space-between; width : 100%; }

.modal-menu a{ display : block; width : 100%; padding : 2rem 0; text-decoration : none; }


button.sub-menu-toggle{
	flex-shrink : 0;
	margin : 1rem 0;
	padding : 0 2.5rem;
	border-left : 0.1rem solid #dedfdf;
	background: transparent;
	cursor: pointer;
}

button.sub-menu-toggle svg{ width : 1.5rem; height : 1.5rem; transition : transform 0.15s linear; }

button.sub-menu-toggle.active > svg{ transform : rotate(180deg); }

.modal-menu ul{ display : block; width : 100%; margin : 0; overflow: hidden; padding-left: 1em; }

.modal-menu ul li{ border-left-width: 1rem; height: 0; transition:height 0.3s ease; border: none; }

.modal-menu ul.active > li{ height: 3em; border-top: 1px solid #DEDFDF; }

.modal-menu ul li a{ font-weight : var(--boldFontWeight); color : inherit; }

.modal-menu ul ul li a{ font-weight: var(--midiumFontWeight); }

.mobile-menu{ display : block; padding : 0 2rem; }

@media ( min-width: 500px ){

	.menu-modal{ justify-content : flex-end; padding : 0; transition : background-color 0.3s ease-in, left 0s 0.3s, right 0s 0.3s; opacity : 1; }

	.menu-modal.active{ transition : background-color 0.3s ease-out; background : rgba(0, 0, 0, 0.2); }

	.menu-modal-inner{ width : 50rem; padding : 0; transition : transform 0.2s ease-in, opacity 0.2s ease-in; transform : translateX(20rem); opacity : 0; box-shadow : 0 0 2rem 0 rgba(0, 0, 0, 0.1); }

	.menu-modal.active .menu-modal-inner{ transition-timing-function : ease-out; transform : translateX(0); opacity : 1; }

	.modal-menu{ left : auto; width : 100%; }
}

@media ( min-width: 700px ){
	.modal-menu > li > a , .modal-menu > li > .ancestor-wrapper > a{ font-size : var(--fontSizeL); padding : 2.5rem 0; }

	.modal-menu ul li{ border-left-color : transparent; }

	.modal-menu > li > .ancestor-wrapper > button.sub-menu-toggle{ padding : 0 3rem; }

	.modal-menu > li > .ancestor-wrapper > button.sub-menu-toggle svg{ width : 1.5rem; height : 1.5rem; }
}

/*	Page Header
/* -------------------------------------------------------------------------- */
#page-header{ margin-top: 122px; }

body.home #page-header{ position : relative; z-index : 1; height: var(--sliderHeight); background-color: white; }

@media(min-width: 1400px){
	#page-header.margined{ margin-top: 200px; }
}

body:not(.home) #page-header{ position : relative; z-index: 0; display : flex; flex-wrap: wrap; align-items : center; justify-content : center; }

h1.page-title{ width: 100%; margin: 0; padding: 0; text-align: center; color: black; height: 100px; display: flex; justify-content: center; align-items: center; }

h1.page-title .small{ font-size: 0.5em; }

.search h1.page-title{ overflow : hidden; max-width : 95vw; word-break : keep-all; }


@media ( min-width: 1400px ){
	#page-header{ margin-top: 0; }
}

/* bxslider
---------------------------------------------------------------------------- */
.bx-wrapper{
	position : relative;
	z-index : 0;
	margin-bottom : 0;
	padding : 0;
	background : transparent;

	-ms-touch-action : pan-y;
	    touch-action : pan-y;
	overflow: hidden;
	width: 100%;
	height: var(--sliderHeight);
}
.bx-viewport{
	overflow: visible!important;
	width: 100%;
	height: var(--sliderHeight)!important;
	margin: 0 auto;
}
.bxslider{
	margin : 0;
	padding : 0;
	list-style : none;
}

.bxslider li{
	margin : 0;
	width: 100%;
	height: var(--sliderHeight);
}
.bxslider li::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	background-color: white;
	opacity: 0.5;
	transition: opacity 0.5s ease-out;
}
.bxslider li.center::after{
	opacity: 0;
}
.bxslider .slide-img{
	position : relative;
	top : 0;
	display : block;
	width : 100%;
	max-width : var(--maximumWidth);
	object-fit: cover;
	height: var(--sliderHeight);
}

@media(min-width: 1657px){
	.bx-viewport{
		width: 1640px!important;
	}
	.bxslider li{
		width: 1640px!important;
	}
}
/* slide caption ----------------------*/
.bxslider .slide-caption{
	position: absolute;
	transition: all 0.3s ease;
}

/* bx-controls ----------------------*/
.bx-wrapper .bx-controls-auto , .bx-wrapper .bx-pager{
	position : absolute;
	z-index : 55;
	bottom : 20px;
	width : 100%;
}

.bx-wrapper .bx-pager{
	font-family : Arial;
	font-size : 0.85em;
	font-weight : var(--boldFontWeight);
	padding-top : 20px;
	text-align : center;
	color : #666666;
}

.bx-wrapper .bx-pager.bx-default-pager a{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	width: 1rem;
	height: 1rem;
	margin: 0 5px;
	padding: 0.1rem;
	font-size: 1rem;
	color: #999;
	text-decoration: none;
	line-height: 1;
	outline: 0;
	background: #999;
	border-radius: 50%;
}

.bx-wrapper .bx-pager.bx-default-pager a.active , .bx-wrapper .bx-pager.bx-default-pager a:focus , .bx-wrapper .bx-pager.bx-default-pager a:hover{
	background : #93C1E7;
	color: #93C1E7;
}

.bx-wrapper .bx-controls-auto .bx-controls-auto-item , .bx-wrapper .bx-pager-item{
	display : inline-block;
	vertical-align : bottom;
}

.bx-wrapper .bx-pager-item{
	font-size : 0;
	line-height : 0;
}

.bx-wrapper .bx-prev{
	left : 10px;
}
.bx-wrapper .bx-prev:before{
	content: "";
	background-image: url( /images/bx-prev.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.bx-wrapper .bx-prev:hover{
	opacity: 0.8;
}

.bx-wrapper .bx-next{
	right : 10px;
}
.bx-wrapper .bx-next:before{
	content: "";
	background-image: url(/images/bx-next.png );
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.bx-wrapper .bx-next:hover{
	opacity : 0.8;
}
.bx-controls{
	width: 100%;
	position: absolute;
	margin: auto;
	height: var(--sliderHeight);
	top: 0;
	left: 0;
	right: 0;
}
@media(min-width: 1687px){
	.bx-controls{
		width: 1640px;
	}
	.bx-wrapper .bx-prev{
		left: -16px;
	}
	.bx-wrapper .bx-next{
		right: -16px;
	}
}
.bx-wrapper .bx-controls-direction a{
	position: absolute;
	z-index: 9999;
	top: 50%;
	width: 32px;
	height: 32px;
	margin-top: -16px;
	text-indent: -9999px;
	outline: 0;
	transition: opacity 0.3s ease;
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
}

.bx-wrapper .bx-controls-direction a.disabled{
	display : none;
}

.bx-wrapper .bx-controls-auto{
	text-align : center;
}

.bx-wrapper .bx-controls-auto .bx-start{
	display : block;
	width : 10px;
	height : 11px;
	margin : 0 3px;
	text-indent : -9999px;
	outline : 0;
	background : url(images/controls.png) -86px -11px no-repeat;
}

.bx-wrapper .bx-controls-auto .bx-start.active , .bx-wrapper .bx-controls-auto .bx-start:focus , .bx-wrapper .bx-controls-auto .bx-start:hover{
	background-position : -86px 0;
}

.bx-wrapper .bx-controls-auto .bx-stop{
	display : block;
	width : 9px;
	height : 11px;
	margin : 0 3px;
	text-indent : -9999px;
	outline : 0;
	background : url(images/controls.png) -86px -44px no-repeat;
}

.bx-wrapper .bx-controls-auto .bx-stop.active , .bx-wrapper .bx-controls-auto .bx-stop:focus , .bx-wrapper .bx-controls-auto .bx-stop:hover{
	background-position : -86px -33px;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager{
	width : 80%;
	text-align : left;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto{
	right : 0;
	width : 35px;
}

/* billboardMovie
----------------------------------------------------------------------------- */
#billboard{
	position: relative;
}
video#movie-header{
	width : 100%;
	max-width : var(--maximumWidth);
	object-fit: cover;
	height: var(--sliderHeight);
}

/* ========================================================================== */
/*	2．MAIN
/* ========================================================================== */


/* page.php
============================================================================= */

#site-content{ position: relative; overflow: hidden;height: calc(100vh - 136px);}

.full-height{ width: 1920px;height: calc(100vh - 86px);}

/*	index.php post_type_archive / blog / monthly_archive
----------------------------------------------------------------------------- */

.two-columns{ display: flex; flex-wrap: wrap; justify-content: space-around; }

.two-columns #main-column{ flex-basis: 100%; }

.two-columns #archive-sidebar{ flex-basis: 100%; }

@media(min-width: 1000px){

	.two-columns #main-column{ flex-basis: 70%; }

	.two-columns #archive-sidebar{ flex-basis: 30%; }
}

/* #main-column 
----------------------------------------------------------------------------- */

body:not(.singular) main > article:first-of-type{ padding: 0; }

.entry-unit{ padding: 0 1em; }

/* entry-header
----------------------------------------------------------------------------- */

.entry-header{ padding: 0; background-color: inherit; }

h2.entry-title{ margin: 0 0 0.5em; width: 100%; color: var(--bodyFontColor); font-family: inherit; font-size: var(--fontSizeL); }

.entry-title a{ text-decoration: none; color: inherit; }

.post-date{ margin-bottom: 1em; }

/* pagenation
----------------------------------------------------------------------------- */

.nav-links{ text-align: center; }

span.page-numbers:not(.prev):not(.next){ background-color: var(--themeColor); color: white; margin: 5px; display: inline-block; width: 1.5em; }

a.page-numbers:not(.prev):not(.next){ border: 1px solid var(--footerBgColor); margin: 5px; display: inline-block; width: 1.5em; background-color: #93C1E7; color: white; }

/* #archive-sidebar
----------------------------------------------------------------------------- */
#archive-sidebar h2{
	font-size: var(--fontSizeM);
	font-family: inherit;
	font-weight: var(--midiumFontWeight);
	display: block;
	width: 100%;
	max-width: 350px;
	line-height: 1;
	padding: 0.59em 0;
	text-align: left;
	;
	color: black;
}
#archive-sidebar ul{ margin: 0 10px; }

#archive-sidebar select{
	font-size: var(--fontSizeS);
	margin: 0 10px;
	padding: 0.5em;
	width: calc(100% - 20px);
	background-color: white;
	border: 1px solid #ccc;
}
.sidebar-block-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 15px;
	max-width: 750px;
	margin: auto;
}
.sidebar-block{ flex-basis: 233px; flex-grow: 1; max-width: 350px; }

@media ( min-width: 700px ){
/* Post: Archive
----------------------------------------------------------------------------- */

	body:not(.singular) main > article:first-of-type{ padding: 0; }

}


/*	Single.php
============================================================================= */

/* SINGLE PAGINATION
----------------------------------------------------------------------------- */

.pagination-single{
	font-size: var(--fontSizeM);
	margin-top: 5rem;
}

.pagination-single-inner{
	display: flex;
	flex-direction: column;
}

.pagination-single hr:first-child{
	margin: 0 0 2.8rem 0;
}

.pagination-single hr:last-child{
	margin: 2.8rem 0 0.8rem 0;
}

.pagination-single a{
	font-weight: var(--boldFontWeight);
	display: flex;
	align-items: baseline;
	flex: 1;
	text-decoration: none;
	letter-spacing: -0.0275em;
}

.pagination-single a + a{
	margin-top: 1rem;
}

.pagination-single a .arrow{
	margin-right: 1rem;
}

.pagination-single a:focus .title , .pagination-single a:hover .title{
	text-decoration: underline;
}

@media ( min-width: 700px ){

	.pagination-single{
		font-size: var(--fontSizeL);
		margin-top: 8rem;
	}

	.pagination-single-inner{
		flex-direction: row;
		justify-content: space-between;
	}

	.pagination-single.only-next .pagination-single-inner{
		justify-content: flex-end;
	}

	.pagination-single hr:first-child{
		margin: 0 0 4rem 0;
	}

	.pagination-single hr:last-child{
		margin: 4rem 0 0.8rem 0;
	}

	.pagination-single a + a{
		margin: 0 0 0 4rem;
	}

	.pagination-single a .arrow{
		margin: 0 2rem 0 0;
	}

	.pagination-single .next-post{
		flex-direction: row-reverse;
		text-align: right;
	}

	.pagination-single .next-post .arrow{
		margin: 0 0 0 2rem;
	}
}


/*	search.php
============================================================================= */

/* Search Results
----------------------------------------------------------------------------- */

.no-search-results-form{
	padding-top: 5rem;
}

@media ( min-width: 700px ){

	.no-search-results-form{
		padding-top: 8rem;
	}
}

/* Search Form
----------------------------------------------------------------------------- */

.search-form{ display: flex; align-items: stretch; flex-wrap: nowrap; margin: 0 0 -0.8rem -0.8rem; }

.search-form .search-field , .search-form .search-submit{ margin: 0 0 0.8rem 0.8rem; }

.search-form label{ font-size: inherit; display: flex; align-items: stretch; width: 100%; max-width: 300px; margin: 0; }

.search-form .search-field{ width: 100%; }

.search-form .search-submit{ flex-shrink: 0; }

.search-form .search-submit:focus , .search-form .search-submit:hover{ text-decoration: none; }

/*	Error 404
============================================================================= */


.error404 #site-content{
	padding-top: 4rem;
}

.error404-content{
	text-align: center;
}

.error404 #site-content .search-form{
	justify-content: center;
	margin-top: 3rem;
}
@media (min-width: 700px){

	.error404 #site-content{
		padding-top: 8rem;
	}
}


/*  Site Map
============================================================================= */
#sitemap_list{
	text-align: center;
	font-size: var(fontSizeS);
}
.sitemap_disp_level_1 {
	margin: 2em 0 0.5em;
	padding: 0;
	list-style-type: none;
}

.sitemap_disp_level_2 {
	margin: 0.7em 2em 0.7em 2em;
	padding: 0;
	list-style-type: none;
}
.sitemap_disp_level_3 {
	margin: 0.5em auto 0.5em;
	padding: 0;
	width: 85%;
	max-width: 500px;
}
.sitemap_disp_level_0 li a {
	-webkit-transition: all 0.3s ease;
	        transition: all 0.3s ease;

	   -moz-transition: all 0.3s ease;
	    -ms-transition: all 0.3s ease;
	     -o-transition: all 0.3s ease;

	word-break: keep-all;
}

.sitemap_disp_level_1 a{
	display: block;
	padding: 3px 5px 2px;
	border: solid 1px #cacaca;
	background-color: #D7EFFC;
	text-indent: 0;
	text-decoration: none;
}


.sitemap_disp_level_0 li a:not(.sitemap-post-title):hover {
	color: white;
	background-color: var(--themeColor);
}

.sitemap_disp_level_0 li a.sitemap-post-title:hover {
	color: tomato;
}
.sitemap-post-list {
	width: auto;
	max-height: 12em;
	margin-top: 0.7em;
	margin-left: 2em;
	padding: 0.5em;
	border: 1px solid #aaa;
	overflow-Y: auto;
}

.sitemap-post-item {
	margin-bottom: 0.5em;
	list-style-type: none;
}

.sitemap-post-date {
	display: inline-block;
	width: 8.5em;
	vertical-align: top;
}

.sitemap-post-title {
	display: inline-block;
	width: 100%;
}

.sitemap-careers-title {
	display: inline-block;
	width: 100%;
}

.sitemap-company-name {
	display: inline-block;
	width: 10.5em;
}

#sitemap_list .separater {
	border-top: 1px dotted gray;
}

#sitemap .has-parent {
	padding-left: 1em;
}

@media screen and (min-width: 600px) {
	.sitemap-post-title {
		width:         calc(100% - 11em);
		width: -webkit-calc(100% - 11em);
	}
	.sitemap-careers-title {
		width:         calc(100% - 11em);
		width: -webkit-calc(100% - 11em);
	}
}

/* ========================================================================== */
/*	3．FOOTER
/* ========================================================================== */


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

#site-footer{
	padding-top : 3rem;
	padding-bottom: 4rem;
	position : relative;
	border-width : 0;
	border-style : solid;
	border-color : #dedfdf;
	background-color : var(--themeColor);
	color: var(--footerTextColor);
	font-size : var(--fontSizeM);
	z-index: 1;
}
#site-footer a{
	text-decoration : none;
}

@media ( min-width: 700px ){

	#site-footer{
		font-size : var(--fontSizeM);
		padding-bottom: 2rem;
	}
}

/* To the top
----------------------------------------------------------------------------- */

a.to-the-top{
	position : fixed;
	right : 0;
	bottom : 1rem;
	padding : 5px 10px;
	-webkit-transform : translateX(105%);
	   -moz-transform : translateX(105%);
	    -ms-transform : translateX(105%);
	     -o-transform : translateX(105%);
	        transform : translateX(105%);
	border-radius : 8px 0 0 8px;
	background-color : white;
	box-shadow : 0 0 5px rgba(125,125,125,0.7);
}
a.to-the-top svg{
	width: 40px;
	height: 40px;
	color: var(--themeColorDark);
}
a.to-the-top > *{
	pointer-events : none;
}

.to-the-top-long{
	display : none;
}

/* Google reCAPTCHA
----------------------------------------------------------------------------- */
.grecaptcha-badge{
	bottom: 84px!important;
}


/* POSTS LIST    embed-recent-post.php
============================================================================= */
.posts-list{ margin: auto; padding: 20px 10px; position: relative; }

.posts-list.with-button{ padding-bottom: 80px!important; }

.posts-list h3{ font-weight: var(--midiumFontWeight); display: inline-block; border-bottom: 1px solid var(--themeColor); }

.posts-list .item-wrap{ text-align: left; }

.posts-list .item {
	padding: 16px 10px 21px;
	font-size: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='1' viewBox='0 0 1000 1'%3E%3Cline x2='1000' transform='translate(0 0.5)' fill='none' stroke='black' stroke-width='1' stroke-dasharray='3 3'/%3E%3C/svg%3E" );
	background-repeat: repeat-x;
	background-position: center bottom;
}

.posts-list .item:nth-of-type(1){
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='1' viewBox='0 0 1000 1'%3E%3Cline x2='1000' transform='translate(0 0.5)' fill='none' stroke='black' stroke-width='1' stroke-dasharray='3 3'/%3E%3C/svg%3E" ), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1000' height='1' viewBox='0 0 1000 1'%3E%3Cline x2='1000' transform='translate(0 0.5)' fill='none' stroke='white' stroke-width='1' stroke-dasharray='3 3'/%3E%3C/svg%3E" );
	background-repeat: repeat-x,repeat-x;
	background-position: center bottom,center top;
	padding: 21px 10px;
}

.posts-list .title-block { display: inline-block; }

.posts-list .title-block a { text-decoration: none; }

@media(min-width: 500px){
	.posts-list{ padding: 30px 30px 100px; }
}

.more-read{ text-align: center; position: absolute; bottom: 0; left: 0; right: 0; }

.more-read button{ border-radius: 5px; padding: 1.5rem 1.5rem 1.2rem; line-height: 1; background-color: var(--themeColor); color: white; cursor: pointer; transition: all 0.3s ease-out; }

.more-read button:hover{ background-color: var(--hoverColor); color: black; }


/*=========================================================================== */
/* Google Map embed
============================================================================= */

.ggmap{
	position: relative;	overflow: hidden; max-width: 100%; height: 0; margin: 0; padding: 55% 0 0; text-align: center; }

.ggmap iframe , .ggmap object , .ggmap embed{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media(min-width: 1000px){
	.ggmap{ padding: 26% 0 0; }
}
