/*
Theme Name: ユーワークス
Description: 株式会社ユーワークス オリジナルテーマ
Theme URI:
Author: TRASP.inc
Author URI:
Version: 1.0.0
*/

@charset "utf-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: inherit;
	/*font: inherit;*/
	vertical-align: baseline;
}


/*====================================================
////id common
====================================================*/


html{
	font-size: 10px;
	font-size: 62.5%;
	overflow-x : hidden;
	width: 100%;
	max-width: 100vw;
}
body, button, input, select, optgroup, textarea  {
	background: #fff;
	color: #000;
	font-family: 'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", "YuGothic Medium", "游ゴシック体 Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 17px;
	font-size: 1.7rem;
	letter-spacing: 0.15em;
	line-height: 1.8;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	body, button, input, select, optgroup, textarea {
		font-size: 16px;
		font-size: 1.6rem;
	}
}

@media screen and (max-width:540px) {
	body, button, input, select, optgroup, textarea {
		font-size: 3.8vw;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	body, button, input, select, optgroup, textarea {
		font-size: 16px;
		font-size: 1.6rem;
	}
}

@media screen and (min-width:1280px) {
	body, button, input, select, optgroup, textarea {
		font-size: 18px;
		font-size: 1.8rem;
	}
}

body {
	position: relative;
	width: 100%;
	max-width: 100vw;
	height: auto;
	/* overflow-x: hidden; */
}
* {
	min-height:0;
	min-width : 0;
}

body * {
	box-sizing: border-box;
}
section {
	/*	background: #fff;*/
/*	overflow: hidden;*/
	position: relative;
	max-width: 100vw;
	z-index: 1;
}
p {
	margin-bottom: 1.2em;
}
p:last-child {
	margin-bottom: 0;
}
a {
	display: inline-block;
	transition: 0.2s ease-in-out;
	color: inherit;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	outline:none;
	text-decoration: none;
	vertical-align: middle;
}
.underline {
	-webkit-text-decoration: underline dotted 1px;
	text-decoration: underline dotted 1px;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}
.slide_dot_line {
	display: inline-block;
	position: relative;
}
.slide_dot_line:before {
	border-bottom: dotted .05em;
	content: '';
	margin: auto;
	position: absolute;
		bottom: -.05em;
		left: 0;
	transform-origin: left;
	transition: 1.6s ease-in-out;
	transition-delay: .3s;
	width: 0;
	height: 0;
}
.sa.show .slide_dot_line:before {
	width: 100%;
}

.tel_link a {
	text-decoration: none !important;
}
a img {
	transition: .1s ease-in-out;
}
p:not(.tel) a:not(.linkBtn) {
	color: #8c2122;
	-webkit-text-decoration: underline dotted 1px #8c2122;
	text-decoration: underline dotted 1px #8c2122;
	text-underline-position: under;
	text-underline-offset: 0.1em;
}


img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	display: inherit;
}

figure {
	position: relative;
}
figure img {
	position: relative;
}
figure.coverImg {
	overflow: hidden;
	padding-top: 65.5%;
	width: 100%;
}
.h100 {
	height: 100%;
}
figure.coverImg img {
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: none;
}
figure.coverImg.contain img {
	-o-object-fit: contain;
	object-fit: contain;
}

.scaleUpImg {
	overflow: hidden;
}
.scaleUpImg figure:after {
	/* border: solid 1px #fff;
	content: '';
	margin: auto;
	opacity: 0;
	position: absolute;
		top: 10px;
		left: 10px;
	transition: .4s all;
	width: calc(100% - 20px);
	height: calc(100% - 20px); */
}
.scaleUpImg img {
	transition: .4s;
}
a:hover .scaleUpImg figure:after ,
.scaleUpImg:hover figure:after {
	opacity: 1;
}


.round {
	border-radius: 14px;
	overflow: hidden;
}
.over_hidden {
	overflow: hidden;
}
#content {
	width: 100%;
	overflow: hidden;
	/* padding-bottom: 110px; */
	position: relative;
	transition: .2s ease-in-out;
	z-index: 1;
}
.innerBox{
	max-width: 1200px;
	margin: 0 auto;
	padding: 90px 0;
	position: relative;
	width: 94%;
	z-index: 2;
}
.innerBox.wide {
	max-width: 1700px;
}
.innerBox .innerBox {
	width: 100%;
}
.innerBox.shortPadding {
	padding: 60px 0;
}
.block {display: block;}
.inb {display: inline-block;}
.relative { position: relative; z-index: 1;}
.flexBox {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
.flexCenter {
	align-items: center;
	justify-content: center;
}
.flexStart {
	justify-content: flex-start;
}
.flexEnd {
	justify-content: flex-end;
}
.flexWrap {
	flex-wrap: wrap;
}
.flexColumn {
	flex-direction: column;
}
.flex-1 {
	flex: 1;
}
.gridBox {
	display: grid;
}

.hidden {
	display: none;
}

.whiteBox {
	background: #fff;
	padding: 30px;
}
.borderBox {
	border: solid 1px;
}
.shadowBox {
	box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.w100 { width: 100%; }

.mw300 {max-width: 300px; margin: auto;}
.mw400 {max-width: 400px; margin: auto;}
.mw500 {max-width: 500px; margin: auto;}
.mw600 {max-width: 600px; margin: auto;}
.mw700 {max-width: 700px; margin: auto;}
.mw800 {max-width: 800px; margin: auto;}
.mw900 {max-width: 900px; margin: auto;}
.mw1000 {max-width: 1000px; margin: auto;}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#contents {
		padding-bottom: 50px;
	}
	.innerBox {
		padding: 70px 0;
		width: 92%;
			max-width: 500px;
	}
	.innerBox.shortPadding {
		padding: 50px 0;
	}
	.hidden-mob {
		display: none;
	}
	.whiteBox {
		padding: 30px 20px;
	}
	.roundBox {
		border-radius: 15px;
		padding: 30px 20px;
	}
	.flexColumn-mob, .flexColumn-tab {
		flex-direction: column;
	}

}

@media screen and (max-width:580px) {
	.innerBox {
		padding: 60px 0;
	}
	.hidden-small {
		display: none;
	}
	.display-small {
		display: block;
	}
}

