
.-x-richtext ul, .-x-richtext ol {
	list-style-position: inside;
}
[data-legal]{
	position:relative;
	--legal-offset-h:attr(data-legal-offset-h px);
	--legal-offset-v:attr(data-legal-offset-v px);
}
[data-legal][data-legal-safe="1"]::after{
	position: absolute;
	opacity: 0.5;
	color: black;
	content: "墨";
	font-size: 16px;
	display: block;
	height: 24px;
	padding-top: 0px;
	background-image: url(/_lib/lc.png);
	background-size: auto 20px;
	background-repeat: no-repeat;
	padding-left: 50px;
	background-position: left top;
}
[data-legal][data-legal-safe="1"]:hover::after {
    position: absolute;
    opacity: 0.5;
    color: black;
    content: attr(data-legal-check-at);
    white-space:nowrap;
    font-size: 11px;
    display: block;
    height: 24px;
    background-image: url(/_lib/lc.png);
    background-size: auto 20px;
    background-repeat: no-repeat;
    padding-top: 15px;
    padding-left: 0px;
    background-position: left top;
}

[data-legal-position="left-top"]::after{
	left:var(--legal-offset-h);
	top:var(--legal-offset-v);
}
[data-legal-position="left-bottom"]::after{
	left:var(--legal-offset-h);
	bottom:var(--legal-offset-v);
}
[data-legal-position="right-top"]::after{
	right:var(--legal-offset-h);
	top:var(--legal-offset-v);
}
[data-legal-position="right-bottom"]::after{
	right:var(--legal-offset-h);
	bottom:var(--legal-offset-v);
}
/*common_css*/
/*widget:755f6aee-86fd-4949-a1be-7d7e896535c8*/
/*widget:e24d6a46-acc4-4005-9bd4-e49000611caf*/
/*widget:19045470-cc7a-4161-8bf5-5aa728343e52*/
/*widget:3cfcd636-35a2-4d22-a363-26f13a5c3ed3*/
/*widget:bac71736-25f9-4be4-955d-13fbb61857e3*/
/*layout:1*/@charset "utf-8";
/* -------------------------------------
01: リセットの追加
02: 変数
03: ベース
-------------------------------------*/

/** ================================================================================
01.リセットの追加
================================================================================ **/
h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	clear: none;
}
/*
mark{
	color: inherit;
}
*/
*{
	color: inherit;
	font-weight: inherit;
	font-style: normal;
}
b,strong,th{
	font-weight: inherit;
}

/** ================================================================================
02.変数
================================================================================ **/
:root {
	--base-width: 1100px;
	--base-bg:#fff;
	--color: #1e1e1e;
	--c-main: #0098ac;
	--c-sub: #95bec8;
	--c-point: #b5d3c5;
	--orange:#f49823;
	--blue:#006373;
	--green:#0f4b42;
	--yellowgreen:#76b234;
	--gray:#6f6f6f;
	--gray_l:#dcdcdc;
	--bg-gray:#f5f6f8;
	--filter:#000;
	--font:"Shippori Mincho", serif;
	--webf: "DM Serif Text", serif;
	--dvf:"Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	--fw-b: 700;
	--border: 1px solid var(--gray_l);
	--dot: 1px dotted var(--gray);
	--opacity:.8;
	--transition: 0.4s;
	--shadow:6px 6px 7px rgba(120,120,120,.4);
}

/** ================================================================================
03.ベース
================================================================================ **/
body {
	min-width: var(--base-width);
	margin: 0 auto;
	font-family:var(--font);
	color: var(--color);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
	word-break: break-all;
	background: var(--base-bg);
	position: relative;
}

@media (max-width: 520px) {
	body{
		min-width: 100%;
	}
}

/* -------------------------------------
セクション
-------------------------------------*/
body:not(#top)>main{
	margin-top: 70px;
}
section,
aside {
	/* width: min(86%, var(--base-width)); */
	margin: 110px auto;
	position: relative;
	z-index: 0;
}
:is(section, aside)[class*="bg"]{
	margin: 0 auto;
	padding: 80px 0;
}

@media (max-width: 520px) {
	body>main{
		/* margin-top: 50px; */
	}
	section ,
	aside {
		margin: 80px auto;
	}
	:is(section, aside)[class*="bg"]{
		padding: 70px 0;
	}

	div:has(#breadcrumb)+section:not([class*="mt"]):not([class*="pt"]):not([class*="bg"]){
		margin-top: 26px;
	}
}


/* -------------------------------------
フォント
-------------------------------------*/
body .fw-b {
	font-weight: var(--fw-b);
}
body .fz18{
	font-size: 18px;
}
body .fz20{
	font-size: 20px;
}
body .fz22{
	font-size: 22px;
}
body .fz24{
	font-size: 24px;
}
body .fz26{
	font-size: 26px;
}
body .fz28{
	font-size: 28px;
}
body .fz30{
	font-size: 30px;
}
body .fz32{
	font-size: 32px;
}
body .fz35{
	font-size: 35px;
}
body .fz40{
	font-size: 40px;
}
body .fz44{
	font-size: 44px;
}
body .fz46{
	font-size: 46px;
}
body .fz50{
	font-size: 50px;
}
body .fz54{
	font-size: 54px;
}
body .fz60{
	font-size: 60px;
}
body .fz70{
	font-size: 70px;
}

@media (max-width: 520px) {
	body .fz18{
		font-size: 16px;
	}
	body .fz20{
		font-size: 16px;
	}
	body .fz22{
		font-size: 16px;
	}
	body .fz24{
		font-size: 18px;
	}
	body .fz26{
		font-size: min(4.7vw, 22px);
	}
	body .fz28{
		font-size: min(4.7vw, 24px);
	}
	body .fz30{
		font-size: min(5vw, 26px);
	}
	body .fz32{
		font-size: min(5.6vw, 28px);
	}
	body .fz35{
		font-size: min(5.6vw, 30px);
	}
	body .fz40{
		font-size: min(6.4vw, 36px);
	}
	body .fz44{
		font-size: min(6.4vw, 36px);
	}
	body .fz46{
		font-size: min(6.4vw, 40px);
	}
	body .fz50{
		font-size: min(6.4vw, 42px);
	}
	body .fz54{
		font-size: min(6.4vw, 42px);
	}
	body .fz60{
		font-size: min(8vw, 40px);
	}
	body .fz70{
		font-size: min(8vw, 48px);
	}
}

/* -------------------------------------
margin
-------------------------------------*/
body .mb0{
	margin-bottom: 0;
}
body .mb5 {
	margin-bottom: 5px;
}
body .mb10 {
	margin-bottom: 10px;
}
body .mb15 {
	margin-bottom: 15px;
}
body .mb20 {
	margin-bottom: 20px;
}
body .mb30 {
	margin-bottom: 30px;
}
body .mb40 {
	margin-bottom: 40px;
}
body .mb50 {
	margin-bottom: 50px;
}
body .mb70 {
	margin-bottom: 70px;
}
body .mb80 {
	margin-bottom: 80px;
}
body .mb100 {
	margin-bottom: 100px;
}
body .mb150 {
	margin-bottom: 150px;
}
body .mt0{
	margin-top: 0px;
}
body .mt5 {
	margin-top:5px;
}
body .mt10 {
	margin-top:10px;
}
body .mt15 {
	margin-top:15px;
}
body .mt20 {
	margin-top:20px;
}
body .mt30 {
	margin-top:30px;
}
body .mt40 {
	margin-top:40px;
}
body .mt50 {
	margin-top:50px;
}
body .mt70 {
	margin-top:70px;
}
body .mt80 {
	margin-top:80px;
}
body .mt100 {
	margin-top:100px;
}
body .mt150 {
	margin-top:150px;
}

@media (max-width: 520px) {
    body .mb20 {
        margin-bottom: 15px;
    }
    body .mb30 {
        margin-bottom: 25px;
    }
	body .mb40 {
		margin-bottom: 30px;
	}
	body .mb50 {
		margin-bottom: 40px;
	}
	body .mb70 {
		margin-bottom: 50px;
	}
	body .mb80 {
		margin-bottom: 60px;
	}
	body .mb100 {
		margin-bottom: 80px;
	}
	body .mb150 {
		margin-bottom: 100px;
	}
    body .mt20 {
        margin-top:15px;
    }
    body .mt30 {
        margin-top:25px;
    }
	body .mt40 {
		margin-top:30px;
	}
	body .mt50 {
		margin-top:40px;
	}
	body .mt70 {
		margin-top:50px;
	}
	body .mt80 {
		margin-top:60px;
	}
	body .mt100 {
		margin-top:80px;
	}
	body .mt150 {
		margin-top:100px;
	}
}

