/*--
Theme Name: Arkhe child
Theme URI: https://arkhe-theme.com/
Version: 1.5.6
Author: LOOS,Inc.
Author URI: https://loos.co.jp/
Description:WordPressテーマ「Arkhe」の自作子テーマ
Template: arkhe
*/


body{
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing:0.05em;
}
.l-content__body {
    margin: 6rem auto;
}

/* 画像を中央寄せにさせない */
.wp-block-image {
    text-align:unset;
}

/* ギャラリーの最終行を拡大させない */
.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow: 0;
}

.wp-lightbox-overlay .scrim{
	background-color: #fffffff2!important;
}

ul.wp-block-list.is-style-default{
	padding:0;
}
ul.wp-block-list.is-style-default li{
	list-style:none;
}
ul.wp-block-list.is-style-default li::before{
	content:"・";
}


.p-archive__title, .p-page__title {
    margin-bottom: 4rem;
}

.p-page__title{
    display: flex;
    flex-direction: column;
    text-align: left;
    align-items: start;
	font-family: 'Noto Serif JP', sans-serif;
}
.c-pageTitle__main{
	    color: #918059;
	font-weight:200;
	letter-spacing:0.1em;
	font-size:2.8em;
}
.p-page__title .en{
display: flex;
    justify-content: flex-start;
    align-items: center;
    color: #0090a9;
    font-size: 1.3rem;
    font-family: "EB Garamond", "Hina Mincho", serif;
    letter-spacing: 0.1em;
    line-height: 1.7rem;
}
.p-page__title .en:before{
    display: block;
    content: "";
    width: 5vw;
    margin-right: 1.2rem;
    border-bottom: 1px solid #0090a9;
}

.p-page__content h2.wp-block-heading{
	color:#0090a9;
    border-bottom: 2px solid #0090a9;
    padding-bottom: 3px;
    font-size: 1.5em;
}

/***********************************************************
* ヘッダー
***********************************************************/
.l-header .l-container{
	max-width:unset;
	padding-right:0;
}
.l-header{
	border-bottom:2px solid #0090a9;

}
.l-header__center{
	padding:15px 0;
}
@media (min-width: 1000px) {
    [data-btns=rl-rr][data-logo=left] .l-header__body, [data-btns=rr-rl][data-logo=left] .l-header__body {
        grid-template-columns: auto auto 1fr min-content min-content;
    }
}

/*---------- メニュー　----------*/
.l-header__right{
	justify-self: auto;
    justify-content: space-between;
    margin-left: 3%;
}
.c-gnav{
	font-family: 'Noto Serif JP', sans-serif;
	font-size:1em;
	font-weight:500;
}
.c-gnav__li>.c-gnav__a{
	padding:16px 20px;
}

/*---------- ドロワー　----------*/
.p-drawer {
	left:unset;
	right: 0;
	width: 350px;
	background: #918059fc;
	transition: transform 0.3s ease; /* ← ぬるっと感 */
}
[data-drawer=opened] .p-drawer {
	transform: translateX(0); /* ← 開くと右からスライドイン */
}
[data-drawer=closed] .p-drawer {
	transform: translateX(100%); /* ← 閉じると右に戻る */
}
.c-submenuToggleBtn:after{
	box-shadow:unset;
}
.c-submenuToggleBtn:hover {
	outline: unset;
}

/*---------- コンタクト　----------*/
.head-right{
    background-color: #0090a9;
    color: #fff;
    padding: 11px 3%;
}
.head-right a.tel{
	font-family: 'Noto Serif JP', sans-serif;
    font-size: 1.4em;
    letter-spacing: 0.05em;
    text-decoration: none;
    font-weight: 700;
	color:#fff;
}
.head-right p.txt{
	font-size:.65em;
}

/***********************************************************
* トップページ
***********************************************************/

/*---------- メインビジュアル　----------*/

.splide__arrow{
	background-color:#fff!important;
}
.splide__arrow svg {
    fill: #918059 !important;
}

/* ========================================
   メインビジュアル
======================================== */

.main-slider {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    max-width: none;
    margin: 0;
    overflow: hidden;
}

.mv-item {
    position: relative;
    width: 100vw;
    height: 670px;
}


/* ========================================
   左右のぼかし背景
======================================== */

.mv-bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
width: 100vw;
}

.mv-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;

	filter: blur(20px);
	transform: scale(1.08);
}


/* 少し白っぽくして背景感を出す */
.mv-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.12);
}


/* ========================================
   中央の写真
======================================== */
.main-slider {
    position: relative;
    left: 50%;
    transform: translateX(-50%);

    width: 100vw;
    max-width: none;
    margin: 0;

    overflow: hidden;
}

.mv-main img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* 中央：現在の写真サイズを維持 */
.mv-main {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1200px;
    height: 100%;

    margin: 0 auto;
}

.mv-main img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


@media screen and (max-width: 1200px) {

    .mv-item {
        height: 56vw;
        min-height: 480px;
        max-height: 600px;
    }

    .mv-main {
        width: 100%;
        max-width: none;
    }

    .mv-bg img {
        filter: blur(16px);
    }

}