@media screen and (max-width: 1080px) {
	#contents {
		padding-top: 45px;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	a:hover {
		opacity: .8;
	}
	a.opacity-1:hover {
		opacity: 1;
	}
	a:hover .scaleUpImg img ,
	.scaleUpImg:hover img {
		transform: scale(1.05);
	}

	p:not(.tel) a[href*="tel:"] {
		color: inherit;
		text-decoration: none;
	}
	.hidden-pc {
		display: none;
	}
	.roundBox {
		border-radius: 20px;
		padding: 30px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	.innerBox {
	}
	.flexColumn-tab {
		flex-direction: column;
	}
	.hidden-tab {
		display: none;
	}
	.display-tab {
		display: block;
	}
}

@media screen and (min-width:1280px) {
	.whiteBox {
		padding: 50px;
	}
	.hidden-wide {
		display: none;
	}
	.display-wide {
		display: block;
	}
	.roundBox {
		border-radius: 20px;
		padding: 50px;
	}
}

/*====================================================
//NOTE 余白
====================================================*/
.ma-auto {margin: auto !important}
.ma-0 {margin: 0 !important}
.ma-05em {margin: .5em !important}
.ma-10em {margin: 1.0em !important}
.ma-15em {margin: 1.5em !important}
.ma-20em {margin: 2em !important}
.ma-30em {margin: 3em !important}
.mt-0 {margin-top: 0 !important}
.mt-05em {margin-top: .5em !important}
.mt-10em {margin-top: 1.0em !important}
.mt-15em {margin-top: 1.5em !important}
.mt-20em {margin-top: 2em !important}
.mt-30em {margin-top: 3em !important}
.ml-0 {margin-left: 0 !important}
.ml-05em {margin-left: .5em !important}
.ml-10em {margin-left: 1.0em !important}
.ml-15em {margin-left: 1.5em !important}
.ml-20em {margin-left: 2em !important}
.ml-30em {margin-left: 3em !important}
.mr-0 {margin-right: 0 !important}
.mr-05em {margin-right: .5em !important}
.mr-10em {margin-right: 1.0em !important}
.mr-15em {margin-right: 1.5em !important}
.mr-20em {margin-right: 2em !important}
.mr-30em {margin-right: 3em !important}
.mb-0 {margin-bottom: 0 !important}
.mb-05em {margin-bottom: .5em !important}
.mb-10em {margin-bottom: 1.0em !important}
.mb-15em {margin-bottom: 1.5em !important}
.mb-20em {margin-bottom: 2em !important}
.mb-30em {margin-bottom: 3em !important}

.ma-10 {margin: 10px !important}
.ma-20 {margin: 20px !important}
.ma-30 {margin: 30px !important}
.ma-40 {margin: 40px !important}
.ma-50 {margin: 50px !important}
.mt-10 {margin-top: 10px !important}
.mt-20 {margin-top: 20px !important}
.mt-30 {margin-top: 30px !important}
.mt-40 {margin-top: 40px !important}
.mt-50 {margin-top: 50px !important}
.mt-60 {margin-top: 60px !important}
.mt-70 {margin-top: 70px !important}
.ml-10 {margin-left: 10px !important}
.ml-20 {margin-left: 20px !important}
.ml-30 {margin-left: 30px !important}
.ml-40 {margin-left: 40px !important}
.ml-50 {margin-left: 50px !important}
.mr-10 {margin-right: 10px !important}
.mr-20 {margin-right: 20px !important}
.mr-30 {margin-right: 30px !important}
.mr-40 {margin-right: 40px !important}
.mr-50 {margin-right: 50px !important}
.mb-10 {margin-bottom: 10px !important}
.mb-20 {margin-bottom: 20px !important}
.mb-30 {margin-bottom: 30px !important}
.mb-40 {margin-bottom: 40px !important}
.mb-50 {margin-bottom: 50px !important}
.mb-60 {margin-bottom: 60px !important}
.mb-70 {margin-bottom: 70px !important}

.pa-0 {padding: 0 !important}
.pa-05em {padding: .5em !important}
.pa-10em {padding: 1.0em !important}
.pa-15em {padding: 1.5em !important}
.pa-20em {padding: 2em !important}
.pt-0 {padding-top: 0 !important}
.pt-05em {padding-top: .5em !important}
.pt-10em {padding-top: 1.0em !important}
.pt-15em {padding-top: 1.5em !important}
.pt-20em {padding-top: 2em !important}
.pb-0 {padding-bottom: 0 !important}
.pb-05em {padding-bottom: .5em !important}
.pb-10em {padding-bottom: 1.0em !important}
.pb-15em {padding-bottom: 1.5em !important}
.pb-20em {padding-bottom: 2em !important}

/*====================================================
//class .sa ※要javascript
====================================================*/
.sa {
	opacity: 0;
	transition: all 1.0s ease;
}
.sa.show {
	opacity: 1;
	transform: none;
}
.sa-lr {
	transform: translate(-50px, 0);
}
.sa-rl {
	transform: translate(50px, 0);
}
.sa-up {
	transform: translate(0, 50px);
}
.sa-down {
	transform: translate(0, -50px);
}
.sa-scaleUp {
	transform: scale(.7);
	transition: .8s ease;
	transition-delay: .4s;
}
.sa-scaleDown {
	transform: scale(1.5);
	transition: .8s ease;
	transition-delay: .4s;
}
.sa-rotateL {
	transform: rotate(180deg);
}
.sa-rotateR {
	transform: rotate(-180deg);
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.sa-lr {
		transform: translate(-40px, 0);
	}
	.sa-rl {
		transform: translate(40px, 0);
	}
	.sa-up {
		transform: translate(0, 40px);
	}
	.sa-down {
		transform: translate(0, -40px);
	}
}


.sa.slideShow {
	opacity: 1;
	position: relative;
	z-index: 1;
}
.sa.slideShow:before {
	background: #f5e5e6;
	content: '';
	position: absolute;
		top: 0;
		left: 0;
		right: auto;
	transition: .5s ease-in-out;
	width: 0;
	height: 100%;
	z-index: 10;
}
.sa.slideShow.show:before {
	-webkit-animation: anim-slide 1.2s ease-in-out forwards;
	        animation: anim-slide 1.2s ease-in-out forwards;
	-webkit-animation-delay: .4s;
	        animation-delay: .4s;
}
@-webkit-keyframes anim-slide {
	0%   {}
	55%  { width: 100%; left: 0; right: 0;}
	65% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}
@keyframes anim-slide {
	0%   {}
	47%  { width: 100%; left: 0; right: 0;}
	53% { width: 100%; left: auto; right: 0; }
	100% { width: 0; left: auto; right: 0; }
}

.sa.slideShow img,
.sa.slideShow > .box-inner {
	opacity: 0;
}
.sa.slideShow.show img ,
.sa.slideShow.show > .box-inner {
	opacity: 1;
	transition-delay: 1.1s;
}


.sa.slideShow.slide-rl {
	transform: rotate(180deg);
}
.sa.slideShow.slide-rl img {
	transform: rotate(180deg);
}

.sa.slideShow.slide-pink:before {
	background: #f1cfd4;
}
.sa.slideShow.slide-white:before {
	background: #fff;
}

.delay-01 {
	transition-delay: .1s;
}
.delay-02 {
	transition-delay: .2s;
}
.delay-03 {
	transition-delay: .3s;
}
.delay-04 {
	transition-delay: .4s;
}
.delay-06 {
	transition-delay: .6s;
}

/*====================================================
//NOTE テキスト
====================================================*/
.f-en {
	font-family: 'Jost', 'Nunito Sans', 'Noto Sans JP', "Yu Gothic Medium", "游ゴシック Medium", "YuGothic Medium", "游ゴシック体 Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
.tate {
	-ms-writing-mode: tb-rl;
	    writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	        text-orientation: upright;
}

.f-05em {font-size: .5em}
.f-06em {font-size: .6em}
.f-07em {font-size: .7em}
.f-08em {font-size: .8em}
.f-09em {font-size: .9em}
.f-10em {font-size: 1.0em}
.f-11em {font-size: 1.1em}
.f-12em {font-size: 1.2em}
.f-13em {font-size: 1.3em}
.f-14em {font-size: 1.4em}
.f-15em {font-size: 1.5em}
.f-16em {font-size: 1.6em}
.f-17em {font-size: 1.7em}
.f-18em {font-size: 1.8em}
.f-20em {font-size: 2.0em}

.f-10 {font-size: 1.0rem}
.f-11 {font-size: 1.1rem}
.f-12 {font-size: 1.2rem}
.f-13 {font-size: 1.3rem}
.f-14 {font-size: 1.4rem}
.f-15 {font-size: 1.5rem}
.f-16 {font-size: 1.6rem}
.f-17 {font-size: 1.7rem}
.f-18 {font-size: 1.8rem}
.f-20 {font-size: 2.0rem}
.f-22 {font-size: 2.2rem}
.f-24 {font-size: 2.4rem}

.lh-10 {line-height: 1.0;}
.lh-12 {line-height: 1.2;}
.lh-14 {line-height: 1.4;}
.lh-16 {line-height: 1.6;}

.ls-0 {letter-spacing: 0;}
.ls-005 {letter-spacing: .05em;}
.ls-01 {letter-spacing: .1em;}
.ls-02 {letter-spacing: .2em;}
.ls-03 {letter-spacing: .3em;}

small, .small {
	font-size: .8em;
}
big, .big {
	font-size: 1.2em;
}
strong {
	font-weight: bold;
}
sup {
	font-size: .5em;
	vertical-align: .5em;
}
.fuchi2 {
	text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}
.fuchi3 {
	text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
}
.fuchi5 {
	text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}

.fw-light {
	font-weight: 300;
}
.fw-normal {
	font-weight: 400;
}
.fw-medium {
	font-weight: 500;
}
.fw-bold {
	font-weight: 700;
}
.fw-black {
	font-weight: 900;
}

.txt-left {
	text-align: left;
}
.txt-right {
	text-align: right;
}
.txt-center {
	text-align: center;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	/* letter-spacing: .1em; */
}


/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	h1 {font-size: 4.0rem;}
	h2 {font-size: 3.2rem;}
	h3 {font-size: 2.4rem;}
	h4 {font-size: 2.2rem;}
	h5 {font-size: 2.0rem;}
}

@media screen and (max-width: 580px) {
	h1 {font-size: 7vw;}
	h2 {font-size: 6.2vw;}
	h3 {font-size: 4.8vw;}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	h1 {font-size: 4.8rem;}
	h2 {font-size: 4.0rem;}
	h3 {font-size: 2.8rem;}
	h4 {font-size: 2.4rem;}
	h5 {font-size: 2.0rem;}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	h1 {font-size: 4.4rem;}
	h2 {font-size: 3.5rem;}
	h3 {font-size: 2.6rem;}
	h4 {font-size: 2.2rem;}
	h5 {font-size: 2.0rem;}
}

@media print, screen and (min-width: 1280px) {
	h1 {font-size: 5.0rem;}
	h2 {font-size: 4.6rem;}
	h3 {font-size: 3.0rem;}
	h4 {font-size: 2.6rem;}
	h5 {font-size: 2.2rem;}
}

/*====================================================
//NOTE 装飾系
====================================================*/

.contact_btn li [type="submit"],
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
main .bodyText .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.contact_btn li [type="submit"],
.linkBtn,
.btn01 a { /* class linkBtn */
	background: #fff;
	border: solid 2px #e53742;
	border-radius: 1.8em;
	color: #e53742;
  cursor: pointer;
	/* display: block; */
	font-size: 1.12em;
	font-weight: bold;
	line-height: 1.4;
	overflow: hidden;
  padding: .7em 50px;
  position: relative;
	text-align: center;
	transition: .1s ease-in-out;
	width: auto;
		min-width: 300px;
	height: auto;
	z-index: 1;
}
/* .wp-block-button .wp-block-button__link:before,
main .bodyText .wp-block-button .wp-block-button__link:before,
.linkBtn:before,
.btn01 a:before {
} */
.wp-block-button .wp-block-button__link:after,
main .bodyText .wp-block-button .wp-block-button__link:after,
.linkBtn:after,
.btn01 a:after {
	background: url('img/cmn/icon-arrow.png') no-repeat center/ contain;
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		top: 0;
		right: 20px;
		bottom: 0;
	transition: .2s ease-in-out;
	width: 24px;
	height: 15px;
}
.linkBtn.bg-white {
	background: #fff;
	border-color: #000;
	color: #000;
}
.linkBtn.bg-black {
	background: #000;
	border-color: #000;
	color: #fff;
}
.linkBtn.arrow-none ,
.btn01 a.arrow-none {
	padding: .7em 1em;
}
.linkBtn.arrow-none::after ,
.btn01 a.arrow-none::after {
	display: none;
}

.is-style-outline .wp-block-button__link,
main .bodyText .is-style-outline .wp-block-button__link,
.linkBtn-small {
	background: transparent;
	color: #e53742;
	font-weight: bold;
	padding: 0 30px 0 0;
	position: relative;
}
.is-style-outline .wp-block-button__link:after,
main .bodyText .is-style-outline .wp-block-button__link:after,
.linkBtn-small:after {
	background: url('img/cmn/icon-arrow.png') no-repeat center/ contain;
	content: '';
	margin: auto;
	position: absolute;
		top: 0;
		right: 5px;
		bottom: 0;
	transition: .2s ease-in-out;
	width: 20px;
	height: 10px;
}

dl.accordion dt ,
dl.menu-accordion dt ,
dl.accordion .accordion_close {
	cursor: pointer;
}
dl.accordion dd ,
dl.menu-accordion dd {
	overflow: hidden;
	transition: .2s ease-in-out;
}

.row_accordion {
	margin-bottom: 0;
	transition: .6s ease-in-out;
}
.accordion_more {
	background: transparent;
	border: solid 1px;
	cursor: pointer;
	line-height: 1.4;
	overflow: hidden;
	position: absolute;
  padding: .5em 40px .7em;
  position: relative;
	text-align: center;
	transition: .1s ease-in-out;
	width: auto;
		min-width: 300px;
	height: auto;
	z-index: 1;
}
.accordion_more::before,
.accordion_more::after {
	border-top: solid 2px ;
	content: '';
	margin: auto;
	position: absolute;
		top: 0;
		right: calc(35px - 1em);
		bottom: 0;
	width: 1em;
	height: 0;
}
.accordion_more::after {
	transform: rotate(90deg);
}

/* アコーディンの親要素設置の場合 */
.row_accordion-outer {
	padding-bottom: 4.5em;
	position: relative;
	transition: .6s ease-in-out;
}
.row_accordion-outer.open {
	padding-bottom: 0;
}
.row_accordion-outer .accordion_more {
	margin: auto;
	position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
}


.bgBox {
	margin: auto;
	pointer-events: none;
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.bgBox img {
	width: 100% !important;
	height: 100% !important;
	-o-object-fit: cover;
	object-fit: cover;

}

.arrow {
	background: url('img/cmn/icon-arrow.png') no-repeat center/ contain;
	display: inline-block;
	width: 1.3em;
	height: .6em;
}
.circle_arrow {
	background: #f5f2f2;
	border-radius: 100%;
	display: inline-block;
	position: relative;
	width: 2.5em;
	height: 2.5em;
}
.circle_arrow::after {
	background: url('img/cmn/icon-arrow.png') no-repeat center/ contain;
	content: '';
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	width: 40%;
	height: 30%;
}

.deco-red_line {
	overflow: hidden;
	padding-bottom: 25px;
	position: relative;
}
.deco-red_line:before {
	background: #e53742;
	border-left-color: #8c2122;
	border-radius: 4px;
	box-sizing: border-box;
	content: '';
	margin: auto;
	position: absolute;
		left: 0;
		bottom: 0;
	width: 80px;
	height: 6px;
}
.deco-red_line::after {
	background: #8c2122;
	border-radius: 4px;
	box-sizing: border-box;
	content: '';
	margin: auto;
	position: absolute;
		left: 0;
		bottom: 0;
	width: 20px;
	height: 6px;
}
.deco-red_line.txt-center::before {
	right: 0;
}
.deco-red_line.txt-center::after {
	left: -60px;
	right: 0;
}

.deco-photo_line {
	background: #e53742;
	position: absolute;
		top: -20px;
  z-index: 10;
}
.deco-photo_line.right_deco {
  right: 120px;
  transform: skewX(-25deg);
}
.deco-photo_line.left_deco {
  left: 120px;
  transform: skewX(25deg);
}
.deco-photo_line::before,
.deco-photo_line::after {
  background: #e53742;
  content: '';
  margin: auto;
  position: absolute;
    top: 0;
  width: 100%;
  height: 100%;
}
.deco-photo_line::before {
  left: -180%;
}
.deco-photo_line::after {
  right: -180%;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.wp-block-button .wp-block-button__link,
	main .bodyText .wp-block-button .wp-block-button__link,
	.linkBtn,
	.linkBtn,
	.btn01 a  { /* class linkBtn */
		display: block;
		font-size: 1em;
		margin: auto;
		padding: 1em 45px;
		width: 80%;
			min-width: 0;
	}
	.wp-block-button .wp-block-button__link:after,
	main .bodyText .wp-block-button .wp-block-button__link:after,
	.linkBtn:after,
	.btn01 a:after {
		right: 20px;
		width: 20px;
	}
	main .bodyText .wp-block-buttons {
		display: block;
	}
	main .bodyText .wp-block-buttons .wp-block-button {
		display: block;
		margin: 10px auto !important;
		text-align: center;
	}
	.accordion_more { /* class linkBtn */
		display: block;
		margin: auto;
		width: 70%;
		min-width: 0;
	}

	.deco-red_line {
		padding-bottom: 20px;
	}
	.deco-red_line::before {
		width: 40px;
		height: 4px;
	}
	.deco-red_line::after {
		width: 10px;
		height: 4px;
	}
	.deco-red_line.txt-center::after {
		left: -30px;
	}

	.deco-photo_line {
    width: 20px;
    height: 70px;
  }
	.deco-photo_line.right_deco {
    top: -10px;
    right: 15%;
  }
  .deco-photo_line.left_deco {
    top: -10px;
    left: 15%;
  }
}

@media screen and (max-width:580px) {
	.deco-photo_line {
    width: 15px;
    height: 60px;
  }
}

@media screen and (max-width:580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) { /* NOTE linkBtn pc */
	.contact_btn li [type="submit"]:hover,
	.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
	main .bodyText .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
	.linkBtn:hover ,
  a:hover .linkBtn,
	.btn01 a:hover {
		opacity: 1;
  }
	.wp-block-button:not(.is-style-outline) .wp-block-button__link:before,
	main .bodyText .wp-block-button:not(.is-style-outline) .wp-block-button__link:before,
	.linkBtn:before,
	.btn01 a:before {
		background: rgba(230, 55, 66, 0.15);
		border-radius: 30px;
		content: '';
		margin: auto;
		position: absolute;
			top: 0;
			left: auto;
			right: 0;
		transition: .4s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		width: 0;
		height: 100%;
		z-index: -1;
	}
	input[type="submit"]:hover {
		background: rgba(230, 55, 66, 0.15);
	}
	.wp-block-button .wp-block-button__link:hover:before,
	main .bodyText .wp-block-button .wp-block-button__link:hover:before,
	.linkBtn:hover:before,
	.btn01 a:hover:before {
		left: 0;
		right: auto;
		width: 100%;
	}
	.wp-block-button .wp-block-button__link:hover:after,
	main .bodyText .wp-block-button .wp-block-button__link:hover:after,
	a:hover .linkBtn:after,
	.linkBtn:hover:after,
	.btn01 a:hover:after {
	}
	.is-style-outline .wp-block-button__link:hover,
	main .bodyText .is-style-outline .wp-block-button__link:hover,
	.linkBtn-small:hover {
		color: #8c2122;
		opacity: 1;
	}
	.is-style-outline .wp-block-button__link:hover:after,
	main .bodyText .is-style-outline .wp-block-button__link:hover:after,
	.linkBtn-small:hover:after {
		right: 0;
	}

	.row_accordion.ra-mob {
		height: auto !important;
	}
	.row_accordion.ra-mob + .accordion_more {
		display: none;
	}

	.row_accordion-outer.ra-mob {
		padding-bottom: 0;
	}

	.deco-photo_line {
    width: 5%;
    height: 8vw;
  }

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	.deco-photo_line {
    width: 3%;
    height: 10vw;
  }
	.deco-photo_line.right_deco {
    top: -15px;
    right: 15%;
  }
  .deco-photo_line.left_deco {
    top: -15px;
    left: 15%;
  }
}

@media screen and (min-width:1280px) {
	.deco-photo_line {
    width: 30px;
    height: 110px;
  }
}

ul li {
	position: relative;
	padding-left: 1.2em;
	line-height: 1.5;
	margin: .3em 0;
}
/* ul li:before {
	content: '\30FB';
	display: block;
	position: absolute;
		left: 0;
		top: 0;
} */
ul.mark_none li {
	padding-left: 0;
}
ul.mark_none li:before {
	display: none;
}
ul li:after {
	display: none;
}
ul.markList.attentionMark li:before {
	content: '\203B';
}
ul.markList.checkMark li {
	padding-left: 1.7em;
}
ul.markList.checkMark li:before {
	background: url('img/cmn/icon-check.png') no-repeat center / contain;
	content: '';
	top: .2em;
	width: 1em;
	height: 1em;
}
ol {
	counter-reset:number; /* 名前を付けたカウンターをリセット */
	list-style:none; /* olが数字を付けることをキャンセル */
	margin:0;
	padding:0;
}
ol > li{
	padding-left: 1.7em;
	line-height: 1.4;
	margin: .5em 0;
	position: relative;
}
ol > li:before{
	counter-increment: number;
	content: counter(number);
	position: absolute;
	top: 0em;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.4em;
	height: 1.4em;
	line-height: 1;
}
ol.circleMarkList > li:before{
	border: solid 1px;
	border-radius: 100%;
	font-size: .9em;
	top: .05em;
}

.circleBox {
	border-radius: 100%;
}

.markerline {
	background: linear-gradient(transparent 70%, #f0d700 70%, #f0d700 100%);
	padding: 0 .8em;
}

.squareMark {
	border: solid 1px;
	border-color: inherit;
	display: inline-block;
	padding: .3em .4em .3em;
	line-height: 1;
}

.circleMark {
	border: solid 1px;
	border-radius: 100px;
	padding: 2px .5em;
}

.icon_link {
	display: grid;
		justify-content: center;
		align-items: center;
		grid-gap: 0 .3em;
		grid-template-columns: auto auto;
}
.icon_link img {
	height: 1em;
}

.decoBox {
	position: absolute;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width:580px) {
}


/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}
/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

/*====================================================
//class eachTextAnime
====================================================*/
.eachTextAnime {
	opacity: 0;
}
.eachTextAnime.appeartext {
	opacity: 1;
}
.eachTextAnime span {
	opacity: 0;
}
.eachTextAnime.appeartext span {
	-webkit-animation:text_anime_on .3s ease-out forwards;
	        animation:text_anime_on .3s ease-out forwards;
	/* animation-delay: .4s; */
}
@-webkit-keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
@keyframes text_anime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}

/*====================================================
////NOTE カラー
====================================================*/

.bg-white {
	background: #fff;
}
.bg-l_gray {
	background: #f5f2f2;
}
.bg-gray {
	background: #a6a6a4;
	color: #fff;
}
.bg-d_gray {
	background: #333;
	color: #fff;
}
.bg-red {
	background: #e53742;
	color: #fff;
}
.bg-p_red {
	background: #fff0f1;
}
.bg-black {
	background: #000;
	color: #fff;
}
.bg-transparent {
	background: transparent;
}

.bg-line {
	background: #06c755;
	color: #fff;
}

.bg-dot {
	position: relative;
}
.bg-dot:after {
	background: url('img/cmn/bg-dot.png');
	background-size: 4px;
	content: '';
	position: absolute;
		top: 0;
		left: 0;
	width: 100%;
	height: 100%;
}
.bg-grid {
	background: url('img/cmn/bg-grid.png');
	background-size: 12px;
}

.black {
	color: #000;
}
.white {
	color: #fff;
}
.l_gray {
	color: #f0f0f0;
}
.gray {
	color: #333;
}
.red {
	color: #e53742;
}
.d_yellow {
	color: #8c2122;
}
.navy {
	color: #042d4c;
}
.d_navy {
	color: #021c2f;
}

.border {
	border: solid 1px;
}
.border-gray {
	border: solid 1px #9C9C9C;
}
.border-black {
	border: solid 1px #000;
}
.border-none {
	border: none;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.bg-dot:after {
		background-size: 2px;
	}
	.bg-grid {
		background-size: 6px;
	}
}
/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	a .hover-red {
		transition: .2s ease-in-out;
	}
	a:hover .hover-red,
	a.hover-red:hover {
		color: #ea5541;
	}

}