/* -------------------------------------
padding
-------------------------------------*/
body .pb0{
	padding-bottom: 0;
}
body .pb5 {
	padding-bottom: 5px;
}
body .pb10 {
	padding-bottom: 10px;
}
body .pb15 {
	padding-bottom: 15px;
}
body .pb20 {
	padding-bottom: 20px;
}
body .pb30 {
	padding-bottom: 30px;
}
body .pb40 {
	padding-bottom: 40px;
}
body .pb50 {
	padding-bottom: 50px;
}
body .pb70 {
	padding-bottom: 70px;
}
body .pb80 {
	padding-bottom: 80px;
}
body .pb100 {
	padding-bottom: 100px;
}
body .pb150 {
	padding-bottom: 150px;
}
body .pt0{
	padding-top: 0px;
}
body .pt5 {
	padding-top:5px;
}
body .pt10 {
	padding-top:10px;
}
body .pt15 {
	padding-top:15px;
}
body .pt20 {
	padding-top:20px;
}
body .pt30 {
	padding-top:30px;
}
body .pt40 {
	padding-top:40px;
}
body .pt50 {
	padding-top:50px;
}
body .pt70 {
	padding-top:70px;
}
body .pt80 {
	padding-top:80px;
}
body .pt100 {
	padding-top:100px;
}
body .pt150 {
	padding-top:150px;
}

@media (max-width: 520px) {
    body .pb20 {
        padding-bottom: 15px;
    }
    body .pb30 {
        padding-bottom: 25px;
    }
	body .pb40 {
		padding-bottom: 30px;
	}
	body .pb50 {
		padding-bottom: 40px;
	}
	body .pb70 {
		padding-bottom: 50px;
	}
	body .pb80 {
		padding-bottom: 60px;
	}
	body .pb100 {
		padding-bottom: 80px;
	}
	body .pb150 {
		padding-bottom: 100px;
	}
	body .pt20 {
		padding-top:15px;
	}
	body .pt30 {
		padding-top:25px;
	}
	body .pt40 {
		padding-top:30px;
	}
	body .pt50 {
		padding-top:40px;
	}
	body .pt70 {
		padding-top:50px;
	}
	body .pt80 {
		padding-top:60px;
	}
	body .pt100 {
		padding-top:80px;
	}
	body .pt150 {
		padding-top:100px;
	}
}

/* -------------------------------------
幅
-------------------------------------*/
body :is(.w_base, .w100p, .w90p, .w80p){
	width: 100%;
	margin-right: auto;
	margin-left : auto;
}
body .w_base {
	width: min(90%, var(--base-width));
}
body .w90p{
	max-width: 90%;
}
body .w80p{
	max-width: 80%;
}

@media (max-width: 520px) {
	body :is(.w100p_sp .w90p_sp, .w80p_sp, .w70p_sp){
		margin-right: auto;
		margin-left : auto;
	}
	body .w_base {
		width: 88%;
	}
	body .w100p_sp{
		max-width: 100%;
	}
	body .w90p_sp{
		max-width: 90%;
	}
	body .w80p_sp{
		max-width: 80%;
	}
	body .w70p_sp{
		max-width: 70%;
	}

}

/* -------------------------------------
レイアウト
-------------------------------------*/
/* flx */
.flx {
	--gap: 60px;
	display: flex;
	align-items: flex-start;
	gap: var(--gap);
}
.flx>* {
	width: 100%;
	flex: 1;
}
.flx .w30p {
	width: 30%;
	flex: unset;
}
.flx .text {
	flex: 1;
}

