@charset "utf-8";
/*
Theme Name: lightning-child
Template: lightning
*/
:root {
	/*------▼基本設定▼------*/
	--color-background: #FFF;
	--color-font: #333;
	--color-primary: #111;
	--color-primary-shade:#f18101;
	--color-primary-tint:#f18101;
	--color-secondary: #d91023;
	--color-secondary-tint: #d91023;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');
/*-------------------------------------------
   サイト全体共通
--------------------------------------------*/

html {
	font-size: 62.5%; /*ルート指定：1rem＝10px*/
}
body {
	overflow-x: hidden;
	font-size: 1.6rem; /*サイト全体の基準となる文字サイズ*/
	font-family: 'Roboto','Noto Sans JP', sans-serif;
	font-weight:normal;
	color:var(--color-font);
}
h1, h2, h3, h4, a,p {
    color: var(--color-font);
    font-family: 'Roboto','Noto Sans JP', sans-serif !important;
    font-weight: normal;
    font-size: 1.6rem;
	line-height:1.6;
    margin: 0;
	padding:0;
	border:none;
	border-radius:0;
	background:none;
}
* {
	box-sizing: border-box;
}
body img{
	display:block;
	margin:auto;
}
a img{
    backface-visibility: visible;
	transition:all ease .15s;
}
a:hover{
	color:#999;
}
a:hover img{
	opacity:.5;
}
/*------------------------
    ファーストビュー切り替え
------------------------*/
@media screen and (min-width:751px){
	.pc_hero{
		display:block;
	}
	.sp_hero{
		display:none;
	}
}
@media screen and (max-width:750px){
	.pc_hero{
		display:none;
	}
	.sp_hero{
		display:block;
	}
}
/*------------------------
     改行位置の調整
------------------------*/
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
/*------------------------------------------
lightning 打消し
--------------------------------------------*/
@media screen and (min-width:992px){
/*ヘッダー*/
header.site-header{
	height:auto;
	& p.head_description{
		padding:3px 0;
		background:linear-gradient(45deg, #f3f3f3, #d9d9d9, #cdcdcd);
		& span{
			width:min(1000px,95%);
			margin:auto;
			display:block;
			font-size:11px;
		}
	}
}
div#site-header-container {
    display: flex;
    flex-direction:column;
    align-items: center;
    height: 100%;
    width: 100%;
    max-width: unset;
	padding:0;
}
.site-header--layout--nav-float .site-header-logo {
    width: auto;
    padding: 0;
    margin: 0;
}
.site-header-logo img{
	max-height: 5rem;
}
	.header_upper{
		display:flex;
		justify-content:space-between;
		align-items:center;
		gap:3rem;
		width:min(1000px,95%);
		margin:0 auto;
		padding:20px 0;
	}
div#site-header-container .site-header-logo {
    padding: 0;
	display:flex;
		justify-content:space-between;
	align-items:center;
	gap:20px;
	& a{
		& img{
			max-height:42px;
		}
	}
	& .header_jisseki{
		& img{
			max-height:80px;
		}
	}
}
	.header_upper_right{
		display:flex;
		justify-content:space-between;
		align-items:center;
		gap:20px;
		& a{
			padding:1.5rem;
			display:flex;
			align-items:center;
			gap:8px;
			color:#fff;
			font-weight:bold;
			line-height:1;
			transition:all easee .15s;
			&.header_tel{
				background:linear-gradient(-45deg, #464646 50%, #505050 50%);
			}
			&.header_contact{
				background:linear-gradient(-45deg, #c71021 50%, #d91023 50%);
			}
			& i{
				margin:0;
			}
			&:hover{
				opacity:.6;
				transition:all ease .15s;
			}
		}
	}
	.header_lower{
		width:100%;
		margin:0 auto;
		background:#111;
		& nav#global-nav{
			display:block;
			width:min(1000px,95%);
			margin:0 auto;
			& ul{
				display:flex;
				width:100%;
				justify-content:center;
				& li{
					position:relative;
					width:calc(100% / 6);
					border-left:1px solid #fff;
					&:nth-last-child(2){
						border-right:1px solid #fff;
					}
					&:before{
						display:none;
					}
					& a{
						position:relative;
						padding:2rem 2.5rem;
						z-index:0;
						& strong{
							font-size:14px;
							color:#fff;
							opacity:1;
						}
						&:hover{
							& strong{
								opacity:1;
								color:#d91023;
							}
						}
						}
					&#menu-item-277{
						display:none;
						@media screen and (max-width:991px){
							display:inline-block;
						}
					}
					}
				}
			}
		}
	}
.global-nav-list>li .global-nav-description {
    font-size: 60%;
    line-height: 1.4;
    opacity: 1;
}

.header_scrolled .site-header{
	position:fixed;
    width: 100%;
    max-width: 100vw;
	box-shadow:none;
    top: -100px;
    transform: translatey(100px);
    transition: all .7s .25s ease-in-out;
	animation:unset;
}
.header_scrolled p.head_description,
.header_scrolled .site-header .header_upper{
	display:none;
}
.header_scrolled .site-header .header_lower nav#global-nav ul li a{
	padding:2rem 2.5rem;
	&:before{
		display:none;
	}
}
.header_scrolled .site-header-logo{
	display:block;
}
.header_scrolled .site-header .global-nav {
    display: flex;
    margin-left: 0;
    margin-right: 0;
    justify-content: flex-end;
}
}
/*フッター*/
footer.site-footer{
	border:none;
}
footer.site-footer .container.site-footer-copyright {
    margin: 0;
    padding: 0;
    max-width: none;
    width: 100%;
}
footer.site-footer .container.site-footer-copyright p{
	margin:0;
	font-size:1.4rem;
}