/*====================================================
//// id global_nav
====================================================*/
#global_nav {
	height: 50px;
	position: relative;
	z-index: 10;
}
#global_nav .innerBox {
	position: absolute;
		top: -50px;
		left: 0;
		right: 0;
}
#global_nav .nav {
	border-radius: 100px;
}
#global_nav .nav ul {
	justify-content: space-around;
	margin: auto;
	width: 94%;
	height: 100px;
}
#global_nav a {
	height: 3.0em;
}
#global_nav a:hover {
}
#global_nav .current {
	pointer-events: none;
}
#global_nav a .decoBox {
	background: #8c2122;
	border-radius: 100%;
	margin: auto;
	opacity: 0;
	position: absolute;
		bottom: 0;
		left: -1.2em;
		right: 0;
	transition: .4s ease-in-out;
	width: .26em;
	height: .26em;
}
#global_nav a .decoBox::before,
#global_nav a .decoBox::after {
	background: #8c2122;
	border-radius: 100%;
	content: '';
	margin: auto;
	opacity: 0;
	position: absolute;
		bottom: 0;
	transition: .4s ease-in-out;
	width: .26em;
	height: .26em;
}
#global_nav a .decoBox::before {
	left: .6em;
}
#global_nav a .decoBox::after {
	left: 1.2em;
}
#global_nav a:hover .decoBox {
	opacity: 1;
}
#global_nav a:hover .decoBox::before {
	opacity: 1;
	transition-delay: .3s;
}
#global_nav a:hover .decoBox::after {
	opacity: 1;
	transition-delay: .6s;
}