@media screen and (max-width: 520px) {
	.flx {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	.flx .w30p {
		width: 100%;
	}
}

/* boxN */
.box2C,
.box3C,
.box4C{
	--gap:30px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}
.box2C {--row:2;}
.box3C {--row:3;}
.box4C {--row:4;}
:is(.box2C, .box3C, .box4C)>*{
	width: calc((100% - var(--gap)*calc(var(--row) - 1)) / var(--row));
}

@media (max-width: 520px) {
	.box2C,
	.box3C,
	.box4C{
		--gap:4%;
		gap:20px var(--gap);
	}
	body .sp1c {--row:1;}
	body .sp2c {--row:2;}
	body .sp3c {--row:3;}
}

/* -------------------------------------
align
-------------------------------------*/
body .t_R {
	text-align: right;
}
body .t_L {
	text-align: left;
}
body .t_C {
	text-align: center;
}

/* -------------------------------------
改行
-------------------------------------*/
.sp{
	display:none;
}
.ib{
	display: inline-block;
}
.d_b{
	display: block;
}

@media (max-width: 520px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.sp-ib{
		display: inline-block;
	}
}

/* -------------------------------------
リンク
-------------------------------------*/
a{
	color:inherit;
	text-decoration:none;
	cursor: pointer;
	transition: var(--transition);
}

/**PC電話ボタン無効**/
a[href^="tel"]{
	pointer-events: none;
}
@media (max-width: 520px) {
	a[href^="tel"]{
		pointer-events: auto;
	}
}

/* -------------------------------------
画像
-------------------------------------*/
img{
	width: 100%;
	height: auto;
	vertical-align: top;
}
figure{
	overflow: hidden;
}

/**角丸：画像に直接かけれる**/
.radius{
	border-radius: var(--radius);
}

/**hover：透過**/
a:hover .hv{
	opacity: var(--opacity);
}

/**hover：拡大**/
.scale {
	overflow: hidden;
}
.scale img {
	transition: 0.3s linear;
}
:is(a:hover .scale, a.scale:hover) img {
	scale: 1.1;
}

/* objedt-fit*/
.ojf img {
	width: 100%; /*サイズ指定必須*/
	height: 100%; /*サイズ指定必須*/
	object-fit: cover;
}

/* -------------------------------------
文字
-------------------------------------*/
h1,h2,h3,h4,h5{
	line-height: 1.6;
}
.webf{
	font-family: var(--webf);
	font-weight: 400;
}
.strong{
	font-weight: var(--fw-b);
	line-height: 1.6;
}

/**黄色マーカー**/
mark{
	background: linear-gradient(transparent 70%, #ffff77 0%);
}

/* -------------------------------------
色
-------------------------------------*/
body .white{
	color: #fff;
}
body .gray{
	color: var(--gray);
}
body .green{
	color: var(--c-main);
}
body .red{
	color: var(--red);
}
body .ylw{
	color: var(--ylw);
}

/* -------------------------------------
背景
-------------------------------------*/
.bg-ptn{
	background: url(/common/images/bg-ptn.webp) repeat center / 100% auto;
}
.bg-ptn_green{
	background: url(/common/images/bg-ptn_green.webp) repeat center / 100% auto;
}
.bg-mc{
	background: var(--c-main);
}
.bg-gray{
	background: var(--bg-gray);
}

/* bg-photo */
.bg-photo,
[class*="bg-photo_"]{
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
}
:is(.bg-photo, [class*="bg-photo_"])::before{
	content: "";
	display: block;
	width:100%;
	height: 100%;
	opacity: .6;
	position: absolute;
	left: 0;
	top: 0;
}
.bg-photo::before{
	background: var(--filter);
}
.bg-photo_white::before{
	background: #fff;
	opacity: .85;
}
.bg-photo_blue::before{
	background: var(--blue);
}
.bg-photo_green::before{
	background: var(--green);
}
:is(.bg-photo, [class*="bg-photo_"]) >*{
	position: relative;
}

/**-------------------------------------
地図 動画 iframe
-------------------------------------**/
.gmap{
	height: 580px;
}
.youtube{
	width: 100%;
	aspect-ratio: 16 / 9;
}
:is(.gmap ,.youtube) iframe{
	width: 100%;
	height: 100%;
}
.yt-short{
	text-align: center;
	filter: grayscale(1);
}

@media (max-width: 480px) {
	.gmap {
		height: 32vh;
	}
}

/* -------------------------------------
table
-------------------------------------*/
/* tbl-sp_row */
.tbl-sp_row table,
table.tbl-sp_row{
	width: 100%;
	border-top: var(--border);
}
.tbl-sp_row tr{
	border-bottom: var(--border);
}
.tbl-sp_row :is(th, td){
	padding:22px 14px;
	vertical-align: top;
	text-align: left;
}
.tbl-sp_row th{
	width: 25%;
	font-weight: normal;
	background: var(--bg-gray);
}

/* mini */
.tbl-sp_row.mini :is(th, td){
	padding:12px 14px;
	font-size: 15px;
}

@media (max-width: 520px) {
	.tbl-sp_row :is(th, td){
		padding: 14px 10px;
		font-size: 0.9em;
	}
	.tbl-sp_row th{
		width: 30%;
	}

	/* mini */
	.tbl-sp_row.mini :is(th, td){
		padding:12px 6px;
		font-size: 14px;
	}
	.tbl-sp_row.mini th{
		font-size: 13px;
	}
}

/* tbl-sp_col･･･sp th=w:100% */
.tbl-sp_col table,
table.tbl-sp_col{
	width: 100%;
	background: #fff;
	border-top: var(--border);
}
.tbl-sp_col tr{
	border-bottom: var(--border);
}
.tbl-sp_col :is(th, td){
	padding:24px 20px;
	vertical-align: middle;
	text-align: left;
}
.tbl-sp_col th{
	width: 25%;
	vertical-align: top;
	background: var(--bg-gray);
}

@media (max-width: 520px) {
	.tbl-sp_col table,
	table.tbl-sp_col{
		border-top: none;
	}
	.tbl-sp_col tr{
		border-bottom: none;
	}
	.tbl-sp_col :is(th, td){
		display: block;
		width: 100%;
		font-size: 15px;
	}
	.tbl-sp_col th{
		padding: 14px 10px;
	}
	.tbl-sp_col td{
		padding: 16px 14px 28px;
	}
}

/* tbl-bicolor･･･bg:2色てれこ */
.tbl-bicolor table,
table.tbl-bicolor{
	width: 100%;
	border-top: var(--border);
}
.tbl-bicolor tr{
	border-bottom: var(--border);
}
.tbl-bicolor tr:nth-of-type(odd){
	background: plum;
}
.tbl-bicolor tr:nth-of-type(even){
	background: skyblue;
}
.tbl-bicolor :is(th, td){
	padding: 20px 16px;
	vertical-align: top;
	text-align: left;
}
.tbl-bicolor th{
	width: 25%;
	font-weight: var(--fw-b);
}

@media (max-width: 520px) {
	.tbl-bicolor :is(th, td){
		padding: 8px 10px;
		font-size: 14px;
	}
	.tbl-bicolor th{
		min-width: 6em;
		font-size: 13px;
	}
}


/* -------------------------------------
タイトル
-------------------------------------*/
/* page-tit */
.page-tit{
	width: 100%;
	height: 450px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.page-tit::before{
	opacity: .5;
}
.page-tit>*{
	color: #fff;
	text-align: center;
	position: relative;
}
.page-tit h1{
	font-size: 50px;
	font-weight: var(--fw-b);
}

@media (max-width: 520px) {
	.page-tit{
		height: 180px;
	}
	.page-tit span{
		font-size: 0.7rem;
	}
	.page-tit h1{
		font-size: min(5.2vw, 27px);
	}
}

/* tit */
.tit{
	display: block;
	margin-bottom: 10px;
	font-size: 50px;
	font-weight: var(--fw-b);
	line-height: 1.6;
}
.tit span{
	display: block;
	margin-bottom: 5px;
	font-size: 0.5em;
}
/* 配置 */
.tit.t_C{
	text-align: center;
}
[class^="en_"] +.tit{
	margin-top: -60px;
	position: relative;
	z-index: 6;
}
[class^="en_"].mini +.tit{
	margin-top: -40px;
}

/* en */
[class*="en_"]{
	margin-bottom: -0.15em;
	padding: 0 3%;
	font-family: var(--webf);
	font-weight: 400;
	font-size: 130px;
	line-height: 1.0;
	position: relative;
	z-index: 5;
}
/* 色 */
.en_green{
	color: var(--c-point);
}
.en_blue{
	color: var(--c-sub);
}
.en_gray{
	color: var(--gray);
}
.en_gray_l{
	color: var(--gray_l);
}
/* 配置 */
[class*="en_"].t_C{
	text-align: center;
}
[class*="en_"].t_R{
	text-align: right;
}
/* サイズ */
[class*="en_"].mini{
	font-size: 100px;
}

/* tit-underline. */
[class*="tit-underline"]{
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-bottom: 60px;
	font-size: 40px;
	font-weight: var(--fw-b);
}
[class*="tit-underline"]::after{
	content: "";
	--width:90px;
	display: block;
	width: 100%;
	height: 1px;
	background: var(--gray_l);
	background: linear-gradient(90deg, var(--c-main) var(--width), var(--gray_l) var(--width));
}
/* サイズ. */
.tit-underline_s{
	margin-bottom: 30px;
	font-size: 28px;
}
.tit-underline_s::after{
	background: var(--gray_l);
}

/* tit-bdr_l. */
.tit-bdr_l{
	padding: 0 0 2px 0.6em;
	line-height: 1.3;
	border-left: 3px solid var(--c-main);
}

/* tit-wrap */
.tit-wrap{
	display: flex;
	gap:10%;
}

@media (max-width: 520px) {
	/* tit */
	.tit{
		font-size: min(4.3vw, 20px);
		font-size: min(6.4vw, 42px);
	}
	[class^="en_"] +.tit{
		margin-top: -35px;
	}
	[class^="en_"].mini +.tit{
		margin-top: -30px;
	}

	/* en */
	[class*="en_"]{
		margin-bottom: -0.15em;
		padding: 0 3%;
		font-size: min(15vw, 68px);
	}
	/* サイズ */
	[class*="en_"].mini{
		font-size: min(15vw, 68px);
	}

	/* tit-underline. */
	[class*="tit-underline"]{
		gap:6px;
		margin-bottom: 25px;
		font-size: min(5vw, 26px);
	}
	[class*="tit-underline"] span{
		margin-left: 5px;
		font-size: 13px;
	}

	/* tit-wrap */
	.tit-wrap{
		flex-direction: column;
		gap:20px;
	}
}



/**-------------------------------------
i.arrow
-------------------------------------**/
i.arrow{
	--arrow-color:var(--color);
	display: block;
	width: 60px;
	flex-shrink: 0;
	border-bottom: 1px solid var(--arrow-color);
	position: relative;
	transition: var(--transition);
}
i.arrow::before{
	--size:8px;
	content: "";
	display: block;
	width: var(--size);
	height: var(--size);
	position: absolute;
	right: -1px;
	bottom: -1px;
	background: pink;
	background: linear-gradient(45deg,transparent 0%,transparent 44%,var(--arrow-color) 44%,var(--arrow-color) 60%,transparent 60%,transparent 100%);
}
a:hover i.arrow{
	translate: 7px;
	transform-origin: right top;
}

@media (max-width: 520px) {
	i.arrow{
		width: 40px;
	}
}

/**-------------------------------------
btn
-------------------------------------**/
.btn,
[class^="btn_"]{
	--height:60px;
	width: min(350px,100%);
	display: flex;
	align-items: center;
	gap:0.5em;
	height: var(--height);
	margin-top: 40px;
	padding: 0 1em 0 1.7em;
	border: 1px solid var(--c-main);
	transform: skewX(-15deg);
	transition: var(--transition);
}
:is(.btn,[class^="btn_"]) span{
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	height: var(--height);
	font-size: 16px;
	line-height: 1.5;
	font-weight: var(--fw-b);
	transform: skewX(15deg);
	transition: var(--transition);
}
:is(.btn,[class^="btn_"])::after{
	content: "→";
	font-size: 1.1em;
	transition: var(--transition);
}
:is(.btn,[class^="btn_"]):hover::after{
	translate: 6px;
}

/* 色分け */
.btn{
	color: #fff;
	background: var(--c-main);
}.btn:hover{
	background: var(--blue);
	border-color: var(--blue);
}
.btn_clear{
	color: #fff;
	border-color: #fff;
}.btn_clear:hover{
	background: rgba(255,255,255,.2);
}
/* 配置 */
:is(.btn,[class^="btn_"]).t_C{
	margin-left: auto;
	margin-right: auto;
	translate: -10px;
}
:is(.btn,[class^="btn_"]).t_R{
	margin-left: auto;
}

/* btn-wrap */
.btn-wrap{
	display: flex;
	justify-content: center;
	gap: 50px;
}
.btn-wrap :is(.btn,[class^="btn_"]){
	margin: 0;
}

@media (max-width: 520px) {
	.btn,
	[class^="btn_"]{
		--height:68px;
		width: 80%;
		margin: 45px auto 0;
		font-size: 14px;
	}
	:is(.btn,[class^="btn_"]) i.arrow{
		margin-left: -1.1em;
	}
	:is(.btn,[class^="btn_"]).t_C{
		translate: 0;
	}

	/* btn-wrap */
	.btn-wrap{
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
}

/**-------------------------------------
pdf
-------------------------------------**/
.pdf{
	width: fit-content;
	display: flex;
	align-items: center;
	gap:0.8em;
	margin-top: 45px;
	padding: 10px 40px;
	font-size: 16px;
	line-height: 1.5;
	background: #fff;
	background: var(--bg-gray);
	transition: 0s all;
}.pdf:hover{
	color: var(--c-main);
}
.pdf span{
	padding: 5px 0;
	font-weight: var(--fw-b);
	transition: var(--transition);
}
.pdf::after{
	content: "picture_as_pdf";
	font-family: 'Material Icons Sharp';
	font-size: 1.8em;
	color: var(--c-sub);
}
.pdf:hover span{
	border-bottom: none;
}

@media (max-width: 520px) {
	.pdf{
		margin-top: 30px;
		padding: 12px 30px;
		font-size: 15px;
	}
	.pdf::after{
		font-size: 1.8em;
	}
}


/**-------------------------------------
more
-------------------------------------**/
/* .more,
[class^="more_"]{
	width: fit-content;
	display: flex;
	align-items: center;
	gap:0.8em;
	margin-top: 45px;
	line-height: 1.5;
	position: relative;
}
:is(.more,[class^="more_"]) span{
	padding: 5px 0;
	font-weight: var(--fw-b);
	border-bottom: 1px solid var(--color);
	transition: var(--transition);
}
:is(.more,[class^="more_"]):hover span{
	border-bottom: none;
} */

/* 色分け */
/* .more_white{
	color: #fff;
}
.more_white span{
	border-bottom-color: #fff;
}
.more_white i.arrow{
	--arrow-color:#fff;
} */

/* 配置 */
/* :is(.more,[class^="more_"]).t_C{
	margin-left: auto;
	margin-right: auto;
}
:is(.more,[class^="more_"]).t_R{
	margin-left: auto;
} */

@media (max-width: 520px) {
	/* .more,
	[class^="more_"]{
		font-size: 14px;
	} */
}

/* -------------------------------------
t_blank
-------------------------------------*/
.t_blank{
	width: fit-content;
    display: flex;
    align-items: center;
    gap: 0.7em;
	margin-top: 30px;
	padding: 0 0 10px ;
	font-weight: var(--fw-b);
}
.t_blank::after{
	content: "open_in_new";
	font-family: 'Material Icons';
	font-weight: normal;
}
.t_blank span{
    text-decoration: underline;
}
.t_blank:hover span{
    text-decoration: none;
}
.t_blank i.arrow{
	display: none;
}

/* -------------------------------------
anc-btn
-------------------------------------*/
/* .anc-btn{
	--gap:30px;
	display: flex;
	justify-content: center;
	gap:var(--gap);
}
.anc-btn a{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 5px;
	font-weight: var(--fw-b);
	line-height: 1;
	transition: var(--transition);
}.anc-btn a:hover span{
	text-decoration: underline;
}
.anc-btn a::after{
	content: "expand_circle_down";
	font-family: 'Material Icons';
	font-size: 1.2em;
} */

@media screen and (max-width: 520px) {
	/* .anc-btn{
		--gap:10px;
		justify-content: flex-start;
		flex-flow: wrap;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	} */
}

/* -------------------------------------
mail-btn
-------------------------------------*/
.mail-btn:not(.btn){
	--height:70px;
	display: block;
	width: 320px;
	height: var(--height);
	padding: 0 1em 0 1.5em;
	background: var(--c-main);
	transform: skewX(-15deg);
	transition: var(--transition);
}.mail-btn:not(.btn):hover{
	background: var(--blue);
}
.mail-btn span{
	font-size: 20px;
}
.mail-btn:not(.btn) span{
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	height: var(--height);
	font-size: 18px;
	color: #fff;
	font-weight: var(--fw-b);
	line-height: 1.5;
	font-weight: var(--fw-b);
	transform: skewX(15deg);
	transition: var(--transition);
}
.mail-btn i.svg-mail{
	display: grid;
	place-content: center;
	margin: 6px 0.7em 0 0;
}
.mail-btn i.svg-mail svg{
	width: 22px;
	fill: #fff;
}

@media (max-width: 520px) {
	.mail-btn{
		width: 80%;
	}
}

/* -------------------------------------
rental-btn
-------------------------------------*/
.rental-btn{
	background: var(--orange);
	border-color: var(--orange);
}.rental-btn:hover{
	background: var(--yellowgreen);
	border-color: var(--yellowgreen);
}
.rental-btn i.svg-rental{
	display: grid;
	place-content: center;
}
.rental-btn i.svg-rental svg{
	width: 37px;
	margin-right: 12px;
	fill: #fff;
}

/* -------------------------------------
tel
-------------------------------------*/
.tel-btn span{
	justify-content: center;
	font-size: 24px;
	line-height: 1.0;
}
.tel-btn i.svg-tel{
	display: grid;
	place-content: center;
	margin: 6px 0.4em 0 0;
}
.tel-btn i.svg-tel svg{
	width: 17px;
}
.tel-btn.btn_clear i.svg-tel svg{
	fill: #fff;
}
.tel-btn::after{
	display: none;
}

@media (max-width: 520px) {
	.tel-btn span{
		font-size: 18px;
	}
	.tel-btn i.svg-tel{
		margin: 6px 0.5em 0 0;
	}
	.tel-btn i.svg-tel svg{
		width: 14px;
	}
}

/* -------------------------------------
svgアイコン
-------------------------------------*/
svg{
	vertical-align: top;
}
i.svg-tel svg{
	aspect-ratio: 31/41;
}
i.svg-mail svg{
	aspect-ratio: 18/14;
}
i.svg-instagram svg{
	aspect-ratio: 1/1;
}
i.svg-x svg{
	aspect-ratio: 1/1;
}


/* -------------------------------------
ブロック
-------------------------------------*/
.content-box{
	padding: 60px;
	background: #fff;
}

@media (max-width: 520px) {
	.content-box{
		margin-left: -2%;
		margin-right: -2%;
		padding: 30px;
	}
}

/* -------------------------------------
time
-------------------------------------*/
time{
	font-size: 14px;
    color: var(--gary);
}

@media (max-width: 520px) {
	time{
		font-size: 13px;
	}
}

/**-------------------------------------
lead
-------------------------------------**/
.lead {
	width: min(95%, 980px);
	margin: 24px auto 60px;
	text-align: center;
}
.lead_l {
	width: min(95%, 1000px);
	line-height: 1.9;
}
:is(.lead,.lead_l) strong.strong{
	display: block;
	margin-bottom: 15px;
	font-size: 28px;
}

@media (max-width: 520px) {
	.lead {
		width: 80%;
		margin-bottom: 36px;
	}
	.lead_l {
		margin-left: auto;
		margin-right: auto;
	}
	:is(.lead,.lead_l) strong.strong{
		font-size: min(5vw, 24px);
	}
}

/**-------------------------------------
count  自動連番
-------------------------------------**/
.count li{
	counter-increment: num 1;
}
.count li::before{
	content: counter(num, decimal-leading-zero) "."; /* 10未満は頭に0がつく */
}/*layout:2*/@charset "utf-8";
/** ==============================================
01.共通
============================================== **/
.ml5p{
	margin-left: 5%;
}
.mr5p{
	margin-right: 5%;
}

@media (max-width: 520px) {
	.ml5p{
		margin-left: auto;
	}
	.mr5p{
		margin-right: auto;
	}
}

/* -------------------------------------
news-list
-------------------------------------*/
.news-list li a{
	display: grid;
	grid-template-columns: 1fr;
}
.news-list li a p{
	margin-top: 10px;
	font-size: 1.1em;
}

/* -------------------------------------
content-on-photo
-------------------------------------*/
.content-on-photo{
	background: none;
	position: relative;
}
.content-on-photo figure{
	width: 100%;
	height: 620px;
}
.content-on-photo .text{
	width: max(40%,500px);
	height: 100%;
	padding: 20px 6%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
	background: rgba(0,0,0,.5);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	position: absolute;
	right: 0;
	top: 0;
}
/* てれこ */
.content-on-photo-wrap .content-on-photo:nth-child(even) .text{
	right: auto;
	left: 0;
}

@media (max-width: 520px) {
	.content-on-photo{
		width: 100%;
		margin-bottom: 34px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}
	.content-on-photo:last-child{
		margin-bottom: 0;
	}
	.content-on-photo figure{
		height: 45vh;
	}
	.content-on-photo .text{
		width: 100%;
		height: auto;
		padding: 30px 8% 10px;
		color: var(--color);
		background: none;
		position: static;
	}
	.content-on-photo .text .btn_clear{
		border-color: var(--c-main);
		background: var(--c-main);
	}
	/* てれこ */
	.content-on-photo-wrap .content-on-photo:nth-child(even) {
		margin-left: auto;
	}
	.content-on-photo-wrap .content-on-photo:nth-child(even) .text{
		right: auto;
		left: 0;
	}
}

/* -------------------------------------
bg-photo-content
-------------------------------------*/
.bg-photo-content{
	width: 100%;
	height: 500px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px 10%;
	color: #fff;
	text-align: center;
}

@media (max-width: 520px) {
	.bg-photo-content{
		height: auto;
		min-height: 500px;
		padding: 20px 7%;
	}
}

/* -------------------------------------
mixup-list
-------------------------------------*/
.mixup-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 90px;
}
.mixup-list li{
	display: flex;
	align-items: center;
	gap:5%;
}
.mixup-list figure{
	width: 48.5%;
	aspect-ratio: 3/2;
}
.mixup-list .text{
	width: 35%;
}
/* てれこ */
.mixup-list li:nth-child(even){
	flex-direction: row-reverse;
}

@media (max-width: 520px) {
	.mixup-list {
		gap: 85px;
	}
	.mixup-list li{
		flex-direction: column;
		gap: 35px;
	}
	.mixup-list figure{
		width: 100%;
		aspect-ratio: 4/3;
	}
	.mixup-list .text{
		width: 80%;
	}
	/* てれこ */
	.mixup-list li:nth-child(even){
		flex-direction: column;
	}
}

/* -------------------------------------
step-list
-------------------------------------*/
.step-list{
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}
.step-list li{
	counter-increment: num 1;
	display: grid;
	grid-template-columns: 40% auto;
	align-items: center;
	gap:5%;
	padding: 30px;
	background: var(--bg-gray);
}
.step-list li .text .tit{
	display: flex;
	align-items: center;
	gap:0.5em;
}
.step-list li .text .tit::before{
	content: counter(num, decimal-leading-zero) "."; /* 10未満は頭に0がつく */
	color: var(--c-main);
	font-size: 1.7em;
	flex-shrink: 0;
}

@media (max-width: 520px) {
	.step-list li{
		grid-template-columns: 1fr;
		gap:20px;
		padding: 24px;
	}
	.step-list li figure {
		order: 2;
	}
	.step-list li .text {
		order: 1;
	}
	.step-list li .text .tit{
		flex-direction: column;
		text-align: left;
	}
	.step-list li .text .tit::before{
		font-size: 1.7em;
	}
}

/* -------------------------------------
item-list
-------------------------------------*/
.item-list{
	display: grid;
	grid-template-columns: 1fr;
	gap: 70px;
}
.item-list li{
	display: grid;
	grid-template-columns: auto 58%;
	gap:5%;
}
.item-list li .item-dl+.item-dl{
	margin-top: 22px;
}
.item-list li .item-dl dt{
	margin-bottom: 10px;
	font-weight: var(--fw-b);
}
.item-list li .item-dl dd{
	margin-left: 0.2em;
}

@media (max-width: 520px) {
	.item-list{
		gap: 70px;
	}
	.item-list li{
		grid-template-columns: 1fr;
		align-items: start;
		gap:20px;
	}
	.item-list li .text{
		order: 2;
	}
	.item-list li .item-dl+.item-dl{
		margin-top: 18px;
	}
	.item-list li .item-dl dt{
		margin-bottom: 8px;
	}
	.item-list li figure{
		order: 1;
		aspect-ratio: 3/2;
	}
}

/* -------------------------------------
無限スライド
-------------------------------------**/
/* infinite-slide */
.infinite-slide li img {
	width: 28vw;
}

@media (max-width: 520px) {
	.infinite-slide li img {
		width: min(65vw,280px);
	}
}

/* -------------------------------------
矢印 / ページネーション
-------------------------------------*/
.options-customize{
	--height:50px;
	width: 210px;
	margin: 50px 5% 0 auto;
	height: var(--height);
	position: relative;
}
/* 矢印 */
.splide__arrows.base-customize .splide__arrow{
	--size:var(--height);
	width: var(--size);
	height: var(--size);
	background: none;
	border: var(--border);
	opacity: 1;
}
.splide__arrows.base-customize .splide__arrow.splide__arrow--prev{
	left:0;
}
.splide__arrows.base-customize .splide__arrow.splide__arrow--next{
	right:0;
}
.splide__arrows.base-customize .splide__arrow svg {
	--size:16px;
	width: var(--size);
	height: var(--size);
	fill: var(--color);
}
.splide__arrows.base-customize .splide__arrow.splide__arrow--prev:hover,
.splide__arrows.base-customize .splide__arrow.splide__arrow--next:hover{
	background: rgba(255,255,255,.4);
}
/* 数字 */
.pagination-number {
	height: var(--height);
	display: flex;
	justify-content: center;
	align-items: center;
	gap:10px;
	text-align: center;
}
  /* 数字の色やサイズ調整 */
.pagination-number span {
	font-family: var(--webf);
	font-size: 20px;
}

@media (max-width: 520px) {
	.options-customize{
		--height:30px;
		width: 140px;
		margin: 40px auto 0;
	}
	.splide__arrows.base-customize .splide__arrow svg {
		--size:15px;
	}
	/* 数字 */
	.pagination-number span {
		font-size: 16px;
	}
}



/* -------------------------------------
maru-bf
-------------------------------------*/
.maru-bf li{
    padding-left: 1.2em;
    text-indent: -1.2em;
}
.maru-bf li+li{
	margin-top: 2px;
}
.maru-bf li::before{
    content: "●";
    margin-right: 0.2em;
	color: var(--c-sub);
}


/* -------------------------------------
スクロールバー
-------------------------------------*/
.scroll-x{
	padding: 1px 0 10px;
	overflow: auto;
}
.scroll-x .simplebar-track.simplebar-horizontal {
	--height:5px;
	height: var(--height);
	background: var(--bg-gray);
	margin: 0 auto;
}
.scroll-x .simplebar-scrollbar {
	height: var(--height);
	background: var(--c-sub);
	border-radius: 5px;
	top: 0;
}
.scroll-x .simplebar-scrollbar:before{
	display: none;
}

/* -------------------------------------
page-head-slide
-------------------------------------*/
.page-head-slide{
	position: relative;
}
.page-head-slide::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--filter);
	position: absolute;
	left: 0;
	top: 0;
	opacity: .5;
	z-index: 2;
}
.page-head-slide img{
	width: 100%;
	aspect-ratio: 5/2;
	object-fit: cover;
}
/* スライドなし */
.page-head-slide.no-slide img{
	/* aspect-ratio: 10/3; */
}

/*  アニメーション */
.page-head-slide li.is-prev img,
.page-head-slide li.is-active img{
	animation: zoomUp 7s linear 0s normal both;
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.1);
	}
}