/*フッター上部*/
.container.site-footer-content {
    padding: 0;
    width: min(1100px,95%);
    margin: auto;
	max-width:unset;
	& p.footer_logo{
		& a{
			text-decoration:none;
			font-size:2.8rem;
			font-weight:bold;
			color:#fff;
			& span{
				display:block;
				font-size:16px;
				color:#e1cd98;
			}
		}
	}
}
.row {
    margin-right: 0;
    margin-left: 0;
}
.site-footer .widget:last-child {
    margin-bottom:0;
}
.container.site-footer-content .row .col-lg-4 figure.wp-block-image{
	margin:0;
}
a.footer_banner img {
    max-width: 35rem;
    width: 100%;
}
.footer_info p {
    color: #fff;
	@media screen and (max-width:767px){
		font-size:14px;
	}
}
/*下層ページヘッダー*/
.page-header {
    min-height:calc(30rem + (1vw - 1.92rem) * 6.4725);/*30-20(375)*/
	margin:0 !important;
}
/*見出し等*/
.container {
    width: 100%;
    max-width: unset;
    margin: 0;
    padding: 0;
}
h3:after{
	display:none;
}
/*投稿アーカイブページ*/
body.archive .vk_posts-mainSection .vk_post:first-child{
	padding-top:0;
	border-top:0;
}
.vk_posts {
    margin-left: 0;
    margin-right: 0;
}
.vk_post.media {
    margin: 0;
}
.site-footer-title:after, .sub-section-title:after, h3:after {
    border-bottom: 1px solid var(--color-primary);
}
.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
	transition:all ease .25s;
}
.btn-primary:hover{
	opacity:.5;
}
/*投稿アーカイブページの不要物削除*/
body.archive aside.widget.widget_media {
    display: none;
}
/*投稿詳細ページ*/
body.single-post .page-header{
	display:none;
}
body.single-post .site-body{
	padding:10rem 0;
	width:min(80rem,95%);
	margin:auto;
}
body.single-post h1.entry-title{
	font-size:2.4rem;
	font-weight:500;
	padding-bottom:1.5rem;
	margin-bottom:5px;
	border-bottom:1px solid #ccc;
}
body.single-post .entry-meta{
	text-align:right;
}
body.single-post .entry-meta span{
	font-size:1.4rem;
}
body.single-post .entry-body{
	line-height:2;
}
body.single-post .entry-footer{
	display:none;
}
body.single-post .entry-meta span.entry-meta-item-updated, body.single-post span.entry-meta-item-author{
	display:none;
}
body.single-post .next-prev{
	display:none;
}
body.single-post .comments-area {
    display: none;
}
.entry-body>.vk_posts>.media.vk_post-col-sm-12:first-child, 
.main-section>.vk_posts>.media.vk_post-col-sm-12:first-child {
    border-top: none;
}
.btn-primary:active, .btn-primary:focus, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active {
    background-color:var(--color-primary);
    border-color: var(--color-primary);
}

/*リスト*/
ol, ul {
    padding-left:0;
	margin:0;
}
ul li {
    margin-top: 0;
    margin-bottom: 0;
	list-style:none;
}
/*パンくずリスト*/
.breadcrumb{
	border:none;
	background:#f9f9f9;
}
ol.breadcrumb-list{
	width:min(110rem,95%);
	margin:0 auto;
	padding:3px 0;
}
ol.breadcrumb-list li a{
	font-size:1.2rem;
	text-decoration:none;
}
@media screen and (max-width:767px){
body.archive.category .site-body-container.container {
    flex-direction: column;
}
body.archive.category .vk_post.media {
    flex-direction: column;
    align-items: center;
}
body.archive.category .vk_posts .vk_post-col-xs-12 {
    width:100%;
}
body.archive.category .vk_post .media-img {
    width: 100%;
    margin: 0;
}
body.archive.category .vk_post-btn-display.media .vk_post_body {
    padding-bottom: 30px;
	width:100%;
	margin-top:1rem;
}
body.archive.category .site-body-container.container .sub-section {
    width: 100%;
}
body.archive.category .site-body-container.container .sub-section h4,
body.archive.category .site-body-container.container .sub-section ul li a{
	font-size:1.4rem;
}
}
/*------------------------------------------
lightning 打消し(レスポンシブ)
--------------------------------------------*/
@media screen and (max-width:991px){
header.site-header {
    height: 60px;
	& p.head_description{
		display:none;
	}
}
header .site-header-container {
    padding: 0;
    margin: 0;
    height: 100%;
	& .header_upper{
		height:100%;
	}
	& .header_lower{
		display:none;
	}
}
	.header_scrolled .site-header{
		position:relative;
	}
header .site-header-container .site-header-logo {
    padding: 0;
    margin: 0;
    text-align: left;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
	& .header_jisseki{
		display:none;
	}
}
header .site-header-container .header_upper_right{
		display:none;
	}
.site-header-container .site-header-logo a {
    padding-left: 2rem;
}
header .site-header-container .site-header-logo img {
    max-height: 28px;
    margin: 0 auto 0 0;
}
.vk-mobile-nav-menu-btn {
    top: 10px;
    border: none;
    width: 40px;
    height: 40px;
}
.vk-mobile-nav-menu-btn.menu-open {
    border-color:transparent;
	border:none;
}
.alert-info {
    display: none;
}
.vk-mobile-nav {
    padding: 60px 1rem 0;
    background-color: rgb(0 0 0 / 92%);
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
    padding: 6rem 1rem 0;
    margin:0;
}
.vk-mobile-nav.vk-mobile-nav-right-in {
    transition: all .5s ease;
}
.vk-mobile-nav nav>ul {
    border-top: 1px solid #555;
}
.vk-mobile-nav nav ul li a {
    color: #ffffff;
    border-bottom: 1px solid #555;
}
}
/*------------------------------------------
  CONTACT お問い合わせページ
--------------------------------------------*/
.wpcf7-form {
    padding: 0;
}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
    font-size: 1.2rem;
}
input[type=submit]{
	font-size:1.4rem;
}
.post-name-contact .entry-body {
    width: min(110rem,90%);
    margin: auto;
	padding-bottom:calc(10rem + (1vw - 1.92rem) * 2.5890);
}
.post-name-contact p.txt.center{
	margin:4rem auto 5rem;
}
.post-name-contact .entry-body table,
.post-name-contact .entry-body table th,
.post-name-contact .entry-body table td {
    border: none;
}
.post-name-contact .entry-body table{
	margin-bottom:0;
}
.post-name-contact .entry-body table tr{
	border-bottom:1px solid #ccc;
}
.post-name-contact .entry-body table tr:first-child{
	border-top:1px solid #ccc;
}
.post-name-contact .entry-body table th,
.post-name-contact .entry-body table td{
	padding:2rem 2.5rem;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.post-name-contact .entry-body table th{
	width:30%;
	vertical-align:middle;
	background:#f7f7f7;
	text-align:left;
}
body.post-name-contact .entry-body table td img{
	display:inline-block;
}
.wpcf7-form .must {
    color: #fff;
    font-weight: normal;
	background:rgb(255 82 83);
    margin-left: 0;
    font-size: 1.2rem;
    padding: 0px 10px;
    display: inline-block;
    line-height: 2;
	float:right;
}
.wpcf7-form .nini{
	background:#999;
}
/*チェックボックスズレ解消*/



/*同意ボタン調整*/
.agree_btn {
    margin: 3rem 0;
}
.agree_btn div,.agree_btn p{
	text-align:center;
}
.agree_btn div .wpcf7-list-item {
    margin: 0;
}
.agree_btn p,.agree_btn p a{
	font-size:90%;
}

/*送信ボタン調整*/
.SendBtn {
	text-align: center;
}
.SendBtn input[type="submit"], .SendBtn input[type="reset"], .SendBtn input[type="button"] {
    padding: 15px 100px;
    border-radius: 0vw;
	background-color:var(--color-primary);
    border: 1px solid var(--color-primary);
    transition: all ease .3s;
}
.SendBtn input[type="submit"]:hover, .SendBtn input[type="reset"]:hover, .SendBtn input[type="button"]:hover{
	color:var(--color-primary);
	background:transparent;
	transition:all ease .3s;
}
.wpcf7-spinner{
	display:none;
}
/*お問い合わせページのみフッター削除*/
body.post-name-contact .footer_cta{
	display:none;
}

@media screen and (max-width:800px){
.wpcf7-form .must {
    margin-left: 2rem;
	font-size:1rem;
}
.post-name-contact .entry-body table tr {
    display: flex;
    flex-direction: column;
}

	.post-name-contact .entry-body table th,
	.post-name-contact .entry-body table td{
		padding:1.5rem 2rem;
		text-align:left;
		font-size:1.4rem;
		width:100%;
	}
}



/*------------------------------------------
  ORIGINAL
--------------------------------------------*/
/*グローバルメニュー*/
header.site-header nav#global-nav,
header.site-header nav#global-nav ul{
	height:100%;
}