#global_nav a.current .decoBox ,
#global_nav a.current .decoBox::before,
#global_nav a.current .decoBox::after {
	opacity: 1;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#global_nav {
		display: none;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	#global_nav .innerBox {
		top: -40px;
	}
	#global_nav .nav ul {
		height: 80px;
	}
}

@media screen and (min-width:1280px) {
	#global_nav .nav {
		padding: 0 50px;
	}
	#global_nav a {
		font-size: 2.0rem;
	}
}

/*====================================================
//// id page_ttl
====================================================*/
.page_ttl {
	overflow: hidden;
	padding: 0;
}
.page_ttl .innerBox {
	padding: 80px 0;
}
.page_ttl .headBox {
}
.page_ttl .headBox:before {
	background: #fff;
	content: '';
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
	height: 0;
	width: 100vw;
	height: 100%;
	z-index: -1;
}
.page_ttl h1 {
	color: #2292A2;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.page_ttl .innerBox {
		align-items: center;
		justify-content: flex-end;
		height: 60vw;
			max-height: 360px;
		padding: 50px 0
	}
	.page_ttl .headBox {
	}
	.page_ttl .headBox:before {
	}
	.page_ttl h1 {
		font-size: 3.2rem;
		padding: .3em 1vw .3em 4vw;
	}
}