@media (max-width: 520px) {
	.page-head-slide img{
		aspect-ratio: 5/3;
	}
}


/* -------------------------------------
add-photo1
-------------------------------------*/
.add-photo1{
	width: 100%;
	margin-top: 80px;
}
.add-photo1 img{
	width: 100%;
	aspect-ratio: 2/1;
	object-fit: cover;
}

@media (max-width: 520px) {
	.add-photo1{
		margin-top: 50px;
	}
	.add-photo1 img{
		aspect-ratio: 3/2;
	}
}

/* -------------------------------------
add-photo2
-------------------------------------*/
.add-photo2{
	--row:2;
	--gap:15px;
	width: 100%;
	display: flex;
	gap:var(--gap);
	margin-top: 80px;
}
.add-photo2 img{
	width: 540px;
	align-self: flex-start;
}

@media (max-width: 520px) {
	.add-photo2{
		--gap:2%;
		margin-top: 50px;
	}
	.add-photo2 img{
		width: calc((100% - var(--gap)*calc(var(--row) - 1)) / var(--row));
	}
}

/* -------------------------------------
mixup-overlap-list
-------------------------------------*/
ul.mixup-overlap-list {
	display: flex;
	flex-direction: column;
	gap: 80px;
}
ul.mixup-overlap-list li {
	--overlap: -10%;
	display: flex;
	justify-content: center;
	align-items: center;
}
ul.mixup-overlap-list li figure {
	width: 60%;
	box-shadow: var(--shadow);
}
ul.mixup-overlap-list li figure img {
	width: 100%;
}
ul.mixup-overlap-list li .text {
	width: 50%;
	margin-left: var(--overlap);
	padding: 50px 40px;
	background: var(--bg-gray);
	z-index: 0;
}
ul.mixup-overlap-list li .text .tit{
	text-align: center;
}