header.site-header nav#global-nav ul li a strong{
	position:relative;
	transition:all ease .15s;
}

/*フッター*/
footer.site-footer {
    border: none;
    padding: 5rem 0;
    background:var(--color-primary);
}
.container.site-footer-content .row{
	justify-content:space-between;
	align-items:center;
}
.container.site-footer-content .row .col-lg-4:first-child{
	width:38rem;
}
.container.site-footer-content .row .col-lg-4{
	max-width:unset;
	width:auto;
	flex:unset;
	padding:0;
}
.container.site-footer-content .row .col-lg-4 figure img {
    width: 100%;
    margin: 0 auto 0 0;
}
.container.site-footer-content .row .col-lg-4:nth-child(2){
	display:none;
}
.container.site-footer-content .row .col-lg-4 ul.menu{
	display:flex;
}
.container.site-footer-content .row .col-lg-4 ul.menu li:not(:first-child){
	margin-left:1.5em;
}
.container.site-footer-content .row .col-lg-4 ul.menu li a{
	color:#fff;
	border:none;
	padding:0;
	font-size:1.4rem;
	transition:all ease .15s;
}
.container.site-footer-content .row .col-lg-4 ul.menu li a:hover{
	text-decoration:underline;
	background-color:transparent;
	opacity:.6;
}
footer.site-footer .container.site-footer-copyright{
	display:flex;
	justify-content:space-between;
	padding-top:5rem;
	border-top:1px solid #fff;
	width:min(110rem,95%);
	margin:5rem auto 0;
	@media screen and (max-width:767px){
		flex-direction:column;
		align-items:center;
		padding-top:3rem;
	}
}
footer.site-footer .container.site-footer-copyright p{
	text-align:right;
	color:#fff;
}
.social_icon_box{
	display:flex;
	gap:10px;
	@media screen and (max-width:767px){
		margin:0 0 3rem;
	}
	& a{
		width:40px;
		height:40px;
		display:block;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		border-radius:10px;
		transition:all ease .25s;
		&.instagram_icon{
			background:linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
		}
		&.tiktok_icon{
			background:#000;
		}
		&.youtube_icon{
			background:#FE0032;
		}
		& i{
			color:#fff;
			font-size:2.4rem;
			margin:0;
		}
		&:hover{
			opacity:.6;
		}
	}
}
@media screen and (max-width:767px){
	footer.site-footer{
		padding-bottom:10rem;
	}
.container.site-footer-content .row {
    flex-direction: column;
}
.container.site-footer-content .row .col-lg-4:first-child {
    width: 90%;
    margin-bottom: 2rem;
	& p.footer_logo{
		text-align:center;
	}
}
.container.site-footer-content .row .col-lg-4 ul.menu li a {
    font-size: 1.2rem;
}
footer.site-footer .container.site-footer-copyright p {
    text-align: center;
    font-size: 1.2rem;
}
footer.site-footer .container.site-footer-copyright {
    margin: 5rem auto 0;
}
	
	.container.site-footer-content .row .col-lg-4 ul.menu{
		flex-direction:column;
		& li{
			margin:0 0 1rem;
		&:not(:first-child) {
    		margin-left: 0;
		}
		}
	}
}

/*------------------------------------------
  よく使うCSS
--------------------------------------------*/
.flex{
	display:flex;
	flex-wrap:wrap;
}
.row_reverse{
	flex-direction:row-reverse;
}
.center{
	text-align:center;
}
@media screen and (max-width:767px){
.flex{
	flex-direction:column;
}
}
/*------------------------------------------
  アーカイブページ
--------------------------------------------*/
body.archive{
	& .site-body{
		padding-bottom:calc(10rem + (1vw - 1.92rem) * 2.5890);
	}
	& .site-body-container.container{
		width:min(1100px,90%);
		margin:0 auto;
		display:grid;
		grid-template-columns:65% 30%;
		gap:5%;
	}
	& section.footer_cta{
		display:none;
	}
}

@media screen and (max-width:767px){
body.archive{
	& .site-body-container.container{
		grid-template-columns:100%;
		gap:5rem;
	}
}
}

/*------------------------------------------
  シングルページ（投稿詳細）
--------------------------------------------*/
body.single-post{
	& .site-body{
		padding-bottom:calc(10rem + (1vw - 1.92rem) * 2.5890);
	}
	& section.footer_cta{
		display:none;
	}
}

/*-------------------------------------------
    　　プライバシーポリシー
-------------------------------------------*/
div#privacy {
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
	width:min(110rem,95%);
	margin:auto;
}
div#privacy h3 {
    font-size:calc(2.4rem + (1vw - 1.92rem) * 0.2589);
	font-weight:bold;
    margin:calc(5rem + (1vw - 1.92rem) * 1.2945) 0 1rem;/*5-3(375)*/
	line-height:1.5;
}
div#privacy h4{
	margin:3rem 0 1rem;
	font-size:calc(2rem + (1vw - 1.92rem) * 0.1294);/*2-1.8*/
	font-weight:500;
}
div#privacy p{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:1.6;
}
div#privacy ul li{
	line-height:1.6;
	position:relative;
	padding-left:1em;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
