@charset "utf-8";
/*
Theme Name: rad-revive
Theme URI: https://tandemdesign.jp/
Author: tandemdesign
Author URI: https://tandemdesign.jp/
Version: 1.0.0
*/
/* リセットCSS */
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}main{display:block}h1,h2,h3,h4,h5,h6{font-size:inherit;line-height:inherit;font-weight:bold;}a{text-decoration:none;color:inherit;transition:all .3s ease-in-out}img{display: block;max-width:100%;height:auto;vertical-align: middle;}ol,ul{list-style:none}table{border-collapse:collapse}input,textarea,select{font:inherit;line-height:inherit;border:1px solid #ccc;padding:8px;}textarea{resize:vertical}button{padding: 0;font-family: inherit;appearance: none;cursor: pointer;background-color: transparent;border: none;}fieldset{border:0;padding:0;margin:0;min-width:0}legend{display:block;width:100%;max-width:100%;padding:0;white-space:normal;}[hidden],template{display:none}:focus-visible{outline:2px solid #000}

/* 汎用CSS
===================================================== */

/* スマホでテキストの折り返し用 */
.ib {display: inline-block}

/* フォーム */
label {margin-bottom:8px;}
select,
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
textarea {width: 100%;max-width: 100%;padding: 8px 16px;background-color: #fff;margin-top: 4px;}
select,input,textarea {line-height: 1.1;font-family: inherit;font-size: inherit;font-weight: inherit;}

input[type="submit"],
input[type="button"]{padding: 12px 16px;}

.fontM{font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;}
.fontG{font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;}
.fonten{font-family:var(--en-font)}

:root {
	--font-color: #222222;
	--main-color:#C49F45;
	--bg-color: #111111;
	--main-font:"Noto Serif JP", sans-serif;
	--hover-transform:all .3s ease-in-out;
	--hamburger-transform:display .5s ease-in-out;
	--show-anime:opacity .3s , translate .8s;
	--clip-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
	--clip-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
	--clip-triangle-right: polygon(0 0, 100% 50%, 0 100%);
	--clip-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
	--clip-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
	--clip-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
	--clip-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
	--clip-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);
}

::selection {background-color: var(--main-color);color:#fff;}

/* 基本レイアウト
===================================================== */

html{height: -webkit-fill-available;}
body{min-height: 100vh;min-height: -webkit-fill-available;}

body {font-size: 16px;font-family:var(--main-font);line-height: 1.8;letter-spacing: .05em;color: var(--font-color);text-align: justify;font-feature-settings: "palt";background-color: #111;}

#page{overflow:hidden;}
.page-content{padding-block: 100px;position:relative}
.container{width: 1240px;max-width: 100%;padding-inline: 20px;margin-inline: auto;position: relative;z-index:11}

@media(max-width:720px){
	body{font-size:14px;}
}

/* 投稿一覧
===================================================== */
.posts-archive-list{display:grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 40px;}
.posts-item{position:relative;display: flex;flex-direction: column;}
.posts-thumbnail{width:100%;aspect-ratio:3/2;overflow:hidden}
.posts-thumbnail img{display:block;width:100%;height:100%!important;object-fit:cover;transition:var(--hover-transform);}
.posts-item-des{margin-top: 32px;}
.posts-cat-list{display:flex;flex-wrap:wrap;gap:8px 1em;}
.posts-cat-list li{padding-block:2px;padding-inline:16px;border:1px solid #fff;font-size:14px;color:#fff;}
.posts-tit{font-size:18px;color:#fff;margin-top:16px;}
.posts-more{width:fit-content;margin-top: auto;margin-left:auto;padding-top: 16px;}
.posts-more span{font-weight:900;text-transform:uppercase;color:var(--main-color)}

.article-wrap{width: 800px;max-width: 100%;margin-inline:auto;}
.posts-list-content{position:relative;display:flex;flex-direction:column;}

.no-results h3{padding:40px;font-size:17px;color:#fff;text-align:center}
/* ページネーション */
.pagination{margin-top: 80px;}
.nav-links ul{position: relative;display:flex;gap: 8px;align-items: center;justify-content: center;width: 100%;flex-wrap: wrap;font-family: var(--en-font);line-height: 1;}
.nav-links li .page-numbers{width:40px;aspect-ratio:1;border: 1px solid;display:grid;place-items:center;background-color: #fff;position:relative;}
.nav-links li .page-numbers.current{background-color: var(--main-color);border: none;}

/* 記事
===================================================== */

/* 関連記事 */
.single-related{margin-top:80px;}
.single-related-list{display:grid;gap: 32px;grid-template-columns:repeat(2,minmax(0,1fr))}
.single-related-list li{position:relative;}
.single-related-tit{font-size: 24px;color: #fff;margin-block:1em .5em;padding-top: .5em;}
.single-related-item{display:grid;grid-template-columns: 160px minmax(0,1fr);gap: 16px;color: #fff;border-bottom: 1px solid var(--main-color);}
.single-related-img{width:100%;aspect-ratio:3/2;}
.single-related-img img{width:100%;height:100%;object-fit:cover;}
.single-related-des{display:flex;flex-direction:column;}
.single-related-des h4{line-height:1.2;color: #fff;}

/* 投稿者情報 */
.author-info{padding-block: 40px;padding-inline: 24px;background-color: #E4E4E4;}
.author-name{width:fit-content;}
.author-name img{width: 240px;}
.author-data{margin-top: 1em;}
.author-data-head{font-size:12px;}
.author-data-body{margin-top:1em;font-size: 12px;}
.author-googlemap{margin-top: 8px;}
.author-googlemap a{font-size:14px;font-family:var(--en-font);line-height:1;display:inline-block;padding:8px 24px;background-color: #fff;}
.author-contact{margin-top: 1em;}

.single-content-item{margin-top:40px;}
.shingle-update{font-family:var(--en-font)}
.single-title{font-size: 40px;margin-bottom: 1em;color: var(--main-color);border-bottom:2px dashed;text-align:center;}
.single-thumbnail{margin-bottom: 40px;}
.single-thumbnail img{width:100%;}

/* 記事コンテンツ内部 */
.single-content{color:#fff;}
.single-content h2{font-size: 24px;padding-block:8px;padding-inline:8px;margin-block:1em;background-color:var(--gray-color)}
.single-content h3{font-size: 24px;padding-block:8px;margin-block:1em;border-bottom:1px solid var(--font-color);}
.single-content h4{font-size: 24px;color: var(--main-color);margin-block: 1em 4px;padding-top: .5em;border-top:1px solid var(--font-color);}
.single-content h5{font-size: 16px;font-weight: 700;margin-block:1em}
.single-content a {text-decoration:underline;text-underline-offset:4px;}
.single-content img{display:block;}
.single-content p{margin-block:1em;}

/* レイアウト用 */
/* 文字に蛍光ペンで引いたような下線 */
.marker{background:linear-gradient(transparent 65%, #fff366 65%);display:inline;font-weight:600}

.single-posts-nav{margin-block: 40px;}
.single-posts-nav ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:40px;}
.single-posts-nav ul li a{display:block;padding-inline:24px;color: #fff;position: relative;}
.single-posts-nav ul li a::after{content:'';position:absolute;width:10px;aspect-ratio:1/1;border-top:1px solid;border-right:1px solid;top: 24px;}
.single-posts-nav ul li.single-next{text-align:right;}
.single-posts-nav ul li.single-next a::after{rotate:45deg;right:0;}
.single-posts-nav ul li.single-previous a::after{rotate:225deg;left:0;}
.single-posts-nav ul li.single-previous{border-right:1px solid}
.single-prev-txt,
.single-next-txt{font-size:12px;}

.single-more{width:fit-content;margin-top:40px;margin-inline:auto}
.single-more a{display:block;padding-block:8px;padding-inline:24px;background-color:var(--main-color);color:var(--font-color);font-size:16px;font-weight:bold;text-align:center;text-transform:uppercase}

/* 記事ページネーション */
.single-pagination{width:400px;max-width: calc(100% - 32px);margin:64px auto 0;}
.single-pagination ul{display:flex;justify-content: space-between;gap: 16px;}
.single-pagination li a{display:block;font-size:14px;font-weight: bold;padding: 4px 24px;border:1px solid #000;text-align:center;position:relative;line-height: 1;}
.single-pagination li.single-previous,
.single-pagination li.single-next{width: 97px;font-size:12px;font-family: var(--en-font);font-weight:bold;}
.single-pagination li.single-previous a::before{content:'';display:inline-block;width: 8px;height: 8px;border-bottom:1px solid #000;border-left:1px solid #000;margin-right:8px;transform: rotate(45deg);vertical-align: 1px;}
.single-pagination li.single-next a::after{content:'';display:inline-block;width: 8px;height: 8px;border-top:1px solid #000;border-right:1px solid #000;margin-left:8px;transform: rotate(45deg);vertical-align: 1px;}

@media(max-width:767px) {
	.single-title{font-size:24px;}
	.single-related-list{grid-template-columns:repeat(1,minmax(0,1fr));}
	.single-related-item{grid-template-columns:120px minmax(0,1fr)}
}

/* ヘッダー
===================================================== */

.site-name-txt{font-size:24px;font-weight:bold;text-align:center;line-height:1.4}
.site-name-txt span{display:block;font-size:12px;font-weight:normal;}
.visuallyHidden {position: absolute;white-space: nowrap;width: 1px;height: 1px;overflow: hidden;border: 0;padding: 0;clip: rect(0 0 0 0);clip-path: inset(50%); margin: -1px;}
.menu-hidden span{position: absolute;white-space: nowrap;overflow: hidden;border: 0;padding: 0;clip: rect(0 0 0 0);clip-path: inset(50%); margin: -1px;}
.menu-instagram a{display:block;width:20px;aspect-ratio:1/1;background:url(./images/icon-instagram.png)no-repeat center / contain!important;filter:invert(100%);}
.menu-line a{display:block;width:128px;aspect-ratio:128/13;background:url(./images/icon-line.png)no-repeat center / contain!important;filter:invert(100%);}

.sec-header{position:absolute;top:0;left:0;right:0;z-index: 111;background-color: rgb(255,255,255,.85);transition:var(--hover-transform)}
.header-des{font-size:12px;text-align:center;padding-top: .2em;}
.header-content{display:grid;grid-template-columns:294px minmax(0,1fr);align-items:center;padding-block:8px 16px;padding-inline:20px;}
.header-logo a{display:flex;align-items:flex-end;gap:32px;}
.header-logo a img{width:112px;}
.header-logo .site-name-txt{padding-bottom:12px;}
.header_Menu_list{display:flex;align-items:center;gap:2em;justify-content:flex-end;}
.header_Menu_list li a{font-weight:bold;background-image: linear-gradient(to right,var(--main-color) ,var(--main-color) 2px,#ffffff00 2px,#ffffff00 3px);background-size:0 2px;background-position: bottom right;background-repeat:repeat-x;padding-bottom: 8px;transition: background-size .3s ease-out;}

.is-scrollActive .sec-header{position:fixed;padding-block: 16px;}
.is-scrollActive .header-des{display:none}
.is-scrollActive .header-content{padding-block:0}
.is-scrollActive .header-logo a{justify-content:flex-end}
.is-scrollActive .header-logo img{display:none}
.is-scrollActive .header-logo .site-name-txt{padding-bottom:0}
.is-scrollActive .header-logo .site-name-txt span{display:none}


/* ハンバーガーメニュー */
.header-hamburger{display:none}
.hamburgerbutton {position: relative;display: block;text-decoration: none;-webkit-appearance: none;-moz-appearance: none;appearance: none;border: none;cursor: pointer;width: 78px;background-color: transparent;padding: 0;margin-left: auto;top: 0;right: 0;z-index: 111;}
.hamburgerbutton-line {position: absolute;inset:0;margin: auto;width: 36px;height: 3px;-webkit-transition: inherit;transition: inherit;background-color: #222;}
.hamburgerbutton-line::before,
.hamburgerbutton-line::after {position: absolute;display: block;width: 100%;height: 100%;background-color: inherit ;content: '';-webkit-transition: inherit;transition: inherit;transition: transform .2s;}
.hamburgerbutton-line::before {top: -10px;}
.hamburgerbutton-line::after {top: 10px;width: 80%;}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line {background-color: transparent;}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::before,
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::after {top: 0;background-color: #222;}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::before {transform: rotate(45deg);width:100%;}
.hamburgerbutton[aria-expanded="true"] .hamburgerbutton-line::after {transform: rotate(-45deg);width:100%;}
.nav_hamburger_menu{position:fixed;inset: 0;margin: auto;width: 100%;height: 100dvh;overflow: auto;transition: opacity .5s;align-items: center;pointer-events: none;}

.hamburger-content{width: 640px;max-width: 100%;height: 100%;margin-left: auto;background-color: #fff;padding-inline: 20px;padding-block: 40px;overflow: auto;opacity:0;transition:opacity 1.4s cubic-bezier(0.14,1,0.34,1)}
.hamburger-site-logo{width:fit-content}
.hamburger-site-logo img{width: 74px;}
.hamburger_Menu{margin-top: 40px;}
.hamburger_Menu li:not(:first-child){margin-top: 1em;}
.hamburger_Menu li a{display: flex;align-items:center;justify-content:space-between;font-size: 16px;font-weight: bold;padding-inline: 8px;padding-bottom:4px;border-bottom:1px solid #E4E4E4}
.hamburger_Menu li a::after{content:attr(title);display: inline-block;font-size:18px;font-weight:bold;text-transform:uppercase;color:var(--main-color)}

.hamburger_Menu li.menu-instagram a{border:none;width:24px;}
.hamburger_Menu li.menu-line a{border:none;width:160px;margin-top:24px}
.is-drawerActive .hamburgerbutton{z-index: 1112;background-color:transparent}
.is-drawerActive .nav_hamburger_menu{pointer-events: auto;}


.is-drawerActive .hamburgerbutton{position: fixed;top: 39px;z-index: 1112;background-color:transparent}
.is-drawerActive .nav_hamburger_menu{display: flex;}
.is-drawerActive .hamburger-content{opacity:1}
.hamburger-link{display:flex;align-items:center;justify-content: center;gap: 40px;margin-top: 24px;}
.hamburger-link p{width:48px;aspect-ratio:1/1;display:grid;place-items:center;filter:grayscale(100%)}

.is-drawerActive .sec-header{position:absolute;width:100%;z-index: 1111;}

/* フッター
---------------------------- */
.sec-contact{background:url(./images/contact-bg.jpg)no-repeat center / cover;padding-block: 248px 48px;position:relative;}
.contact-item-des{padding-block:48px;color:#fff;text-align:center;}
.contact-item-list{display:grid;grid-template-columns: repeat(4,auto);align-items:center;}
.contact-item-list li{border-right:2px dotted #fff;}
.contact-item-list li:last-child{border:none}
.contact-item-list li img{display:block;margin-inline:auto;}
.contact-item-list li img[src$="icon-tel.png"]{width:249px;}
.contact-item-list li img[src$="icon-mail.png"]{width:40px;}
.contact-item-list li img[src$="icon-instagram.png"]{width:47px;}
.contact-item-list li img[src$="icon-line.png"]{width:300px;}
.sec-contact .com-txt-en{top:99px;}
.map-item{aspect-ratio:1920/547;}
.map-item iframe{width:100%;height:100%;display: block;}
.sec-footer{background-color:var(--bg-color);padding-block:64px 24px}
.footer-content{display:grid;grid-template-columns:275px minmax(0,1fr);align-items:center;gap: 72px;}
.footer-content .site-logo img{filter:invert(100%);width:100%;}
.footer-item{display:flex;flex-direction:column;height: 100%;padding-block: 48px 24px;}
.footer_Menu_list{display:flex;align-items:center;gap:2em;}
.footer_Menu_list li a{font-size:14px;color:#fff;}
.footer_Menu_list li.menu-instagram a{filter:invert(0%);}
.footer_Menu_list li.menu-line a{filter:invert(0%);}
.footer-unit{display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center;margin-top: auto;}
.footer-unit .site-name-txt{color:#fff;}
.footer-info{font-size:12px;color:#fff;}
.footer-address{display:flex;gap: 1px 1em;flex-wrap: wrap;}
.site-generator{font-size:12px;color:#fff;text-align:center;margin-top:40px}


@media(max-width:1200px){
	.header-nav{display:none;}
	.header-hamburger{display:block;}
	.header-logo a{gap:1em;}
	.header-logo a img{width:80px;}
	.site-name-txt{font-size:20px;}
	.is-scrollActive .header-logo a{justify-content: flex-start;padding-left:40px}
	.contact-item-list{grid-template-columns: repeat(2,minmax(0,1fr));gap: 16px;}
	.contact-item-list li:nth-child(even){border-right:none}
	.footer-content{grid-template-columns:180px minmax(0,1fr);gap:24px;}
	.footer-item{padding-block:40px 20px}
}

@media(max-width:1024px){
	.footer-content{grid-template-columns:minmax(0,1fr);gap:24px;}
	.footer-content .site-logo{width: 160px;margin-inline: auto;}
	.footer-item{padding-block:0}
	.footer_Menu_list{flex-direction:column;gap: 1em;}
	.footer_Menu_list li a{font-size:16px;font-weight:bold}
	.footer_Menu_list li.menu-instagram a{width:24px;margin-top:16px}
	.footer_Menu_list li.menu-line a{width:160px;margin-top:16px}
	.footer-unit{grid-template-columns:minmax(0,1fr);margin-top: 72px;gap: 16px;text-align: center;}
	.footer-unit .footer-address{justify-content:center;}
}

@media(max-width:767px){
	.header-des{font-size:10px;}
	.header-content{padding-bottom:8px;padding-inline: 8px;}
	.site-name-txt{font-size:18px;}
	.site-name-txt span{font-size:11px;}
	.is-scrollActive .header-logo a{padding-left:24px}
	.contact-item-des{text-align:left;}
	.contact-item-list{grid-template-columns: minmax(0,1fr);gap: 32px;}
	.contact-item-list li{border-right:none}
	.contact-item-list li img[src$="icon-tel.png"]{width:220px}
	.contact-item-list li img[src$="icon-mail.png"]{width:48px;}
	.contact-item-list li img[src$="icon-line.png"]{width:220px;}
	.map-item{aspect-ratio:3/2}
	.sec-contact{padding-top:80px}
}

/*-------------------------------------
/* 共通
--------------------------------------- */
.page-herder{height:650px;background-position:center;background-size:cover;background-repeat:no-repeat}
.page-herder .container{height:100%}
.page-tit{display:flex;flex-direction:column-reverse;height:100%;width:fit-content;padding-bottom:80px}
.page-tit h2{font-size:80px;color:#fff;line-height:1;margin-top: 16px;}
.page-tit p img{width:234px;filter:invert(100%)}

.com-tit-1{display:grid;place-items:center;font-size:48px;color:var(--main-color);line-height: 1;padding-block: 16px 24px;background: url(./images/tit-logo-bg.png)no-repeat center / contain;}
.com-tit-1::after{content:attr(data-en);font-size:14px;text-transform: capitalize;color:#5D5D5D;}
.com-tit-1 span{position:relative;padding-bottom: 15px;margin-bottom: 19px;}
.com-tit-1 span::before{content:'';position:absolute;width:240px;height:2px;background-color:var(--main-color);bottom:0;left:50%;translate:-50%;}
.com-tit-1 span::after{content:'';position:absolute;width:240px;height:5px;background-color:var(--main-color);bottom:-10px;left:50%;translate:-50%;}
.com-txt-en{position:absolute;opacity:.3;z-index: -1;}
.com-txt-en p{font-size: clamp(6.25rem, 3.036rem + 5.02vw, 9.063rem);font-weight:bold;line-height:1;text-transform:capitalize;letter-spacing:0.1em;color:var(--main-color);}
.page-txt-en{top:0;left:13vw;writing-mode:vertical-lr}
.more a{display:block;width:300px;max-width:100%;margin-inline:auto;margin-top:72px;font-size:18px;font-weight:bold;text-align:center;padding-block:20px;background-color:var(--main-color);position:relative}
.more a::before{content:'';position:absolute;width:30px;aspect-ratio:30/42;background:url(./images/mark.svg)no-repeat center / contain;left:22px;top:50%;translate:0 -50%;}
.more a::after{content:'';position:absolute;width:31px;aspect-ratio:31/10;background:url(./images/arrow.svg)no-repeat center / contain;right:22px;top:50%;translate:0 -50%;}


.noPost{text-align:center;}

.link-over{position:absolute;inset:0;margin:auto;z-index:1}

.fadeUP{opacity: .0;translate: 0 80px;transition:var(--show-anime);}
.fadeLeft{opacity: .0;translate: -80px 0;transition:var(--show-anime);}
.fadeRight{opacity: .0;translate: 80px 0;transition:var(--show-anime);}
.show .fadeUP{opacity:1;translate:0}
.show .fadeLeft{opacity:1;translate:0}
.show .fadeRight{opacity:1;translate:0}
.show .delay2{transition-delay:.2s}
.show .delay4{transition-delay:.4s}
.show .delay6{transition-delay:.6s}

@media(max-width:1024px){
	.page-herder{height:400px;}
	.page-tit{padding-bottom:40px;}
	.page-tit p img{width: 120px;}
	.page-tit h2{font-size:40px;margin-top: 8px;}
}

@media(max-width:767px){
	.page-tit{grid-template-columns:minmax(0,1fr);gap:8px}
	.page-tit-en{font-size:48px;}
}

/*-------------------------------------
/* ホバースタイル
--------------------------------------- */

@media (hover: hover){
	.header_Menu_list li a:hover{color:var(--main-color);background-size:6px 2px;background-position: bottom left;}
	.contact-item-list a:hover{opacity:.5}
	.footer_navi a:hover{opacity:.5}
	.link-over:hover ~ figure img{scale:1.05}
	.more a:hover{background-color:#fff}
	.service-item-list li a:hover img,
	.gallery-list-sticky a:hover img,
	.gallery-list a:hover img{scale:1.1}
	.gallery-archive-list .gallery-thumbnail a:hover img{scale:1.1}
}


/* TOP
===================================================== */
.mv-img-wrap{height: 100svh;min-height:640px;}
.mv-img img{width:100%;height: 100svh;min-height:640px;object-fit:cover}
.mv-txt{position:absolute;bottom:12vw;left:50%;translate:-50%;z-index:1;width: 44%;}
.mv-txt-en{font-size: clamp(3rem, -0.286rem + 5.13vw, 5.875rem);font-weight:bold;color:#fff;text-align:center;text-transform:capitalize;line-height: 1;text-shadow:3px 3px 3px rgb(0,0,0,.75)}
.mv-txt-jp{font-size: clamp(1.25rem, 1.084rem + 0.35vw, 1.5rem);font-weight:bold;color:#fff;text-align:center;line-height: 1.4;text-shadow:2px 2px 2px rgb(0,0,0,.75)}
.dashed-line{margin-block:2em;width: 100%;}
.dashed{display:block;padding-bottom: 5px;background:linear-gradient(to right,#fff ,#fff 20px,#ffffff00 20px,#ffffff00 27px)repeat-x left bottom / 27px 5px;position:relative;z-index:1;}
.shadow{display:block;padding-bottom: 5px;background:linear-gradient(to right,#ffffff00,#c49f4585 50%, #ffffff00 100%)repeat-x left bottom / 27px 5px;position:relative;z-index:0;margin-top: -3px;}

.sec-service{padding-block:120px 148px;position:relative}
.sec-service::before,
.sec-service::after{content:'';position:absolute;width:60vw;aspect-ratio:1/1;background:url(./images/logo-bg.png)no-repeat center / contain;top:50%;translate:0 -50%;animation:rotate-img 30s linear infinite;pointer-events: none;}
.sec-service::before{left:-30vw;}
.sec-service::after{right:-30vw;}

@keyframes rotate-img {
	to {transform:rotate(360deg);}
}
.service-item-des{width:874px;max-width:100%;margin-inline:auto;margin-top:1em;color:#fff;}
.service-item-des h4{font-size:20px;text-align:center;}
.service-item-des p{margin-top:1em;}
.service-item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 20px;margin-top:72px;}
.service-item-list li{overflow:hidden}
.service-item-list li img{transition:var(--hover-transform)}
.sec-service .com-txt-en{top:0;left:0}

.sec-concept{padding-block:180px 54px;background:url(./images/concept-bg)no-repeat center / cover;position:relative;}
.concept-item{display:grid;grid-template-columns:400px minmax(0,1fr);gap:64px;}
.concept-item img{width:100%;filter:invert(100%)}
.concept-item-des-in h3{font-size: clamp(2.5rem, 1.786rem + 1.12vw, 3.125rem);line-height:1.2;color:var(--main-color);}
.concept-item-des-in p{color:#fff;margin-top:1em;}
.concept-item-des .more a{margin-left:0}
.sec-concept .com-txt-en{top:0;right:0}

.sec-gallery{padding-block:224px 154px;position: relative;}
.sec-gallery::before{content:'';position:absolute;width:15vw;aspect-ratio:290/500;background:url(./images/gallery-left.png)no-repeat center / contain;left:13vw;top:140px;z-index:-1}
.sec-gallery::after{content:'';position:absolute;width:15vw;aspect-ratio:290/500;background:url(./images/gallery-right.png)no-repeat center / contain;right:13vw;top:140px;z-index:-1}
.gallery-item-des{width:874px;max-width:100%;margin-inline:auto;margin-top:1em;color:#fff;}
.gallery-item-des p{margin-top:1em;}
.gallery-wrap{margin-top:88px}
.gallery-list-sticky{transition-timing-function: linear;}
.gallery-list-sticky li{overflow:hidden}
.gallery-list-sticky li img{transition:var(--hover-transform)}
.gallery-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:72px;}
.gallery-list li{overflow:hidden}
.gallery-list li figure{aspect-ratio:4/3;}
.gallery-list li img{width:100%;height:100%;object-fit:contain;transition:var(--hover-transform)}
.sec-gallery .com-txt-en{top: 120px;left:0;}

.sec-instagram{position:relative}
.sec-instagram .com-txt-en{top:0;left:13vw;writing-mode:vertical-lr}

.sec-instagram{padding-bottom:100px;}

/* サービス
===================================================== */
.page-service-item{display:grid;grid-template-columns:45% minmax(0,1fr);gap:2%;}
.page-service-item:first-child{padding-top: 80px;}
.page-service-item:not(:first-child){padding-top: 112px;}
.page-service-item figure img{opacity:.5}
.page-service-item-des h3{font-size:44px;color:var(--main-color);line-height:1;padding-bottom:.2em;position:relative}
.page-service-item-des h3::before{content:'';position:absolute;width:100%;height:1px;background-color:var(--main-color);bottom:0;left:50%;translate:-50%;}
.page-service-item-des h3::after{content:'';position:absolute;width:100%;height:4px;background-color:var(--main-color);bottom:-6px;left:50%;translate:-50%;}
.page-service-item-des h3 span::before{content:'';display:inline-block;width:30px;aspect-ratio:30/42;background:url(./images/p-service-tit.png)no-repeat center / contain;margin-inline:.3em;vertical-align:-4px}
.page-service-item-des p{color:#fff;margin-top:3em;}

/* 事業概要
===================================================== */
.p-concept-item-des{width:874px;max-width:100%;margin-inline:auto;margin-top:1em;color:#fff;}
.p-concept-item-des h4{font-size:20px;text-align:center;}
.p-concept-item-des p{margin-top:1em;}

.page-sec-message{margin-top:96px;}
.p-message-item{display:grid;grid-template-columns:47% minmax(0,1fr);gap:5%;margin-top:68px}
.p-message-item-des p{color:#fff;}
.p-message-item-des p + p{margin-top:1.5em}

.page-sec-about{margin-top:100px;}
.p-about-item{margin-top:50px;}
.p-about-table{width:820px;max-width:100%;margin-inline:auto;font-size:15px;color:#fff;}
.p-about-table tr{border-top:1px dashed var(--main-color)}
.p-about-table tr:last-child{border-bottom:1px dashed var(--main-color)}
.p-about-table th{width:100px;padding-block:16px;padding-inline:18px;}
.p-about-table td{padding-block:16px;padding-inline:20px;border-left:1px solid var(--main-color)}
.p-about-item-img{margin-top:72px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}

/* ギャラリー一覧
===================================================== */
.p-gallery-item-des{width:874px;max-width:100%;margin-inline:auto;color:#fff;}
.gallery-tax-list{width:874px;max-width:100%;margin-inline:auto;margin-top:40px;display:flex;flex-wrap:wrap;justify-content:space-around;gap: 1em;}
.gallery-tax-list li a{font-weight:bold;color:var(--main-color);border-bottom:2px dotted;padding-bottom:2px;}
.gallery-archive-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:40px;}
.gallery-archive-list .gallery-thumbnail{aspect-ratio:4/3;overflow:hidden}
.gallery-archive-list .gallery-thumbnail img{width:100%;height:100%;object-fit: contain;transition:var(--hover-transform)}
.single-gallery-img{margin-block:1em;}
.single-gallery-img figure{aspect-ratio:4/3;overflow:hidden}
.single-gallery-img img{width:100%;height:100%;object-fit: contain;}
.single-gallery-thumb{display:grid;grid-template-columns: repeat(4, 1fr);gap:1em;margin-top: 1.5em;}
.single-gallery-thumb .thumb-media{aspect-ratio: 4/3;transition:var(--hover-transform);cursor:pointer;overflow:hidden}
.single-gallery-thumb .thumb-media.thumb-media-active{opacity:.4;}
.single-gallery-wrap .gallery-tax-list{margin-top:0;}
.single-gallery-table{font-size:15px;color:#fff;width: 100%;}
.single-gallery-table tr{border-top:1px dashed var(--main-color)}
.single-gallery-table tr:last-child{border-bottom:1px dashed var(--main-color)}
.single-gallery-table th{width:120px;padding-block:16px;padding-inline:18px;}
.single-gallery-table td{padding-block:16px;padding-inline:20px;border-left:1px solid var(--main-color);width: calc(100% - 120px);}

/* お問い合わせ
===================================================== */
.page-contact-des{text-align:center;padding-top:40px;}

.c-table {width: 800px;max-width:100%;margin-inline: auto;}
.from-item{display:flex;flex-wrap: wrap;padding-block: 40px;border-bottom: 1px solid #E4E4E4;color: #fff;}
.c-table .fl{width:240px;padding-block: 4px;display: block;}
.c-table .fr{width:calc(100% - 240px)}
.required{font-size: 12px;color: var(--font-color);padding-block: 4px;padding-inline: 8px;background-color: var(--main-color);margin-right: 16px;vertical-align: 1px;}
.any{font-size: 12px;padding: 4px 8px;background-color: #b4b5b5;margin: 0 16px 0 0;vertical-align: 1px;}
.example{font-size: 14px;letter-spacing: -1px;}
.from-item input[type=email]{width:100%}
.from-item input[type=tel]{width:310px;}
.from-item textarea {height: 140px;width:100%}
.from-note{width: 420px;max-width: 100%;text-align:center;margin:40px auto 0;padding: 32px 16px;background-color: #fff;border-radius:6px;}
.from-note p{color:#000;}
.from-note .acceptance-wrap{font-weight:bold;margin:16px 0 0}
.from-note .doui{width: 18px;height: 18px;margin: 0 8px 0 0;border: none;vertical-align: -3px;}
.wpcf7-submit:disabled{opacity: 0.3;pointer-events: none}
.formsubmit{margin: 60px auto 0;position:relative;width:fit-content;}
.formsubmit .wpcf7-submit{width: 300px;max-width:100%;margin-inline: auto;padding-block: 24px;background-color: var(--main-color);line-height:1;text-align: center;position: relative;font-size: 20px;transition:var(--hover-transform)}
.wpcf7-spinner{display:block;margin:16px auto}
.wpcf7 form.sent .wpcf7-response-output{color:#fff;width:fit-content;margin-inline:auto;}
.policy-link{padding:0 8px;text-decoration: underline;}

@media(max-width:720px){
  .c-table .fl,
  .c-table .fr{width:100%;}
}

@media(max-width:560px){
  .c-table{margin-top:24px}
}

/* privacypolicy
===================================================== */

.privacypolicy-item{width: 800px;max-width:100%;margin-inline:auto;color:#fff;}
.privacypolicy-item h3{font-size:20px;color:#fff;margin-block:40px 8px}
.privacypolicy-item h4{font-size:18px;margin-block:32px 8px}
.privacypolicy-item h4::before{content:'';display:inline-block;width:16px;height:16px;background-color: #fff;margin-right:8px;}
.privacypolicy-item h5{margin-block:24px 8px}
.privacypolicy-item h5::before{content:'';display:inline-block;width:16px;height:1px;background-color: #fff;margin-right:8px;vertical-align: 6px;}
.privacypolicy-item ul,
.privacypolicy-item ol{margin-block:16px}
.privacypolicy-item li{position:relative;padding-left: 24px;}
.privacypolicy-item li::before{content:'';position: absolute;width:10px;height:10px;border-radius:10px;background-color: #fff;margin-right:8px;top: 8px;left: 4px;}


@media(max-width:1024px){
	.mv-txt{width:420px;max-width:100%;}
	.dashed-line{margin-block:1em}
	.concept-item{grid-template-columns:240px minmax(0,1fr)}
	.page-service-item{width:640px;max-width:100%;margin-inline:auto;grid-template-columns:minmax(0,1fr);gap:40px}
	.p-message-item{width:640px;max-width:100%;margin-inline:auto;grid-template-columns:minmax(0,1fr);gap:40px}
}

@media(max-width:767px){
	.com-tit-1{font-size:32px}
	.com-tit-1 span::before,
	.com-tit-1 span::after{width:160px;}
	.com-txt-en{opacity:.1}
	.com-txt-en p{font-size:80px;}
	.page-txt-en{left:0}
	.more a{margin-top:40px;font-size:16px;}
	.service-item-des h4{font-size:18px;}
	.service-item-list{gap:16px;}
	.concept-item{gap:40px;grid-template-columns:minmax(0,1fr)}
	.concept-item figure{width:240px;margin-inline: auto;}
	.concept-item-des-in h3{font-size: 28px;text-align: center;}
	.concept-item-des .more a{margin-inline:auto;}
	.gallery-list{gap:8px;}
	.instagram-list{gap:8px;}
	.page-service-item-des h3{font-size:28px;}
	.page-service-item-des h3 span::before{width:24px;}
	.gallery-archive-list{gap:8px;}
	.p-concept-item-des h4{font-size:18px;}
	.p-about-table th,
	.p-about-table td{display:block;width:100%;}
	.p-about-table td{border-left:none;padding-top:0}
	.p-about-item-img{grid-template-columns:minmax(0,1fr)}
	.single-gallery-table th,
	.single-gallery-table td{display:block;width:100%;}
	.single-gallery-table td{border-left:none;padding-top:0}
}

@media(max-width:480px){
	.mv-txt{width:80%;top: 50%;bottom: auto;}
	.mv-txt-en{font-size: 34px;}
	.mv-txt-jp{font-size: 18px;}
	.dashed{background:linear-gradient(to right,#fff ,#fff 10px,#ffffff00 10px,#ffffff00 13px)repeat-x left bottom / 13px 2px}
	background: linear-gradient(to right, #ffffff00, #c49f4585 50%, #ffffff00 100%) repeat-x left bottom / 13px 2px;
}