@media screen and (max-width: 780px) {

    .main-slider {
        width: 100vw;
    }

    .mv-item {
        width: 100vw;
        min-height: 280px;
        max-height: 420px;
    }

    /* スマホではぼかし背景を非表示 */
    .mv-bg {
        display: none;
    }

    .mv-main {
        width: 100%;
        max-width: none;
    }

    .mv-main img {
        object-fit: cover;
    }

}

/*---------- 新着情報　----------*/
.news_wrap{
    margin: 5px calc(50% - 50vw) 0;
    padding: 4em;
	width:100vw;
	background-image: radial-gradient(#e3e3e3 1px, transparent 1px);
    background-size: 12px 12px;
}
.news_wrap .news{
	display:flex;
	max-width:1200px;
	margin: 0 auto;
}
.news_wrap .news .midashi{
	text-align: center;
    line-height: 120px;
	width: 120px;
	height: 120px;
    color: #a7a7a7;
    background-color: #918059;
    color: #fff;
	margin-right:40px;
}
ul.news_list{
    display: flex;
    align-items: center;
    font-size: .9em;
    width: 80%;
    padding: 0;
    flex-direction: column;
    align-self: center;
}
ul.news_list li{
	width:100%;
	list-style:none;
}
ul.news_list li::before{
	background: unset;
}
ul.news_list li a{
	color:#111;
	font-weight:500;
}
ul.news_list .add_New{
	color:red;margin-left:10px;
	font-size:.9em;
}
ul.news_list .news_date{
	margin-right:10px;
	letter-spacing:.07em;
	width: 140px;
	display: inline-block;
}
@media screen and (max-width: 500px){
	.news_wrap {
		margin: 2em calc(50% - 50vw) 0;
		padding: 2em 1.5em;
	}
	.news_wrap .news .midashi{
		margin-right:20px;
	}
	ul.news_list .news_date{
		display:block;
	}
}




/*---------- ホーム　会社概要　----------*/
.home-about{
	max-width:1000px;
	margin:0 auto;
}
@media screen and (max-width: 780px){
	.home-about img{
		display:none;
	}
}

/*---------- ホーム　施工事例　----------*/
.home-works-list{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:15px 0;
	margin-top:50px;
}
.home-works-list_item{
	width:24%;
}
.home-works-list_item .thumbnail img{
	vertical-align: bottom;
}
.home-works-list_item .title a{
	text-decoration:none;
	font-size:.9em;
    font-weight: 500;
}
.home-works-list_item .date{
	font-size:.7em;
}
@media (max-width: 700px) {
	.home-works-list_item{
		width:48%;
	}
}


/***********************************************************
* 各種固定ページ
***********************************************************/

.about table{
	
}
.about th{
	width:20%;
	text-align:center;
	vertical-align:middle;
	padding:.8em!important;
	color:#918059;
}
.about td{
	padding:.8em!important;
}
@media screen and (max-width: 780px){
	.about th,
	.about td{
		display:inline-block;
		width:100%;
		text-align:left;
	}
}

.rinen{
    font-family: 'Noto Serif JP', sans-serif;
    color: #918059;
    letter-spacing: 0.1em;
    font-size: 1.8em;
}

/***********************************************************
* お問い合わせ
***********************************************************/
.wpcf7{
	border:1px solid #eee;
	background-color:#fcfcfc;
	padding:5%;
}
.wpcf7-form ::placeholder {
	color: #a5a5a5;
	letter-spacing:0.05em;
}
.wpcf7-not-valid-tip{
	font-size:.85em;
	display:unset;
	margin-left:5px;
}
button, input, textarea{
	padding:0.35em 0.7em;
}
select{
	padding:0.35em 2em 0.35em .7em;
}

.post-18 .wpcf7{
	background-color:#fbfbfb;
	padding:8%;
}
table.contact{
	border: none;
    width: 100%;
    margin: 0 auto;
}
table.contact p{
	margin-bottom:0;
}
table.contact th{
	width: 25%;
    padding: 0.7em 1em;
    background-color: unset;
    font-weight: normal;
	font-size:.9em;
    vertical-align: middle;
	font-weight: bold;
}
table.contact th,
table.contact td{
	padding:20px 15px!important;
	text-align: left;
	border:none;
}
table.contact .any,
table.contact .req{
	font-size:.7em;
	margin-right:10px;
	padding:3px 8px;
	border-radius:3px;
	color:#fff;
}
table.contact .any{
	background-color:#9d9d9d;
}
table.contact .req{
	background-color:#cd0019;
}
table.contact textarea{
	width:100%;
	max-width:700px;
	height:100%;
	font-family: 'Karla', "Noto Sans JP", 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'sans-serif';
	padding: 12px;
}
.contact-under{
	font-size:.9em;
	text-align:center;
	margin:0 auto;
}
.contact-under [type=submit]{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2em;
    letter-spacing: 0.1em;
    color: #fff;
    padding: 15px 50px;
    margin-top: 40px;
    margin-right: -72px;
    background-color: #0090a9;
    border-radius: 3px;
}
.contact-under [type=submit]:hover{
	opacity:.9;
}
@media screen and (max-width: 700px) {
	.post-18 .wpcf7 {
		padding: 8% 4%;
	}
	table.contact th,
	table.contact td{
		display:inline-block;
		width:100%;
		padding:10px !important;
	}
	table.contact input[type="text"],
	table.contact input[type="tel"],
	table.contact input[type="email"]{
		width:100%;
	}
}


/***********************************************************
* 施工事例
***********************************************************/
.works-list{
	display:flex;
	flex-wrap:wrap;
	gap:3%;
}
.works-list article{
	position:relative;
	display:flex;
	flex-direction:column;
	margin-bottom:3%;
	width:31%;
}
.works-list article a{
	text-decoration:none;
}
@media screen and (max-width: 700px) {
	.works-list article{
		width:48%;
	}
}


.works-item .works-thumbnail{
  width: 100%;
  aspect-ratio: 4 / 3;   /* 横:縦 = 4:3 を維持 */
  overflow: hidden;
  line-height: 0;
	margin-bottom:8px;
}
.works-item .works-thumbnail img {
    width: 100%;
    height: 100% !important;   /* ← height:auto を上書き */
    object-fit: cover;
    object-position: center;   /* 中央を基準に切り抜き */
}


.works-item .works-thumbnail:hover{
	opacity:.8;
}
.works-item .works-cat{
    position: absolute;
    top: 0;
    left: 0;
    background-color: #0090a9;
    color: #ffffff;
	font-size:.8em;
	padding:2px 5px;
}


.works-item .works-title{
	position:relative;
	display: inline-block;
	font-weight: 600;
}
.works-item .works-title::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 2px; /* 下線の太さ */
	background-color: currentColor; /* テキストと同じ色 */
	transition: width 0.3s ease; /* アニメーションの速度・種類 */
}
.works-item a:hover .works-title::after {
	width: 100%;
}