div#privacy ul li:before{
	position:absolute;
	content:"・";
	top:0;
	left:0;
}
/*-------------------------------------------
    　サイトマップ
-------------------------------------------*/
body.post-name-sitemap .entry-body{
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
	width:min(110rem,95%);
	margin:auto;
}
.entry-body ul#sitemap_list li{
	padding-left:0;
	font-size:1.8rem;
	padding-bottom:1rem;
	border-bottom:1px dashed #a1a1a1;
	margin-top:1rem;
	margin-bottom:0;
	position:relative;
}
.entry-body ul#sitemap_list li a{
	position:relative;
	padding-left:1.2em;
}
.entry-body ul#sitemap_list li a:before {
    position: absolute;
    content: "";
    border: 5px solid transparent;
    border-left: 10px solid var(--color-primary);
    top: 50%;
    left: 0;
    transform: translatey(-50%);
}
.entry-body ul#sitemap_list li.cat-item{
	padding-bottom:0;
}
.entry-body ul#sitemap_list li.cat-item ul li{
	border-bottom:none !important;
	padding-left:1em;
	font-size:16px;
}
@media screen and (max-width:1023px){
.entry-body ul#sitemap_list li{
	font-size:16px;
}
.entry-body ul#sitemap_list li a:before {
    border: 5px solid transparent;
    border-left: 10px solid var(--color-primary);
}
.entry-body ul#sitemap_list li.cat-item ul li{
	font-size:14px;
}
}
/*----------------追従バナー-----------------------*/
section.float_cta{
	visibility:hidden;
}
body.scrolled section.float_cta{
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	background:rgba(0 0 0 / 60%);
	bottom: -105px;
    transform: translatey(-105px);
    transition: all .7s .25s ease-in-out;
	z-index:9999;
		& .flex{
			width:min(1100px,100%);
			margin:0 auto;
			padding:1.5rem 0;
			justify-content:space-between;
			& a{
				width: 50%;
                padding:2rem 2.5rem;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                font-size: 2rem;
                color: #fff;
                font-weight: bold;
                line-height: 1;
                transition: all ease .15s;
			&.header_tel{
				background:linear-gradient(-45deg, #464646 50%, #505050 50%);
			}
			&.header_contact{
				background:linear-gradient(-45deg, #c71021 50%, #d91023 50%);
			}
			& i{
				margin:0;
			}
			&:hover{
				opacity:.6;
				transition:all ease .15s;
			}
			}
		}
	}
@media screen and (max-width:767px){
body.scrolled section.float_cta{
	visibility:visible;
	bottom: -55px;
    transform: translatey(-55px);
		& .flex{
			padding:0;
			flex-direction:row;
			flex-wrap:nowrap;
			& a{
                padding:2rem .5rem;
                gap: 5px;
                font-size: 1.2rem;
			}
		}
	}
}
/*------------------------------------------
  TOPページ
--------------------------------------------*/
* p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
}
table th,
table td,
ul li,
dl dt,
dl dd{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
	line-height:1.6;
}
img.cover{
	object-fit:cover;
	width:100%;
	height:100%;
}
img.contain{
	object-fit:contain;
	width:100%;
	height:100%;
}
.top_page{
	overflow:hidden;
}
a.btn{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
	line-height:1.6;
}
a#scrollUp{
	background:var(--color-secondary);
}
.mt_60{
	margin-top:6rem;
	@media screen and (max-width:767px){
		margin-top:4rem;
	}
}

/*------------------------------------------
  ローディング
--------------------------------------------*/
.loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  height: 100svh;
  background-image: linear-gradient(346deg, rgba(55, 55, 55,0.04) 0%, rgba(55, 55, 55,0.04) 22%,rgba(140, 140, 140,0.04) 22%, rgba(140, 140, 140,0.04) 69%,rgba(225, 225, 225,0.04) 69%, rgba(225, 225, 225,0.04) 100%),linear-gradient(31deg, rgba(55, 55, 55,0.04) 0%, rgba(55, 55, 55,0.04) 42%,rgba(140, 140, 140,0.04) 42%, rgba(140, 140, 140,0.04) 85%,rgba(225, 225, 225,0.04) 85%, rgba(225, 225, 225,0.04) 100%),linear-gradient(55deg, rgba(55, 55, 55,0.04) 0%, rgba(55, 55, 55,0.04) 13%,rgba(140, 140, 140,0.04) 13%, rgba(140, 140, 140,0.04) 72%,rgba(225, 225, 225,0.04) 72%, rgba(225, 225, 225,0.04) 100%),linear-gradient(90deg, rgb(0,0,0),rgb(0,0,0));
	overflow: hidden;
}
body:not(.home) .loading{
	display:none;
}
.loading__inner {
  width: 100%;
  height: inherit;
  display: grid;
  place-content: center;
  row-gap: 10px;
}

.loading__text {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 2;
  text-align: center;
  color: #fff;
}

.loading__logo {
  margin: 0 auto;
  width:50px;
}

.contents {
  height: 100svh;
  display: grid;
  place-items: center;
  font-size: max(22px, 3vw);
}
[data-opening-animation="text"] {
  opacity: 0;
  transform: translateY(60px);
  visibility: hidden;
}

[data-opening-animation="logo"] {
  opacity: 0;
  visibility: hidden;
}

[data-opening-animation] {
  clip-path: inset(0 0 0 0);
  overflow: hidden;
}
@media screen and (max-width:767px){
.loading__text {
  font-size: 1.4rem;
}
}


/*------------------------------------------
  KV
--------------------------------------------*/
section.top_kv_sec {
    position: relative;
	padding:0;
    z-index: 1;
	& h1{
		position:absolute;
		top:50%;
		left:5%;
		transform:translate(0,-50%);
		overflow:hidden;
		z-index:1;
		& p{
			line-height:1.2;
			font-size:4.8rem;
			font-weight:bold;
			color:#fff;
			&.sub_phrase{
				font-size:3rem;
			}
		}
	}
}
@media screen and (max-width:767px){
section.top_kv_sec {
	& h1{
		left:50%;
		width:100%;
		transform:translate(-50%,-50%);
		& p{
			text-align:center;
			font-size: 2rem;
			line-height:1.4;
			&.sub_phrase{
				font-size:1.4rem;
			}
		}
	}
}
}
/* 最初にテキストを隠す */
.anime-up {
  visibility: hidden; /* 初期状態で非表示 */
  opacity: 0; /* 初期状態で完全に透明 */
}

/* アニメーションが表示された時にテキストがフェードイン */
.anime-up.displayed {
  visibility: visible; /* アニメーション開始時に可視化 */
  opacity: 1; /* アニメーションで不透明に */
  transition: opacity 0.5s ease-in-out;
}

@keyframes showTextFromBottom {
  0% {
    transform: translateY(100%); /* 初期状態: 下に隠れている */
  }
  100% {
    transform: translateY(0px); /* アニメーション後: 元の位置に */
  }
}

.anime-up.displayed span {
  display: inline-block;
  animation: showText 1s backwards; /* 1秒かけてフェードイン */
}

.anime-up.displayed > span {
  overflow: hidden;
}