@media screen and (max-width:580px) {
	.page_ttl h1 {
		font-size: 7.0vw;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.page_ttl .innerBox {
		align-items: center;
		justify-content: flex-end;
		height: 460px;
	}
	.page_ttl .headBox {
		max-width: 60%;
	}
	.page_ttl h1 {
		font-size: 3.6rem;
		padding: .5em 3vw .5em 6vw;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	.page_ttl .innerBox {
		height: 380px;
	}
}

@media screen and (min-width:1280px) {
	.page_ttl h1 {
		font-size: 3.8rem;
	}
}

/*====================================================
////class .headBox
====================================================*/
.headBox {
	position: relative;
	z-index: 1;
}
.headBox h1,
.headBox h2,
.headBox h3,
.headBox h4 {
	margin-bottom: 0;
}

.headBox .en_jp {
}
.headBox .en_jp .jp {
	display: block;
	line-height: 1.4;
}
.headBox .en_jp .en {
	display: block;
	font-size: .65em;
	font-weight: 500;
	letter-spacing: .2em;
	line-height: 1.4;
	margin-right: .3em;
}
.headBox .en_jp .jp + .en {
	margin-top: .8em
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.headBox {
		margin-bottom: 30px;
	}

	.headBox .en_jp-small .jp {
		font-size: .95em;
	}
	.headBox .en_jp-small .en {
		font-size: .5em;
	}
}

@media screen and (max-width:580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.headBox {
		margin-bottom: 40px;
	}

	.headBox .en_jp-small .jp {
		font-size: .83em;
	}
	.headBox .en_jp-small .en {
		font-size: .45em;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:960px) and (max-width:1080px) {
}

@media screen and (min-width:1280px) {
	.headBox {
		margin-bottom: 60px;
	}
}

/*====================================================
////class .slick
====================================================*/
.slick-dotted.slick-slider {
	margin-bottom: 0px;
	/* padding-bottom: 40px; */
}
.slick-dots {
	margin-top: 20px;
	display: flex;
		justify-content: center;
}
.slick-dots li {
	width: auto;
	height: auto;
	margin: 0 3px;
	padding: 0;
}
.slick-dots li::before {
	display: none;
}
.slick-dots li button {
	background: none;
  border: none;
	outline: none;
	padding: 0;
	position: relative;
  text-indent: -9999px;
	width: 20px;
	height: 20px;
}
.slick-dots li button:before {
	background: #ededed;
	border-radius: 10px;
	content: '';
	cursor: pointer;
	opacity: 1;
	position: absolute;
		top: 4px;
		left: 4px;
	width: 12px;
	height: 12px;
}
.slick-dots li.slick-active button:before {
	background: #8c2122;
	opacity: 1;
}

.slick-prev ,
.slick-next {
	background: #f5f2f2;
	border: none;
	border-radius: 100%;
	cursor: pointer;
	margin: auto;
	/* opacity: .8; */
	overflow: hidden;
	position: absolute;
		top: 0;
		bottom: 0;
	transition: .2s ease-in-out;
	width: 3em;
	height: 3em;
	z-index: 1000;
}
.slick-prev {
	left: 0;
}
.slick-next {
	right: 0;
}

.slick-prev * {
	display: none;
}
.slick-prev:before ,
.slick-next:before {
	background: url('img/cmn/icon-arrow.png') no-repeat center/ contain;
	content: '';
	margin: auto;
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	transition: .2s ease-in-out;
	width: 35%;
	height: 35%;
}
.slick-prev:before {
	transform: rotate(-180deg);
}
.slick-next:before {
}
.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.slick-slide {
		padding: 0 10px;
	}
	.slick-prev {
		left: -20px;
	}
	.slick-next {
		right: -20px;
	}
}

@media screen and (max-width:580px) {
	.slick-prev ,
	.slick-next {
		/* width: 40px;
		height: 40px; */
	}
	.slick-prev {
	}
	.slick-next {
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.slick-prev:hover:before ,
	.slick-prev:hover:after ,
	.slick-next:hover:before ,
	.slick-next:hover:after {
		width: 20px;
		height: 5px;
	}
	.slick-prev:hover {
		transform: translate(-5px, 0);
	}
	.slick-next:hover {
		transform: translate(5px, 0);
	}

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	.slick-prev {
		transform: scale(.7);
		transform-origin: left;
	}
	.slick-next {
		transform: scale(.7);
		transform-origin: right;
	}
}

@media screen and (min-width:1380px) {
}

/*====================================================
////id .deco
====================================================*/
.deco-slash {
	overflow: hidden;
	pointer-events: none;
	position: absolute;
    /* top: -110px; */
    right: calc(100% - 20px);
		bottom: 0;
	width: 80px;
	height: 150px;
}
.deco-slash::before {
	border-left: solid 1px;
	content: '';
	margin: auto;
	position: absolute;
		bottom: 0;
		left: 0;
	transform: rotate(30deg);
	transform-origin: bottom;
	transition: 1.2s ease-in-out;
	width: 0;
	height: 120%;
}
.deco-slash.blue {
	border-color: #2292A2;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.deco-slash {
		width: 70px;
	  height: 120px;
	}
}

@media screen and (max-width:580px) {
	.deco-slash {
		width: 16.5vw;
	  height: calc(7vw + 80px);
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:959px) {
}

@media screen and (min-width:1280px) {
}

/*====================================================
////id .yt
====================================================*/

.yt {
    position: relative;
    height: 0;
    padding: 0px 0 56.3%;
    overflow: hidden;
}
.yt iframe {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
}


/*====================================================
////id
====================================================*/
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width:580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:959px) {
}

@media screen and (min-width:1280px) {
}

/*====================================================
//// class table.responsive
====================================================*/
table {
	width: 100%;
}
table th ,
table td {
	border: solid #f5e5e6;
	border-width: 2px 0;
	line-height: 1.6;
	vertical-align: middle;
}
table.responsive {
	width: 100%;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	table.responsive ,
	table.responsive tbody,
	table.responsive tr,
	table.responsive th,
	table.responsive td {
		display: block;
	}
	table.responsive thead {
		display: none;
	}
	table.responsive tbody {
		display: block;
	}
	table.responsive tr {
		display: flex;
		flex-wrap: wrap;
		position: relative;
		width: 100%;
	}
	table.responsive tr:last-child {
		margin-bottom: 0;
	}
	table.responsive td {
		text-align: left;
		padding: 16px;
		width: 100%;
	}
	table th ,
	table td {
		border: none;
		padding: 16px;
	}
	table.responsive th ,
	table.responsive td {
		padding: 16px 6px;
	}
	table.responsive th ,
	table.responsive td:first-child {
		/* background: #f2fafb; */
		border-top: solid 2px #f5e5e6;
		color: #2292A2;
		text-align: left;
		width: 100%;
	}
	table.responsive td:not(td:first-child) {
		padding-top: 0;
	}
	table.responsive tr:last-child {
		border-bottom: solid #f5e5e6;
	}
}

@media screen and (max-width:580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	table th ,
	table td {
		padding: 20px;
	}

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	table th ,
	table td {
	}
}

/*====================================================
//// id
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width:580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1280px) {
}

/*====================================================
//// id mapBox
====================================================*/
.mapBox iframe {
	margin: auto;
	position: absolute;
		top: -200px;
	width: 100%;
	height: calc(100% + 400px);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	.mapBox .box-inner {
		width: 100%;
		height: 90vw;
			max-height: 300px;
	}
}

@media screen and (max-width:580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	.mapBox .box-inner {
		width: 100%;
		height: 500px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1280px) {
}

/*====================================================
//// id cmn_contact
====================================================*/
#cmn_contact .innerBox {
	padding-bottom: 50px;
}
#cmn_contact .itemBox a {
	line-height: 1;
	place-content: center;
	place-items: center;
	position: relative;
}
#cmn_contact .item.line a {
	background: #e53742;
}
#cmn_contact .item.tel a {
	background: #c22c36;
}
#cmn_contact .item.contact a {
	background: #8c2122;
}
#cmn_contact .item img {
	filter: brightness(10) grayscale(10);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#cmn_contact .itemBox {
	}
	#cmn_contact .itemBox a {
		grid-gap: 15px;
		font-size: 2.2rem;
		padding: 40px;
	}
	#cmn_contact .itemBox a img {
		height: 30px;
	}
}