/* てれこ */
ul.mixup-overlap-list li:nth-child(even) {
	flex-flow: row-reverse;
}
ul.mixup-overlap-list li:nth-child(even) .text {
	margin-left: 0;
	margin-right: var(--overlap);
}

/* not-over */
ul.mixup-overlap-list.not-over li {
	align-items: flex-start;
	gap:8%;
}
ul.mixup-overlap-list.not-over li figure {
	width: 54%;
}
ul.mixup-overlap-list.not-over li .text {
	flex: 1;
	width: auto;
	margin:30px 0 0;
	padding: 0;
	background: none;
}
ul.mixup-overlap-list.not-over li .text .tit{
	text-align: left;
}

@media (max-width: 520px) {
	/* mixup-overlap-list */
	ul.mixup-overlap-list {
		gap: 70px;
	}
	ul.mixup-overlap-list li {
		--overlap: -60px;
		flex-direction: column;
		align-items: flex-end;
	}

	ul.mixup-overlap-list li figure {
		width: 100%;
	}
	ul.mixup-overlap-list li .text{
		width: 86%;
		margin: var(--overlap) -7% 0 0;
		padding: 22px 26px 34px;
	}
	ul.mixup-overlap-list li .text .tit{
		text-align: left;
	}
	/* てれこ */
	ul.mixup-overlap-list li:nth-child(even) {
		flex-direction: column;
		align-items: flex-start;
	}
	ul.mixup-overlap-list li:nth-child(even) .text {
		margin-left: -7%;
		margin-right: 0;
	}

	/* not-over */
	ul.mixup-overlap-list.not-over li {
		align-items: flex-start;
		gap:8%;
	}
	ul.mixup-overlap-list.not-over li figure {
		width: 100%;
	}
	ul.mixup-overlap-list.not-over li .text {
		margin:30px 0 0;
	}
}

/* -------------------------------------
mixup-100vw-list
-------------------------------------*/
ul.mixup-100vw-list {
	display: flex;
	flex-direction: column;
	gap: 80px;
}
ul.mixup-100vw-list li {
	display: flex;
	align-items: center;
	flex-flow: wrap;
	gap:6%;
}
ul.mixup-100vw-list li figure {
	width:  min(56%, 1000px);
}
ul.mixup-100vw-list li figure img {
	width: 100%;
}
ul.mixup-100vw-list li .text {
	flex: 1;
	margin-right: 10%;
}
ul.mixup-100vw-list li .text .tit{
	margin-bottom: 20px;
}
/* てれこ */
ul.mixup-100vw-list li:nth-child(even) {
	flex-direction: row-reverse;
}
ul.mixup-100vw-list li:nth-child(even) .text {
	margin-right: 0;
	margin-left: 10%;
}
/* 画像追加 */
ul.mixup-100vw-list li .add-photo1{
	width: 65%;
	margin: 60px auto 80px 4%;
}
ul.mixup-100vw-list li .add-photo2 + .add-photo1{
	margin-top: -40px;
}
ul.mixup-100vw-list li .add-photo2{
	justify-content: flex-end;
	margin: 60px 10% 80px 0;
}
ul.mixup-100vw-list li:nth-child(even) .add-photo1{
	margin: 60px 4% 80px auto;
}
ul.mixup-100vw-list li:nth-child(even) .add-photo2{
	justify-content: flex-start;
	margin: 60px 0 80px 10%;
}
/* align-items */
ul.mixup-100vw-list.start li {
	align-items: flex-start;
}
ul.mixup-100vw-list.end li {
	align-items: flex-end;
}