.anime-up.displayed > span > span {
  animation: showTextFromBottom 0.5s backwards; /* 文字ごとにアニメーション */
}
/*------------------------------------------
  TOP
--------------------------------------------*/
section.front_news{
	padding:10rem 0;
	& h2{
		width:min(110rem,90%);
		margin:0 auto;
	}
	& .front_news_list{
		& ul{
			width:min(110rem,90%);
			margin:0 auto;
			display:grid;
			grid-template-columns:repeat(4,1fr);
			gap:2%;
			& li{
				width:100%;
				& a{
					text-decoration:none;
					border-radius:15px;
					overflow:hidden;
					display:block;
					& img{
						width:100%;
						height:100%;
						object-fit:cover;
						aspect-ratio:5/3;
					}
					& .txt_box{
						padding:1.5rem;
						background:#f5f5f5;
					}
					& p.cate_date{
						display:flex;
						flex-direction:column;
						align-items:flex-start;
						font-size:14px;
						& span.cate{
							padding:7px 10px;
							display:inline-block;
							line-height:1;
							background:var(--color-primary);
							color:#fff;
							border-radius:5px;
						}
						& span.date{
							color:#999;
							margin-top:3px;
						}
					}
				}
			}
		}
	}
	& .front_news_btn{
		text-align:center;
		margin-top:5rem;
		& a{
			display: inline-block;
            padding: 2rem;
            text-align: center;
            width: min(35rem,90%);
            background: linear-gradient(-45deg, #d91023 50%, #c71021 50%);
            font-weight: bold;
            position: relative;
            color: #fff;
            transition: all ease .15s;
			&:hover{
				opacity:.6;
			}
			&:before{
				position: absolute;
                top: 50%;
                right: 2em;
                translate: 0 -50%;
                content: "\f105";
                font-family: "FONTAWESOME";
			}
		}
	}
}
@media screen and (max-width:767px){
section.front_news{
	padding:6rem 0;
	& .front_news_list{
		& ul{
			grid-template-columns:repeat(2,1fr);
			row-gap:1rem;
			& li{
				margin-bottom:0;
				& a{
					& p.cate_date{
						font-size:12px;
					}
					& p.ttl{
						font-size:14px;
					}
				}
			}
		}
	}
	& .front_news_btn{
		margin-top:3.5rem;
	}
}
}

section.front_info{
	padding:10rem 0;
	& .front_info_inner{
		& h2{
		width:min(110rem,90%);
		margin:0 auto;
		font-size: 6rem;
        font-weight: 100;
        line-height: 1.4;
        margin-bottom: 3.5rem;
		& span{
			font-size:16px;
			font-weight:bold;
			display:block;
			color:var(--color-secondary);
		}
    	}
		& ul{
			width:min(110rem,90%);
			margin:0 auto;
			& li{
				margin:0;
				padding:3rem 0;
				border-bottom:1px solid #ccc;
				& a{
					text-decoration:none;
					display:block;
					width:100%;
					& span.cate{
						padding:5px 2rem;
						display:inline-block;
						line-height:1;
						background:#111;
						color:#fff;
						margin-right:1.5em;
					}
				}
				&:first-child{
					border-top:1px solid #ccc;
				}
			}
		}
	}
	& .front_news_btn{
		text-align:center;
		margin-top:5rem;
		& a{
			display: inline-block;
            padding: 2rem;
            text-align: center;
            width: min(35rem,90%);
            background: linear-gradient(-45deg, #d91023 50%, #c71021 50%);
            font-weight: bold;
            position: relative;
            color: #fff;
            transition: all ease .15s;
			&:hover{
				opacity:.6;
			}
			&:before{
				position: absolute;
                top: 50%;
                right: 2em;
                translate: 0 -50%;
                content: "\f105";
                font-family: "FONTAWESOME";
			}
		}
	}
}
@media screen and (max-width:767px){
section.front_info{
	padding:6rem 0;
	& .front_info_inner{
		& h2{
		font-size: 4.2rem;
        margin-bottom: 3.5rem;
    	}
		& ul{
			& li{
				& a{
					& span.cate{
						font-size:14px;
					}
					& span.ttl {
					display: block;
					margin-top: 5px;
					}
				}
			}
		}
	}
}
}

.top_page{
	& h2.front_h2{
		font-size:6rem;
		font-weight:100;
		line-height:1.4;
		margin-bottom:3.5rem;
		& span{
			display:block;
			font-weight:bold;
			font-size:1.6rem;
			color:var(--color-secondary);
		}
	}
	& .link{
		& a{
			display:flex;
			align-items:center;
			gap:15px;
			& i{
				margin:0;
				width:40px;
				height:40px;
				border-radius:50vw;
				background:#c71021;
				display:flex;
				flex-direction:column;
				align-items:center;
				justify-content:center;
				color:#fff;
				transform:rotate(0deg);
				transition:all ease .3s;
			}
			& span{
				position:relative;
				z-index:0;
				margin-bottom:3px;
				color:#fff;
				&:before,
				&:after{
					position:absolute;
					content:"";
					bottom: -2px;
					left: 0;
					width: 100%;
					height: 1px;
					background: #cfcfcf;
					z-index: -1;
				}
				&:before{
					background: #c71021;
					transform: scale(0, 1);
					transform-origin: right top;
					transition: transform .3s;
					z-index: 0;
				}
			}
			&:hover{
				& i{
					transform:rotate(360deg);
				}
				& span{
					&:before{
						transform-origin: left top;
						transform: scale(1, 1);
					}
				}
			}
		}
	}
	& section.about{
		background:linear-gradient(to right,#111 80%,transparent 80%);
		& .flex{
			width:min(150rem,90%);
			padding:10rem 0;
			margin:0 0 0 auto;
			justify-content:space-between;
			align-items:center;
			& .txt_box{
				width:35%;
				& h2{
					font-size:4rem;
					color:#fff;
				}
				& p.txt{
					color:#fff;
					margin:1em 0 0;
				}
				& .link{
					margin-top:5rem;
				}
			}
			& .figure{
				width:55%;
				aspect-ratio:1/1;
				& img{
					width:100%;
					height:100%;
					object-fit:cover;
				}
			}
		}
	}
	& section.product{
		padding:10rem 0;
		& h2.front_h2{
			width:min(110rem,90%);
			margin:0 auto 5rem;
		}
		& .flex{
			width:min(110rem,90%);
			margin:0 auto;
			justify-content:space-between;
			align-items:center;
			& figure{
				width:48%;
				aspect-ratio: 4 / 3;
				& img{
					width:100%;
					height:100%;
					object-fit:cover;
				}
			}
			& .txt_box{
				width:48%;
				& p.ttl{
					font-size:3.5rem;
				}
				& p.txt{
					margin:3.5rem 0 4rem;
				}
				& .link{
					& a span{
						color:#333;
					}
				}
			}
		}
	}
	& section.anker_link{
		padding:10rem 0 0;
		& .grid{
			margin:0 auto;
			display:grid;
			grid-template-columns:50% 50%;
			& a{
				position:relative;
				z-index:0;
				aspect-ratio:2/1;
				& p.ttl{
					position:relative;
					display:flex;
					flex-direction:column;
					align-items:center;
					text-align:center;
					line-height:1.4;
					width:100%;
					padding:0 5%;
					top:50%;
					left:50%;
					translate:-50% -50%;
					font-size:6rem;
					font-weight:100;
					color:#fff;
					z-index:1;
					& span{
						color:var(--color-secondary);
						font-size:1.6rem;
						font-weight:bold;
					}
					& i{
						border:1px solid #fff;
						width:45px;
						height:45px;
						line-height:1;
						font-size:16px;
						border-radius:50vw;
						display:flex;
						flex-direction:column;
						align-items:center;
						justify-content:center;
						color:#fff;
						transition:all ease .3s;
						margin:3rem 0 0;
						transform:rotate(0deg);
					}
				}
				&.flow_banner{
					background:url(/wp-content/uploads/A-33.jpg) no-repeat;
					background-size:cover;
				}
				&.faq_banner{
					background:url(/wp-content/uploads/top_faq.jpg) no-repeat;
					background-size:cover;
				}
				&:before{
					position:absolute;
					content:"";
					top:0;
					left:0;
					width:100%;
					height:100%;
					background:rgba(0 0 0/85%);
					z-index:0;
					transition:all ease .3s;
				}
				&:hover{
					& p.ttl{
						& i{
							transform:rotate(360deg);
						}
					}
					&:before{
						background:rgba(0 0 0/55%);
					}
				}
			}
		}
	}
	& section.company{
		padding:15rem 0;
		background:#f9f9f9;
		& .flex{
			width:min(110rem,90%);
			justify-content:space-between;
			margin:0 auto;
			& .txt_box{
				width:47%;
				& p.txt{
					margin:4rem 0 5rem;
				}
				& ul{
					& li{
						border-bottom:1px solid #ccc;
						padding:3.5rem 0;
						margin:0;
						&:first-child{
							border-top:1px solid #ccc;
						}
						& a{
							display:flex;
							justify-content:space-between;
							align-items:center;
							text-decoration:none;
							transition:all ease .3s;
							& span{
								text-decoration:none;
							}
							& i{
								border: 1px solid #333;
								width: 45px;
								height: 45px;
								line-height: 1;
								font-size: 16px;
								border-radius: 50vw;
								display: flex;
								flex-direction: column;
								align-items: center;
								justify-content: center;
								color: #333;
								transition: all ease .3s;
								transform: rotate(0deg);
							}
							&:hover{
								& span{
									color:var(--color-secondary);
								}
								& i{
									transform: rotate(360deg);
								}
							}
						}
					}
				}
			}
			& figure{
				width:47%;
				aspect-ratio:1/1;
				& img{
					width:100%;
					height:100%;
					object-fit:cover;
				}
			}
		}
	}
}
@media screen and (max-width:767px){
.top_page{
	& h2.front_h2{
		font-size:4.2rem;
	}
	& .link{
		& a{
			& i{
				width:40px;
				height:40px;
			}
		}
	}
	& section.about{
		background:linear-gradient(to right,#111 95%,transparent 95%);
		& .flex{
			padding:6rem 0;
			& .txt_box{
				width:100%;
				padding-right:10%;
				& h2{
					font-size:2.4rem;
				}
				& .link{
					margin-top:4rem;
				}
			}
			& .figure{
				margin-top:5rem;
				width:100%;
			}
		}
	}
	& section.product{
		padding:6rem 0;
		& h2.front_h2{
			margin:0 auto 4rem;
		}
		& .flex{
			& figure{
				width:100%;
			}
			& .txt_box{
				width:100%;
				margin-top:3.5rem;
				& p.ttl{
					font-size:2.2rem;
				}
				& p.txt{
					margin:2.5rem 0 3rem;
				}
			}
		}
	}
	& section.anker_link{
		padding:2rem 0 0;
		& .grid{
			margin:0 auto;
			width:90%;
			gap:2rem;
			grid-template-columns:100%;
			& a{
				aspect-ratio:4/3;
				& p.ttl{
					font-size:4.2rem;
					& span{
						font-size:1.6rem;
					}
				}
			}
		}
	}
	& section.company{
		margin-top:2rem;
		padding:6rem 0;
		& .flex{
			& .txt_box{
				width:100%;
				& p.txt{
					margin:3rem 0 4rem;
				}
				& ul{
					& li{
						border-bottom:1px solid #ccc;
						padding:3.5rem 0;
						margin:0;
					}
				}
			}
			& figure{
				margin-top:5rem;
				width:100%;
			}
		}
	}
}
}
/*------------------------------------------
  下層設定
--------------------------------------------*/
body:not(.home) .site-body {
    padding:calc(10rem + (1vw - 1.92rem) * 2.5890) 0;
}
@media screen and (max-width:767px){
	body.home .site-body {
		margin-top:0 !important;
}
}
.page-header{
	position:relative;
	z-index:0;
}
.page-header:before{
	position:absolute;
	content:"";
	z-index:-1;
	background:rgba(0 0 0 /55%);
	width:100%;
	height:100%;
	top:0;
	left:0;
}
body:not(.home) .page-header{
	background:url(/wp-content/uploads/eye-1.jpg) no-repeat;
	background-size:cover;
	background-position:top 50% left 50%;
}
h1.page-header-title{
    font-size: calc(4.8rem + (1vw - 1.92rem) * 1.1650);/*4.8-3(375)*/
    font-weight: bold;
    line-height: 1.4;
    margin: 0;
    color: #fff;
}
h2.cmn_h2{
	font-size:6rem;
	font-weight:100;
	line-height:1.4;
	& span{
		display:block;
		font-weight:bold;
		font-size:1.6rem;
		color:var(--color-secondary);
	}
}
@media screen and (max-width:767px){
h1.page-header-title{
    font-size: 2rem;/*4.8-3(375)*/
}
h2.cmn_h2{
	font-size:4.2rem;
}
}
/*------------------------------------------
  会社概要
--------------------------------------------*/
.post-name-company{
	& section{
		& .inner{
			width:min(110rem,90%);
			margin:0 auto;
			& h2{
				margin-bottom:5rem;
			}
			& .flex{
				justify-content:space-between;
				& figure{
					width:48%;
					& img{
						width:100%;
						aspect-ratio:1/1;
						object-fit:cover;
					}
				}
				& .txt_box{
					width:48%;
					& p.txt{
						&:not(:first-child){
							margin-top:1em;
						}
						&.right{
							text-align:right;
							font-weight:bold;
							& img{
								max-width:35rem;
								margin:0 0 0 auto;
							}
						}
					}
				}
			}
			& table{
				border:none;
				margin:0;
				& tr{
					border:none;
					border-bottom:1px solid #ccc;
					&:first-child{
						border-top:1px solid #ccc;
					}
					& th{
						padding:2rem;
						border:none;
						text-align:left;
						background:#f9f9f9;
					}
					& td{
						padding:2rem;
						border:none;
					}
				}
			}
			& iframe{
				display:block;
				margin:0;
				width:100%;
				height:auto !important;
				aspect-ratio:5/2;
			}
		}
		&.mt{
			margin-top:10rem;
		}
	}
}
@media screen and (max-width:767px){
.post-name-company{
	& section{
		& .inner{
			& h2{
				margin-bottom:3.5rem;
			}
			& .flex{
				& figure{
					width:100%;
					& img{
						aspect-ratio:auto;
					}
				}
				& .txt_box{
					width:100%;
					margin-top:2rem;
					& p.txt.right{
						& img{
							max-width:25rem;
						}
					}
				}
			}
			& table{
				& tr{
					& th{
						padding:1rem 2rem;
						display:block;
					}
					& td{
						padding: 2rem;
						display:block;
					}
				}
			}
			& iframe{
				aspect-ratio:1/1;
			}
		}
		&.mt{
			margin-top:6rem;
		}
	}
}
}
/*------------------------------------------
  当社の強み
--------------------------------------------*/
.post-name-strength{
	& section{
		& .inner{
			width:min(110rem,90%);
			margin:0 auto;
		}
		&.mt{
			margin-top:10rem;
		}
		& h2{
			text-align:center;
			font-size:3.2rem;
			margin-bottom:5rem;
			& span{
				display:block;
				color:var(--color-secondary);
				font-size:2.4rem;
			}
		}
		& .flex_first{
			display:flex;
			justify-content:space-between;
			& .txt_box{
				width:50%;
				& .link{
					margin-top:3rem;
		& a{
			display:flex;
			align-items:center;
			gap:15px;
			& i{
				margin:0;
				width:40px;
				height:40px;
				border-radius:50vw;
				background:#c71021;
				display:flex;
				flex-direction:column;
				align-items:center;
				justify-content:center;
				color:#fff;
				transform:rotate(0deg);
				transition:all ease .3s;
			}
			& span{
				position:relative;
				z-index:0;
				margin-bottom:3px;
				color:#333;
				&:before,
				&:after{
					position:absolute;
					content:"";
					bottom: -2px;
					left: 0;
					width: 100%;
					height: 1px;
					background: #cfcfcf;
					z-index: -1;
				}
				&:before{
					background: #c71021;
					transform: scale(0, 1);
					transform-origin: right top;
					transition: transform .3s;
					z-index: 0;
				}
			}
			&:hover{
				& i{
					transform:rotate(360deg);
				}
				& span{
					&:before{
						transform-origin: left top;
						transform: scale(1, 1);
					}
				}
			}
		}
	}
			}
			& figure{
				width:45%;
				display:flex;
			}
		}
		&.br_change{
			padding:10rem 0;
			background:#f8f8f8;
			& .grid{
				display:flex;
				flex-wrap:wrap;
				justify-content:center;
				gap:2%;
				row-gap:2rem;
				margin-top:5rem;
				& .box{
					position:relative;
					z-index:0;
					width:32%;
					aspect-ratio:3/2;
					& p.ttl{
						position:absolute;
						font-weight:bold;
						width:100%;
						font-size:2rem;
						text-align:center;
						top:50%;
						left:50%;
						transform:translate(-50%,-50%);
						z-index:0;
						color:#fff;
					}
					& img{
						position:absolute;
						top:0;
						left:0;
						width:100%;
						height:100%;
						object-fit:cover;
						z-index:-1;
					}
					&:before{
						position:absolute;
						content:"";
						background:rgba(0 0 0/ 60%);
						top:0;
						left:0;
						width:100%;
						height:100%;
						z-index:0;
					}
				}
			}
		}
		&.kakou_sec{
			& figure.mb{
				margin-bottom:5rem;
			}
			& .flow_box{
				margin-top:5rem;
				padding:3rem;
				background:#f8f8f8;
				& p.ttl{
					text-align:center;
					font-size:2.4rem;
				}
				& ul{
					& li.flex{
						margin:2rem 0 0;
						justify-content:space-between;
						align-items:center;
						padding:3rem;
						background:#fff;
						& figure{
							width:48%;
							aspect-ratio:16/9;
							& img{
								width:100%;
								height:100%;
								object-fit:cover;
							}
						}
						& .txt_box{
							width:48%;
							& p.step{
								font-size:2rem;
								font-weight:bold;
								display:flex;
								gap:1.2em;
								margin-bottom:1.5rem;
								& .num{
									width:3rem;
									height:3rem;
									display:flex;
									flex-direction:column;
									align-items:center;
									justify-content:center;
									line-height:1;
									background:var(--color-secondary);
									color:#fff;
								}
							}
						}
					}
				}
			}
			& p.dscr{
				text-align:center;
				margin:3rem 0;
			}
			& .btn_sec{
				text-align:center;
		& a{
			display: inline-block;
            padding: 2rem;
            text-align: center;
            width: min(35rem,90%);
            background: linear-gradient(-45deg, #d91023 50%, #c71021 50%);
            font-weight: bold;
            position: relative;
            color: #fff;
            transition: all ease .15s;
			&:hover{
				opacity:.6;
			}
			&:before{
				position: absolute;
                top: 50%;
                right: 2em;
                translate: 0 -50%;
                content: "\f105";
                font-family: "FONTAWESOME";
			}
		}
			}
		}
	}
}
@media screen and (max-width:767px){
.post-name-strength{
	& section{
		&.mt{
			margin-top:6rem;
		}
		& h2{
			font-size:2rem;
			margin-bottom:3.5rem;
			& span{
				font-size:1.6rem;
			}
		}
		& .flex_first{
			flex-direction:column;
			& .txt_box{
				width:100%;
				& .link{
					margin-top:2rem;
	}
			}
			& figure{
				width:100%;
				margin-top:3rem;
				& img{
					width:33%;
				}
			}
		}
		&.br_change{
			padding:6rem 0;
			& .grid{
				margin-top:3.5rem;
				row-gap:5px;
				& .box{
					width:48%;
					& p.ttl{
						font-size:1.2rem;
					}
				}
			}
		}
		&.kakou_sec{
			& figure.mb{
				margin-bottom:3.5rem;
			}
			& .flow_box{
				margin-top:3.5rem;
				padding:2rem;
				& p.ttl{
					font-size:2rem;
				}
				& ul{
					& li.flex{
						padding:2rem;
						& figure{
							width:100%;
						}
						& .txt_box{
							width:100%;
							& p.step{
								font-size:1.8rem;
								margin-top:2rem;
							}
						}
					}
				}
			}
			& p.dscr{
				font-size:14px;
			}
		}
	}
}
}
/*------------------------------------------
  オーダー商品の流れ
--------------------------------------------*/
.post-name-flow{
	& section{
		& .inner{
			width:min(110rem,90%);
			margin:0 auto;
		}
		&.mt{
			margin-top:10rem;
		}
		& h2{
			text-align:center;
			font-size:3.2rem;
			margin-bottom:5rem;
			& span{
				display:block;
				color:var(--color-secondary);
				font-size:2.4rem;
			}
		}
				& ul.flow_ul{
					margin-bottom:5rem;
					& li.flex{
						margin:3.5rem 0 0;
						justify-content:space-between;
						align-items:center;
						padding:3rem;
						background:#f9f9f9;
						& figure{
							width:48%;
							aspect-ratio:16/9;
							& img{
								width:100%;
								height:100%;
								object-fit:cover;
							}
						}
						& .txt_box{
							width:48%;
							& p.step{
								font-size:2rem;
								font-weight:bold;
								display:flex;
								gap:1.2em;
								margin-bottom:1.5rem;
								& .num{
									width:3rem;
									height:3rem;
									display:flex;
									flex-direction:column;
									align-items:center;
									justify-content:center;
									line-height:1;
									background:var(--color-secondary);
									color:#fff;
								}
							}
						}
					}
				}
			}
			& .btn_sec{
				text-align:center;
		& a{
			display: inline-block;
            padding: 2rem;
            text-align: center;
            width: min(35rem,90%);
            background: linear-gradient(-45deg, #d91023 50%, #c71021 50%);
            font-weight: bold;
            position: relative;
            color: #fff;
            transition: all ease .15s;
			&:hover{
				opacity:.6;
			}
			&:before{
				position: absolute;
                top: 50%;
                right: 2em;
                translate: 0 -50%;
                content: "\f105";
                font-family: "FONTAWESOME";
			}
			}
			}
	& .order_product_list{
		margin-top:6rem;
		& p.ttl{
			text-align: center;
            font-size: 2.4rem;
			margin-bottom:3rem;
		}
	}
}
.gallery-columns-3{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:2%;
	row-gap:2rem;
	& dl.gallery-item{
		float:none !important;
		width:100% !important;
		margin:0 !important;
		& dt.gallery-icon.landscape{
			margin:0 !important;
			& a{
				& img{
					border:none !important;
				}
			}
		}
	}
	& br{
		display:none;
	}
}

@media screen and (max-width:767px){
.post-name-flow{
	& section{
		&.mt{
			margin-top:6rem;
		}
		& h2{
			font-size:2rem;
			margin-bottom:3.5rem;
			& span{
				font-size:1.6rem;
			}
		}
				& ul.flow_ul{
					margin-bottom:3.5rem;
					& li.flex{
						margin:2rem 0 0;
						padding:2rem;
						& figure{
							width:100%;
						}
						& .txt_box{
							width:100%;
							& p.step{
								font-size:1.8rem;
								margin-top:2rem;
							}
						}
					}
				}
			}
	& .order_product_list{
		& p.ttl{
            font-size: 2rem;
		}
	}
.gallery-columns-3{
	grid-template-columns:repeat(2,1fr);
	gap:2%;
	row-gap:.8rem;
}
}
}
/*------------------------------------------
  よくあるご質問
--------------------------------------------*/
.post-name-faq{
	& section{
		& .inner{
			width:min(110rem,90%);
			margin:0 auto;
		}
		&.mt{
			margin-top:10rem;
		}
		& h2{
			text-align:center;
			font-size:3.2rem;
			margin-bottom:5rem;
			& span{
				display:block;
				color:var(--color-secondary);
				font-size:2.4rem;
			}
		}
}
	& dl{
		margin-top:3rem;
		& dt{
			position:relative;
			padding-left:3em;
			margin-bottom:2rem;
			&:before{
				position:absolute;
				content:"Q";
				top:0;
				left:0;
				width:3rem;
				height:3rem;
				display:flex;
				flex-direction:column;
				align-items:center;
				justify-content:center;
				background:var(--color-secondary);
				color:#fff;
			}
		}
		& dd{
			position:relative;
			padding-bottom:3rem;
			padding-left:3em;
			border-bottom:1px dashed #ccc;
			&:before{
				position:absolute;
				content:"A";
				top:0;
				left:0;
				width:3rem;
				height:3rem;
				display:flex;
				flex-direction:column;
				align-items:center;
				justify-content:center;
				background:#333;
				color:#fff;
			}
		}
	}
}

@media screen and (max-width:767px){
.post-name-faq{
	& section{
		& h2{
			font-size:2rem;
			margin-bottom:3.5rem;
			& span{
				font-size:1.6rem;
			}
		}
}
	& dl{
		& dt{
			&:before{
				top:-4px;
			}
		}
		& dd{
			&:before{
				top:-4px;
			}
		}
	}
}
}

/*------------------------------------------
  商品一覧
--------------------------------------------*/
body.archive.post-type-product{
	& .site-body-container.container{
		display:block;
	}
	& .main-section--col--two{
		width:100%;
	}
}

@media screen and (max-width:767px){
body.archive{
	& .site-body-container.container{
		grid-template-columns:100%;
		gap:5rem;
	}
}
}
.grid.common_grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:3%;
	row-gap:2.5rem;
	& a{
		position:relative;
		& figure{
			overflow:hidden;
			aspect-ratio:3/2;
			& img{
				width:100%;
				height:100%;
				transform:scale(1.0001);
				object-fit:cover;
				transition:all ease .35s;
			}
		}
		& .txt_box{
			background:#000;
			width:100%;
			padding:1.2rem;
			display:flex;
			flex-direction:column;
			align-items:center;
		}
		& p{
			color:#fff;
			font-size:15px;
			text-align:center;
		}
		& p.ttl{
			font-weight:bold;
		}
		& p.btn{
			background:var(--color-secondary);
			margin-top:5px;
			font-size:13px;
			border:1px solid var(--color-secondary);
			transition:all ease .35s;
		}
		&:hover{
			& figure{
				& img{
					transform:scale(1.1);
					opacity:1;
				}
			}
			& p.btn{
				background:transparent;
			}
		}
	}
}
.pagination .nav-links{
	display:flex;
	justify-content:center;
	gap:1rem;
	& span.page-numbers.current{
		margin:0;
		width:2rem;
		height:2rem;
		border:1px solid #999;
		border-radius:50vw;
		color:#333;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
	}
	& a{
		display:block;
	}
}
@media screen and (max-width:767px){
.grid.common_grid{
	grid-template-columns:repeat(2,1fr);
	row-gap:1.5rem;
}
}

/*------------------------------------------
  商品詳細
--------------------------------------------*/
.post-type-product{
	& .main-section--col--two{
		width:min(80rem,90%);
		margin:0 auto;
		float:none;
		& h2.common_h2{
    		font-size: 2.4rem;
    		font-weight: 500;
			text-align:center;
    		padding-bottom: 1.5rem;
    		margin-bottom: 5px;
    		border-bottom: 1px solid #ccc;
		}
		& .product_img_box{
			background:#f9f9f9;
			margin:3rem 0;
			& img{
				object-fit:contain;
				object-position:center;
				aspect-ratio:3/2;
			}
		}
		& table.data_table{
			& td{
				padding:1.5rem;
			}
			& th{
				padding:1.5rem;
				background:#f9f9f9;
				width:20%;
			}
		}
		& .center{
			margin-top:3rem;
			& a.back_btn{
				padding:1rem 1.5rem;
				display:flex;
				align-items:center;
				font-size:14px;
				border:1px solid #ccc;
				width: 160px;
                justify-content: center;
                margin: 0 auto;
				& i{
					margin:0 0 0 .5em;
				}
			}
		}
	}
}

@media screen and (max-width:767px){
.post-type-product{
	& .main-section--col--two{
		& h2.common_h2{
    		font-size: 1.6rem;
		}
		& .product_img_box{
			margin:1.5rem 0;
		}
		& table.data_table{
			& th{
				display:block;
				width:100%;
				text-align:left;
			}
			& td{
				display:block;
				width:100%;
			}
		}
	}
}
}

/*リキャプチャロゴ削除*/
.grecaptcha-badge {
    visibility: hidden;
}