@media screen and (max-width:580px) {
	#cmn_contact .itemBox a {
		font-size: 5vw;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	#cmn_contact .itemBox {
		grid-template-columns: repeat(3, 1fr);
	}
	#cmn_contact .itemBox a {
		grid-gap: 2.5vw;
		font-size: 2.2vw;
		height: 22vw;
	}
	#cmn_contact .itemBox a:hover {
		filter: brightness(1.2);
	}
	#cmn_contact .itemBox a img {
		height: 3vw;
		transition: .2s ease-in-out;
	}
	#cmn_contact .itemBox a:hover img {
		transform: scale(1.1);
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	#cmn_contact .itemBox a {
		font-size: 2.5vw;
	}
	#cmn_contact .itemBox a img {
		height: 4vw;
	}
}

@media screen and (min-width:1280px) {
	#cmn_contact .itemBox a {
		font-size: 1.8vw;
	}
	#cmn_contact .itemBox a .display-wide {
		display: contents;
	}
}

@media screen and (min-width:1680px) {
	#cmn_contact .itemBox a {
		font-size: 3.2rem;
		grid-gap: 50px;
		height: 380px;
	}
	#cmn_contact .itemBox a img {
		width: 50px;
		height: 50px;
	}
}


/*====================================================
////class .pagetop
====================================================*/