@media (max-width: 520px) {
	ul.mixup-100vw-list {
		gap: 75px;
	}
	ul.mixup-100vw-list li {
		flex-direction: column;
		align-items: flex-start;
		gap:20px;
	}
	ul.mixup-100vw-list li figure {
		width:  95%;
	}
	ul.mixup-100vw-list li figure img {
		width: 100%;
		aspect-ratio: 3/2;
		object-fit: cover;
	}
	ul.mixup-100vw-list li .text {
		width: 75%;
		margin: 0 auto;
	}
	ul.mixup-100vw-list li .text .tit{
		margin-bottom: 16px;
	}
	ul.mixup-100vw-list li .text .btn{
		margin-right: -6%;
	}
	/* てれこ */
	ul.mixup-100vw-list li:nth-child(even) {
		flex-direction: column;
	}
	ul.mixup-100vw-list li:nth-child(even) figure {
		margin-left: auto;
	}
	ul.mixup-100vw-list li:nth-child(even) .text{
		margin-left: auto;
		margin-right: auto;
	}
	/* 画像追加 */
	ul.mixup-100vw-list li .add-photo1{
		width: 70%;
		margin: 30px auto 20px 1%;
	}
	ul.mixup-100vw-list li .add-photo2 + .add-photo1{
		margin-top: -14px;
	}
	ul.mixup-100vw-list li:nth-child(even) .add-photo1{
		margin: 30px 1% 20px auto;
	}
	ul.mixup-100vw-list li .add-photo2{
		width: 86%;
		justify-content: flex-end;
		margin: 20px 1% 15px auto;
	}
	ul.mixup-100vw-list li:nth-child(even) .add-photo2{
		margin: 20px auto 15px 1%;
	}
	/* align-items */
	ul.mixup-100vw-list.end li {
		align-items: flex-start;
	}
}

/*  -------------------------------------
border-list
-------------------------------------*/
.border-list{
	display: grid;
	grid-template-columns: 1fr;
	gap: 15px;
}
.border-list li{
	display: grid;
	grid-template-columns: 300px 1fr;
	align-items: center;
	gap:5%;
	padding: 20px;
	border: 2px solid #fff;
}

@media (max-width: 520px) {
	.border-list{
		gap: 15px;
	}
	.border-list li{
		grid-template-columns: 100px 1fr;
		align-items: flex-start;
		gap:20px;
		padding: 16px;
	}
}

/*  -------------------------------------
obi-list
-------------------------------------*/
.obi-list li figure{
	margin-bottom: 10px;
}
.obi-list li .text{
	display: grid;
	grid-template-columns: 1fr;
	gap:10px;
}
.obi-list li .list-obi{
	padding: 10px;
	font-size: 16px;
	color: #fff;
	font-weight: var(--fw-b);
	line-height: 1.2;
	background: var(--color);
}
.obi-list li .list-title{
	font-size: 18px;
	font-weight: var(--fw-b);
}
.obi-list li .list-title span{
	display: inline-block;
	margin-left: 10px;
	font-size: 0.8em;
}
.obi-list li .list-title span::before{
	content: "/";
	padding-right: 5px;
}

@media (max-width: 520px) {
	.obi-list li .text{
		gap:6px;
	}
	.obi-list li .list-obi{
		margin-bottom: 4px;
		font-size: 15px;
	}
	.obi-list li .list-title{
		font-size: 16px;
	}
}



/** ==============================================
02.テンプレート
============================================== **/
/* -------------------------------------
header
-------------------------------------*/
header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0 2% 0 4%;
	background: #fff;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
}
header .h-logo {
	width: 160px;
	margin-top: 10px;
	z-index: 1500;
}
/*  nav */
header nav {
	margin-left: auto;
	z-index: 1499;
}
header nav .gnav {
	display: flex;
	align-items: center;
}
header nav .gnav li:not(.has-second) a,
header nav .gnav li a.sp,
header nav .gnav li.has-second span{
	--hover:var(--c-main);
	padding: 4px 1.4em;
	font-weight: var(--fw-b);
}header nav .gnav li:not(.has-second) a:hover,
header nav .gnav li a.sp:hover,
header nav .gnav li.has-second span:hover{
	color: var(--hover);
}
header nav .gnav li.h-cv a.mail-btn{
	width: 190px;
	margin-left: 1em;
	padding: 0 1em 0 1.5em;
}

/* has-second */
header .gnav .has-second span{
	display: flex;
	align-items: center;
	gap:0.5em;
}
header .gnav .has-second span::after{
	content: "expand_more";
	font-family: 'Material Icons Sharp';
	transition: var(--transition);
}
header .gnav .has-second .second-wrapper{
	visibility: hidden;
	opacity: 0;
	transition: var(--transition);
	width: 100vw;
	padding: 50px 0;
	/* background: rgba(0,0,0,.6);
	backdrop-filter: brightness(200%); */
	background: #fff;
	position: absolute;
	left: 0;
	top: 60px;
}
header .gnav .has-second:hover .second-wrapper{
	top: 70px;
	visibility: visible;
	opacity: 1;
	box-shadow: 0 10px 20px rgba(0,0,0,.1);
}
header .gnav .has-second:hover span::after{
	rotate: -180deg;
}

/* second-content */
header .gnav .second-content{
	width: 85%;
	display: grid;
	grid-template-columns: 200px auto;
	gap:5%;
	margin: 0 auto;
}
header .gnav .second-content a {
	display: block;
	/* color: #fff; */
}
header .gnav .second-content a em{
	display: flex;
	align-items: center;
	gap:0.8em;
	font-weight: var(--fw-b);
}
header .gnav .second-content a em::after{
	content: "→";
	font-size: 1.1em;
	transition: var(--transition);
}header .gnav .second-content a:hover em::after{
	translate: 6px;
}
header .gnav .has-second .second-head{
	padding-top: 30px;
	border-right: 1px solid var(--gray_l);
}
header .gnav .has-second .second-main{
	display: flex;
	gap: 30px;
}
header .gnav .has-second .second-main a.second{
	width: 100%;
	display: flex;
	flex-direction: column;
	gap:1em;
}
header .gnav .has-second .second-main a.second figure img{
	aspect-ratio: 3/2;
	object-fit: cover;
}

/*  h-scroll */
header.h-scroll nav .gnav li:not(.has-second) a,
header.h-scroll nav .gnav li.has-second span{
	color: var(--color);
	text-shadow: none;
}
header.h-scroll nav .gnav li:not(.has-second) a:hover{
	color: var(--c-main);
}
header.h-scroll .gnav .has-second .second-wrapper{
	background: #fff;
}
header.h-scroll .gnav .second-content a {
	color: var(--color);
}

/* TOPページのみ */
#top header{
	background: none;
}
#top header nav .gnav li:not(.has-second) a,
#top header nav .gnav li a.sp,
#top header nav .gnav li.has-second span{
	color: #fff;
	text-shadow: 1px 1px 5px var(--gray);
}
#top header nav .gnav li:not(.has-second) a:hover,
#top header nav .gnav li a.sp:hover,
#top header nav .gnav li.has-second span:hover{
	color: var(--hover);
}
#top header .gnav .has-second .second-wrapper{
	background: rgba(0,0,0,.8);
	/* background: rgba(255,255,255,.95); */
	backdrop-filter: brightness(200%);
}
#top header .gnav .second-content a {
	color: #fff;
}
/*  TOP h-scroll */
#top header.h-scroll {
	background: #fff;
}
#top header.h-scroll nav .gnav li:not(.has-second) a,
#top header.h-scroll nav .gnav li.has-second span{
	color: var(--color);
	text-shadow: none;
}
#top header.h-scroll nav .gnav li:not(.has-second) a:hover,
#top header.h-scroll nav .gnav li.has-second span:hover{
	color: var(--hover);
}
#top header.h-scroll .gnav .has-second .second-wrapper{
	background: #fff;
	backdrop-filter:unset;
}
#top header.h-scroll .gnav .second-content a {
	color: var(--color);
}