.works-item .works-tags ul{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	gap:5px;
	margin-top:8px;
}
.works-item .works-tags li{
	list-style:none;
	background-color:#baae94;
	font-size:.75em;
	padding:1px 5px 2px;
	text-decoration:none;
	color:#fff;
	border-radius:3px;
}


.type-works .c-pageTitle__main{
	margin-bottom:.6em;
	font-size:2em;
}
.type-works .p-entry__title{
	display:flex;
	flex-wrap:wrap;
	gap:0 20px;
	align-items: baseline;
	margin-bottom:10px;
}
.type-works .p-entry__title a{
	text-decoration:none;
}
.post-categories{
	margin-left:auto;
	font-weight:500;
	font-size:.9em;
}
.type-works .post-tags{
}
.type-works .post-tags a{
	background-color:#cbc6bb;
	border-radius:3px;
	color:#fff;
	padding:2px 5px;
	font-size:.8em;
}
@media screen and (max-width: 700px) {
	.type-works .c-pageTitle__main{
		width:100%;
	}
	
}






.type-works .c-postContent{
    background-color: #fbfbfb;
    border: 1px solid #eee;
    padding: 5%;
}


/* 関連する施工事例 */
.related-works{
    margin-top: 4em;
    background-color: #fcfcfc;
    padding: 3%;
	border: 1px solid #0090a9;
}

.related-works h2{
	font-size:1.3em;
	color:#0090a9;
}

.related-works ul{
	display:flex;
	padding:0;
	gap:3% 1%;
	margin-top:1.5em;
	flex-wrap:wrap;
}
.related-works li{
	width:24%;
	list-style:none;
}
.related-works li a{
    text-decoration: none;
    color: #918059;
    font-size: .9em;
    font-weight: 500;
}
.related-works li a:hover{
	opacity:.9;
}
@media screen and (max-width: 700px) {
	.related-works li{
		width:48%;
	}
}


/***********************************************************
* フッター
***********************************************************/
.l-footer__widgets{
	background-image: radial-gradient(#cfcfcf 1px, transparent 1px);
	background-color:#fff;
    background-size: 12px 12px;
	padding: 4rem 0;
	color:#333;
}

dl.f-about{
	display:flex;
	flex-wrap:wrap;
}
dl.f-about dt{
	width:20%;
	margin-bottom:10px;
	font-weight:bold;
}
dl.f-about dd{
	width:80%;
	margin-bottom:10px;
}



.c-copyright{
	font-size:.75rem;
}

/***********************************************************
* その他共通
***********************************************************/






/***********************************************************
* fadein
***********************************************************/
.fadein {
    opacity: 0;
    transform: translate(0, 0);
    transition: all 1.5s;
}
.fadein.fadein-left {
    transform: translate(-30px, 0);
}
.fadein.fadein-right {
    transform: translate(30px, 0);
}
.fadein.fadein-up {
    transform: translate(0, -30px);
}
.fadein.fadein-bottom {
    transform: translate(0, 30px);
}
.fadein.scrollin {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}