.pagetop {
	display: none;
	position: fixed;
		bottom: 20px;
		right: 20px;
	transform: none !important;
	width: 60px;
	height: 60px;
	z-index: 1000;
	/*	border: solid 1px*/
}
.pagetop a {
	border-radius: 100%;
	display: flex;
		align-items: center;
		justify-content: center;
	position: relative;
	/* opacity: .8; */
	width: 100%;
	height: 100%;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 1080px) {
	.pagetop a {
		background: #000;
		padding-top: 15%;
	}
	.pagetop a .arrow {
		background: transparent;
		border: solid #fff;
		border-width: 3px 3px 0 0;
		transform: rotate(-45deg);
		width: 18px;
		height: 18px;
	}
}

@media screen and (max-width: 769px) {
	.pagetop {
		right: 10px;
		bottom: 10px;
		/* width: 40px;
		height: 40px; */
	}
	.pagetop a {
		transform-origin: bottom right;
	}
}

@media screen and (min-width:480px) and (max-width:769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 1080px) {
	.pagetop a {
		background: #e53742;
		font-size: 2.6rem;
	}
	.pagetop a:hover {
	}
	.pagetop .arrow {
		filter: brightness(100) grayscale(100);
		transform: rotate(-90deg);
	}
	.pagetop.stop {
		position: absolute;
			top: 20px;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1080px) {
}

@media screen and (min-width:1280px) {
}

/*====================================================
//// id sp_btn_area
====================================================*/
footer .sp_btn-outer {
	display: none;
}
footer .sp_btn_area {
	position: fixed;
		bottom: 10px;
		left: auto;
		right: 80px;
	transition: .4s ease-in-out;
	width: 130px;
	height: 60px;
	z-index: 100;
}
footer .stop .sp_btn_area {
	/* top: -60px; */
}
.menu_open footer .sp_btn_area {
	/* opacity: 0;
	pointer-events: none; */
}
footer .stop .sp_btn_area {
	/* bottom: -80px; */
}
footer .sp_btn_area ul {
	border: none;
	grid-gap: 10px;
	justify-content: flex-end;
}
footer .sp_btn_area li {
	width: 60px;
}
footer .sp_btn_area li a {
	border-radius: 30px;
	color: #fff;
	/* display: grid; */
		/* grid-gap: 8px; */
		/* grid-template-columns: 1fr auto; */
		/* place-content: center;
		place-items: center; */
	font-size: 1.4rem;
	letter-spacing: .08em;
	line-height: 1;
	margin: 0;
	padding: 0;
	width: 60px;
	height: 60px;
}
footer .sp_btn_area li.tel a {
	background: #c22c36;
}
footer .sp_btn_area li.contact a {
	background: #8c2122;
}
footer .sp_btn_area li img {
	filter: brightness(100) grayscale(100);
	width: 30px;
	height: 30px;
}
footer .sp_btn_area li .txt {
	font-size: 2.2rem;
	opacity: 0;
	overflow: hidden;
	text-align: center;
	transition: .4s ease-in-out;
	white-space: nowrap;
	width: 0;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 1080px) {
}

@media screen and (min-width:769px) and (max-width:1080px) {
	footer .sp_btn_area {
		bottom: 20px;
		right: 90px;
	}
}

@media screen and (max-width:769px) {
	footer .sp_btn_area li .txt {
		display: none;
	}
}

@media screen and (max-width:580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 1080px) {
	footer .sp_btn-outer {
		display: none !important;
	}

}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:1080px) {
	footer .sp_btn_area li.tel::before {
		content: '';
		display: block;
		margin: auto;
		position: absolute;
			top: 0;
			left: auto;
			right: 0;
		width: 60px;
		height: 60px;
	}
	footer .sp_btn_area li.tel a {
		position: absolute;
			top: 0;
			right: 0;
		transition: .4s ease-in-out;
	}
	footer .sp_btn_area li.tel:hover::before ,
	footer .sp_btn_area li.tel:hover a {
		width: 240px;
	}
	footer .sp_btn_area li.tel:hover .txt {
		opacity: 1;
		width: 180px;
	}
}