@media screen and (max-width: 520px){
	header{
		--header-height:60px;
		--hamburger:54px;
		height: var(--header-height);
		padding: 0;
	}
	header .h-logo{
		width: 120px;
		margin-left: 4%;
	}

	/* nav */
	header nav {
		width: 100%;
		height: 100vh;
		padding: 95px 14% 30px;
		background: #fff;
		opacity: 0;
		overflow: scroll;
		position: absolute;
		top: 0;
		left: 0;
		pointer-events: none;
		transition: var(--transition);
	}
	header.nav-open nav{
		opacity: 1;
		pointer-events: visible;
	}
	header nav .gnav{
		flex-direction: column;
		gap: 16px;
	}
	header nav .gnav li{
		width: 100%;
	}
	header nav .gnav li:not(.h-cv){
		padding: 5px 10%;
		border-bottom: 1px solid var(--gray_l);
	}
	header nav .gnav li:not(.has-second) a,
	header nav .gnav li a.sp,
	header nav .gnav li.has-second span{
		display: block;
		width:100%;
		padding: 10px 0;
		font-size: 1.3em;
	}
	header nav .gnav li.has-second span{
	display: none;
}
	header nav .gnav li.h-cv a.mail-btn{
		width: 95%;
		margin: 30px auto 0;
		padding: 0;
	}

	/* has-second */
	header .gnav .has-second span{
		display: flex;
		align-items: center;
		gap:0.5em;
	}
	header .gnav .has-second span::after{
		display: none;
	}
	header .gnav .has-second .second-wrapper{
		visibility: visible;
		opacity: 1;
		width: 100%;
		padding: 10px 0;
		background: none;
		backdrop-filter:unset;
		position: static;
	}
	header .gnav .has-second:hover .second-wrapper{
		box-shadow: none;
	}

	/* second-content */
	header .gnav .second-content{
		width: 98%;
		grid-template-columns: 1fr;
	}
	header .gnav .second-content a em::after{
		display: none;
	}
	header .gnav .has-second .second-head{
		display: none;
	}
	header .gnav .has-second .second-main{
		flex-direction: column;
		gap: 4px;
	}
	header .gnav .has-second .second-main a.second{
		display: block;
		margin-bottom: 10px;
		padding: 5px;
	}
	header .gnav .has-second .second-main a.second figure{
		display: none;
	}
	header .gnav .has-second .second-main a.second em{
		justify-content: flex-start;
		font-size: 1.2rem;
		color: var(--color);
	}
	header .gnav .has-second .second-main a.second em::before{
		content: "-";
		margin-left: 1.2em;
	}

	/*  h-scroll_sp */
	header.h-scroll_sp {
		background: #fff;
	}

	/* hamburger */
	header .hamburger {
		display: block;
		position: fixed;
		top: 0;
		right: 10px;
		z-index: 1500;
		width: var(--header-height);
		height:var(--header-height);
		cursor: pointer;
		transition: all 400ms;
	}
	header .hamburger span {
		position: absolute;
		width: 32px;
		height: 2px;
		background: var(--c-main);
		transition: all 400ms;
		right: 0;
		left: 0;
		margin: 0 auto;
	}
	header .hamburger span:nth-child(1) {
		top: 32%;
	}
	header .hamburger span:nth-child(2) {
		top: 48%;;
	}
	header .hamburger span:nth-child(3) {
		top: 64%;
	}
	/* hamburger __ nav-open */
	header.nav-open .hamburger span{
		background: var(--c-main);
	}
	header.nav-open .hamburger span:nth-child(1) {
		top: 48%;
		transform: rotate(45deg);
	}
	header.nav-open .hamburger span:nth-child(2) {
		display: none;
	}
	header.nav-open .hamburger span:nth-child(3) {
		top: 48%;
		transform: rotate(-45deg);
	}
	/*  h-scroll_sp */
	header.h-scroll_sp .hamburger span {
		background: var(--color);
		background: var(--c-main);
	}

	/* TOPページのみ */
	#top header{
		background: none;
	}
	#top header nav .gnav li:not(.has-second) a,
	#top header nav .gnav li a.sp,
	#top header nav .gnav li.has-second span{
		color: var(--color);
		text-shadow: none;
	}
	#top header .gnav .has-second .second-wrapper{
		background:none;
	}
	#top header .hamburger span {
		background: #fff;
	}
	/* hamburger __ nav-open */
	#top header.nav-open .hamburger span{
		background: var(--c-main);
	}
	/*  TOP h-scroll_sp */
	#top header.h-scroll_sp {
		background: #fff;
	}
	#top header.h-scroll_sp .hamburger span {
		background: var(--c-main);
	}
}

/* -------------------------------------
フッター
-------------------------------------*/
footer{
    padding: 80px 0 30px;
	color: #fff;
	background: var(--c-main);
}
footer .f-content{
	display: flex;
	justify-content: space-between;
	gap:20px;
	margin-bottom: 80px;
}
footer .f-content .address{
	width: fit-content;
	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
	gap: 50px;
	font-size: 18px;
	text-align: center;
}
footer .f-content .address .f-logo{
	width: 160px;
}

footer .f-content .sitemap{
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	font-size: 20px;
}
footer .f-content .sitemap .sub{
	display: block;
	font-size: 1rem;
	text-indent: 1.2em;
}
footer .f-content .sitemap .sub::before{
	content: "-";
	margin-right: 0.5em;
}
footer .f-content .f-bnr-wrap{
	width: 300px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
/* copyright */
.copyright small{
    display: block;
    font-size:12px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    footer{
        width:100%;
        padding: 60px 5% 90px;
    }
	footer .f-content{
		flex-wrap: wrap;
		gap:50px 20px;
		margin-bottom: 60px;
	}
	footer .f-content .address{
		width: 100%;
		gap: 30px;
		font-size: 1rem;
	}
	footer .f-content .address .f-logo{
		width: 90px;
	}

	footer .f-content .sitemap{
		width: 50%;
		font-size: 1rem;
		border-left: 1px solid #fff;
		padding-left: 15px;
	}
	footer .f-content .sitemap .sub{
		margin: 8px 0 14px;
		font-size: 0.9em;
	}
	footer .f-content .f-bnr-wrap{
		width: 40%;
		display: grid;
		align-content:flex-end;
		gap: 15px;
	}
	/* copyright */
	.copyright small{
		display: block;
		font-size:12px;
		text-align: center;
	}
}

/*sp-fix*/
.sp-fix{
	display: none;
}

@media (max-width: 520px) {
    /*sp-fix*/
    .sp-fix{
		display: flex;
        width: 100vw;
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 900;
    }
    .sp-fix a{
		width: 100%;
		height: 60px;
		display: flex;
		justify-content: center;
		align-items: center;
		gap:10px;
		color: #fff;
		font-weight: var(--fw-b);
		line-height: 1;
		background: var(--c-main);
    }
    .sp-fix .f-sp-mail i.svg-mail svg{
		width: 22px;
		fill: #fff;
	}
}


/** ==============================================
TOPページ
============================================== **/
/* -------------------------------------
fv
-------------------------------------*/
.fv {
	position: relative;
}

/* fv-slide-list */
.fv-slide-list{
	position: relative;
}
.fv-slide-list::after{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--filter);
	opacity: .2;
	position: absolute;
	left: 0;
	top: 0;
}
.fv-slide-list img{
	width: 100%;
	aspect-ratio: 2/1;
	object-fit: cover;
}

/*  アニメーション */
.fv-slide-list li.is-prev img,
.fv-slide-list li.is-active img{
	animation: zoomUp 7s linear 0s normal both;
}
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.08);
	}
}