@media screen and (min-width:1280px) {
}

@media screen and (min-width: 769px) and (max-height:620px) {
}

/*====================================================
////id footer
====================================================*/
footer {
	position: relative;
	z-index: 2000;
}
footer .logo a {
	grid-gap: 1em;
}
footer .mainBox .snsBox img {
	filter: brightness(100) grayscale(100);
}
footer .infoBox .tel img {
	margin-right: .4em;
	width: .8em;
	height: .8em;
}
footer .infoBox .linkBox {
	grid-gap: .8em;
}
footer .infoBox .linkBtn {
	border: solid 1px #fff;
	font-size: 1em;
	margin: 0;
	width: auto;
		min-width: 0;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
	footer {
		margin-top: -2px;
		overflow: hidden;
	}
	footer .innerBox {
		padding: 40px 0 80px;
		width: 85%;
			max-width: 430px;
	}
	footer .mainBox {
		align-items: flex-end;
		grid-gap: 30px;
		margin-bottom: 40px;
	}
	footer #logo {
		width: 50%;
	}
	footer .mainBox .snsBox a {
		margin-bottom: 10px;
		width: 30px;
	}
	footer .tel {
		font-size: 4.0rem;
	}
	footer .infoBox .linkBox {
		margin-top: 1em;
	}
	footer #footer_nav {
		margin-top: 40px;
		padding-top: 40px;
		position: relative;
	}
	footer #footer_nav .main_nav {
		flex-wrap: wrap;
	}
	footer #footer_nav .main_nav ul:first-child {
		flex: 1;
	}
	footer #footer_nav .main_nav li:not(li:last-child) {
		margin-bottom: 1em;
	}
	footer .copyright {
		position: relative;
		z-index: 1;
	}
}

@media screen and (max-width:580px) {
	footer .innerBox {
		width: 92%;
	}
	footer #logo {
		width: 60%;
	}
	footer .logo a {
		font-size: 3.4vw;
	}
	footer .logo a img {
	}
	footer .tel {
		font-size: 7.5vw;
	}
	footer .infoBox .linkBtn {
		font-size: .9em;
	}
	footer #footer_nav .main_nav ul {
	}
	footer #footer_nav .main_nav ul li {
		margin-bottom: 1.0em;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960px) {
	footer .mainBox {
		align-items: flex-end;
		grid-gap: 40px;
		margin-bottom: 40px;
		width: 50%;
	}
	footer #logo {
		width: 70%;
			max-width: 350px
	}
	footer .mainBox .snsBox a {
		margin-bottom: 15px;
		width: 40px;
	}
	footer .box-inner {
	}
	footer .tel {
		font-size: 4.2rem;
	}
	footer .infoBox .linkBox {
		margin-top: .5em;
	}
	footer .infoBox .linkBtn::before {
		background: #1f1f1f;
	}
	footer #footer_nav .main_nav {
		grid-gap: 5vw;
		justify-content: space-around;
		padding-left: 30px;
	}
	footer #footer_nav .main_nav ul {
	}
	footer #footer_nav .main_nav ul li:not(li:last-child) {
		margin: 0 0 1.0em;
	}
	footer .copyright {
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1280px) {
	footer .innerBox {
		padding-left: 100px;
	}
	footer #footer_nav .main_nav {
		grid-gap: 70px;
		padding-left: 80px;
	}
}

/*====================================================
//// id
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

@media screen and (max-width:580px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1280px) {
}