/*  キャッチコピー */
.fv .fv-text{
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
}
.fv .fv-text p{
	display: grid;
	grid-template-columns: 1fr;
	font-size: 50px;
	color: #fff;
	font-weight: var(--fw-b);
	line-height: 1.4;
	text-shadow: 0 0 5px #333;
}
.fv .fv-text p strong{
	font-size: 1.4em;
	background: linear-gradient(180deg, #fff, #f49823);
	background: linear-gradient(180deg, #fff 20%, #f8ffc3 60%, #f49823 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: none;
}
.fv .fv-text p em{
	margin-top: 10px;
	font-size: 1rem;
}
.fv .fv-text .fv-en{
	font-size: 130px;
	color:rgba(0,0,0,.0);
	font-weight: var(--fw-b);
	line-height: 1;
	-webkit-text-stroke: 1px #FFF;
	position: absolute;
	right: 2%;
	bottom: -1%;
	opacity: .5;
}

@media (max-width: 520px) {
	/* fv-slide-list */
	.fv-slide-list img{
		aspect-ratio: 3/5;
	}
	/*  キャッチコピー */
	.fv .fv-text p{
		width: 85%;
		margin: 0 auto;
		font-size: min(6.4vw, 42px);
	}
	.fv .fv-text p strong{
		font-size: 1.4em;
	}
	.fv .fv-text p em{
		margin-top: 10px;
		font-size: 0.9rem;
	}
	.fv .fv-text .fv-en{
		font-size: min(13vw, 60px);
		right: 2%;
		bottom: -0.1%;
	}
}


/* -------------------------------------
top-about
-------------------------------------*/
.top-about-content{
	display: flex;
	align-items: center;
	margin-top: -50px;
}
.top-about-content figure{
	width: 65%;
	flex-shrink: 0;
}
.top-about-content .text{
	width: 40%;
	margin-left: -5%;
}

@media (max-width: 520px) {
	.top-about-content{
		flex-direction: column;
		gap:30px;
		margin-top: -20px;
	}
	.top-about-content figure{
		width: 96%;
		margin: 0 auto 0 0;
	}
	.top-about-content .text{
		width: 80%;
		margin: 0 auto;
	}
}

/* -------------------------------------
sec-top-movie00
-------------------------------------*/
.sec-top-movie00 {
	margin: -70px auto 100px;
}
.sec-top-movie00 .top-movie{
	width: 800px;
	margin: 0 auto;
}

@media (max-width: 520px) {
	.sec-top-movie00 {
		margin: -30px auto 80px;
	}
	.sec-top-movie00 .top-movie{
		width: 80%;
	}
}

/* -------------------------------------
top-news
-------------------------------------*/
.top-news-content{
	display: grid;
	grid-template-columns: 250px auto;
	gap:7%;
}
/* news-slide-list */
.news-slide-list li{
	width: max(30%,310px);
}

/* news-gbp */
.news-gbp{
	width: 700px;
	height: 480px;
	margin: 20px 0;
	padding: 10px 0 0;
	background: rgba(255,255,255,.5);
	overflow: hidden;
}
.news-gbp iframe{
	width: 100%;
	height: 100%;
}

@media (max-width: 520px) {
	.sec-top-news [class*="en_"]{
		padding-right: 6%;
	}
	.top-news-content{
		grid-template-columns: 1fr;
		gap:0;
	}
	.top-news-content .top-news-head{
		display: contents;
	}
	.top-news-content .top-news-head .tit{
		margin-left: 5%;
		margin: 0 0 24px 8%;
	}
	.top-news-content .top-news-head .btn{
		order: 3;
		margin-top: 30px;
	}
	.top-news-content .top-news-main{
		display: contents;
	}
	/* news-slide-list */
	.news-slide-list{
		order: 2;
	}
	.news-slide-list li{
		width: min(70%,310px);
	}

	/* news-gbp */
	.news-gbp{
		order: 2;
		width: 90%;
		height: 480px;
		margin: 0 auto;
	}
}

/* -------------------------------------
top-movie
-------------------------------------*/
.top-movie{
	--gap:20px;
}
.top-movie a{
	display: block;
	margin: 0 auto;
}

/* -------------------------------------
youtube--js-modal-video
-------------------------------------*/
.js-modal-video{
	position: relative;
	overflow: hidden;
	cursor: pointer;
}
.js-modal-video::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	background: rgb(from var(--color) r g b / 0.2);
}
.js-modal-video::after{
	content: "play_circle_outline";
	font-family: 'Material Icons';
	color: var(--c-main);
	font-size: 7rem;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	transition: var(--transition);
}
.js-modal-video-thumb{
	max-width: 100%;
	transition: transform 0.3s linear;
}
.js-modal-video:hover .js-modal-video-thumb{
	transform: scale(1.07);
}

@media (max-width: 520px) {
	.js-modal-video::after{
		font-size: 5rem;
	}
}



/* -------------------------------------
top-company
-------------------------------------*/
.sec-top-company{
	width: 50%;
	margin-left: 0;
}

@media (max-width: 520px) {
	/* .sec-top-company{
		width: 90%;
	} */
	.sec-top-company{
		margin: 0;
	}
	.sec-top-company .en_blue.mini{
		font-size: min(9.5vw, 48px);
	}
	.sec-top-company .tit.fz32{
		font-size: min(4.6vw, 24px);
	}
	.sec-top-company .fz18{
		font-size: 0.85em;
		text-align: left;
	}
	.sec-top-company .btn_clear.t_C{
		--height:54px;
	}
	.sec-top-company .btn_clear.t_C span{
		font-size: 0.9em;
	}
}

/* -------------------------------------
top-recruit
-------------------------------------*/
.sec-top-recruit{
	width: 50%;
	margin-right: 0;
	margin-top: -500px;
}

@media (max-width: 520px) {
	/* .sec-top-recruit{
		width: 90%;
		margin-top: -70px;
	}
	.sec-top-recruit .en_green{
		text-align: right;
	} */
	.sec-top-recruit{
		margin-top: -440px;
		margin-bottom: 30px;
	}
	.sec-top-recruit .en_green.mini{
		font-size: min(9.5vw, 48px);
	}
	.sec-top-recruit .tit.fz32{
		font-size: min(4.6vw, 24px);
	}
	.sec-top-recruit .fz18{
		font-size: 0.85em;
		text-align: left;
	}
	.sec-top-recruit .btn_clear.t_C{
		--height:54px;
	}
	.sec-top-recruit .btn_clear.t_C span{
		font-size: 0.9em;
	}
}

/* -------------------------------------
top-contact
-------------------------------------*/
.sec-top-contact{
	color: #fff;
}
.sec-top-contact .top-tel-wrap{
	width: 320px;
	display: grid;
	grid-template-columns: 1fr;
	justify-content: center;
	gap:6px;
}
.sec-top-contact .top-tel-wrap p{
	font-size: 0.95em;
	text-align: center;
}

@media (max-width: 520px) {
	.sec-top-contact .top-tel-wrap{
		order: 3;
		width: 90%;
		gap:0;
	}
	.sec-top-contact .top-tel-wrap .tel-btn{
		width: 100%;
		margin: 0 auto;
		border: none;
	}
	.sec-top-contact .top-tel-wrap .tel-btn span{
		font-size: 24px;
	}
}

/** ==============================================
事業内容
============================================== **/


/** ==============================================
土木工事業
============================================== **/
/* -------------------------------------
sec-public-slide
-------------------------------------*/
.sec-public-slide .lead {
	width: 100%;
	margin-top: 0;
}
.sec-public-slide .lead strong.strong{
	font-size: 24px;
}

@media (max-width: 520px) {
	.sec-public-slide .lead strong.strong{
		font-size: 18px;
	}
}

/** ==============================================
機材レンタル
============================================== **/
/* -------------------------------------
取り扱い商品一覧
-------------------------------------*/
.goods-list li .text{
	margin-top: 10px;
}

@media (max-width: 520px) {
	.goods-list{
		width: 78%;
		margin: 0 auto;
	}
}

/* -------------------------------------
レンタルのメリット
-------------------------------------*/
.merit-list li{
	counter-increment: num 1;
	padding: 0 30px 6px 30px;
	border-left: 1px solid var(--c-main);
}
.merit-list li strong::before{
	content: counter(num, decimal-leading-zero) "."; /* 10未満は頭に0がつく */
	color: var(--c-main);
	font-size: 1.7em;
	display: block;
}
.merit-list li strong{
	display: block;
	margin-bottom: 10px;
}

@media (max-width: 520px) {
	.merit-list {
		padding: 0 4%;
	}
	.merit-list li{
		padding: 0 0 20px 26px;
		border-bottom: 1px solid var(--c-main);
	}
	.merit-list li strong::before{
		font-size: 1.7em;
	}
	.merit-list li strong{
		font-size: 16px;
	}
}


/** ==============================================
会社概要
============================================== **/
/* -------------------------------------
メッセージ
-------------------------------------*/
/* .sec-message figure{
	margin-bottom: 70px;
}
.message .name{
	width: fit-content;
	margin: 60px 0 0 auto;
	display: flex;
	align-items: center;
	gap:20px;
}
.message .name img{
	width: 160px;
}

@media (max-width: 520px) {
	.sec-message figure{
		margin-bottom: 30px;
	}
	.message .name{
		margin-top: 40px;
		gap:20px;
	}
	.message .name img{
		width: 100px;
	}
} */

.message{
	display: grid;
	grid-template-columns: 450px auto;
	gap:5%;
}
.message .name{
	width: fit-content;
	margin: 60px 0 0 auto;
	display: flex;
	align-items: center;
	gap:20px;
}
.message .name img{
	width: 160px;
}

@media (max-width: 520px) {
	.message{
		grid-template-columns: 1fr;
		gap:30px;
	}
	.message .name{
		margin-top: 40px;
		gap:20px;
	}
	.message .name img{
		width: 100px;
	}
}

/* -------------------------------------
有紀機材の歴史
-------------------------------------*/
.history-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap:2%;
	margin-top: 80px;
}

@media (max-width: 520px) {
	.history-grid{
		grid-template-columns: 1fr;
		gap: 15px;
		margin-top: 30px;
	}
}

/* -------------------------------------
事業所案内
-------------------------------------*/
.office-grid{
	display: grid;
	grid-template-columns: 55% auto;
	align-items: center;
	gap:7%;
}
.office-grid p{
	padding-left: 6px;
}

@media (max-width: 520px) {
	.office-grid{
		grid-template-columns: 1fr;
		gap:30px;
	}
	.office-grid p{
		padding-left: 6px;
	}
}

/** ==============================================
お問い合わせ
============================================== **/
.sec-contact-form .tit + .lead{
	margin: 0 auto;
}
.sec-contact-form .lead strong.strong{
	margin-bottom: 10px;
	font-size: 22px;
}

#contact-form .tbl-sp_col table{
	background: none;
	border-top: none;
}
#contact-form .tbl-sp_col tr{
	border-bottom: none;
}
#contact-form .tbl-sp_col :is(th, td){
	padding:8px 20px;
}
#contact-form .tbl-sp_col th{
	width: 23%;
	background: none;
}

@media (max-width: 520px) {
	.sec-contact-form .lead{
		width: 94%;
		text-align: left;
	}
	.sec-contact-form .lead strong.strong{
		font-size: 18px;
	}
	#contact-form .content-box{
		padding: 20px 5px;
	}
	#contact-form .tbl-sp_col :is(th, td){
		display: block;
		width: 100%;
		font-size: 15px;
	}
	#contact-form .tbl-sp_col th{
		padding: 14px 10px 5px;
	}
	#contact-form .tbl-sp_col td{
		padding: 0px 14px 10px;
	}
}


/** ==============================================
thanks
============================================== **/
.sec-thanks{
	margin-top: 200px;
}

@media (max-width: 520px) {
	.sec-thanks{
		margin-top: 100px;
	}
}


/** ==============================================
プライバシーポリシー
============================================== **/
/* #privacy section p a{
	color: var(--c-main);
	border-bottom: var(--dot);
} *//*layout:3*//*layout:4*//*layout:6*/