@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/



/*
@keyframes
*/
@keyframes slide-display{
	0% {
    	transform-origin: right;
    	transform: scaleX(0);
	}
	50% {
    	transform-origin: right;
    	transform: scaleX(1);
	}
	50.001% {
    	transform-origin: left;
	}
	100% {
    	transform-origin: left;
    	transform: scaleX(0);
	}}

@keyframes slide-delay{
	0% {
    	opacity: 0;
	}
	100% {
    	opacity: 1;
	}}

/*.wp-block-media-text__media:before {
    animation-name: slide-display;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000;
}*/

/*.wp-block-media-text__media img {
	animation-name: slide-delay;
    animation-duration: 1s;
    animation-delay: 0.6s;
    animation-fill-mode: forwards;
    opacity: 0;
}*/



/*
google fonts
*/
.oswald {
	font-family: "Oswald", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	}

.shippori-mincho-regular {
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	font-style: normal;
	}
	
.ephesis-regular {
	font-family: "Ephesis", cursive;
	font-weight: 400;
	font-style: normal;
	}

.oooh-baby-regular {
	font-family: "Oooh Baby", cursive;
	font-weight: 400;
	font-style: normal;
	}

body{
	font-family: "Oswald", sans-serif;
	}

/*@media (max-width: 600px) {
    body {
        position: relative;
        color: #000;
    }

    body::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image: url(/wp-content/uploads/2024/05/bg_sp.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        z-index: -1;
    }

    body::after {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(255, 255, 255, 0.3);
        background-blend-mode: lighten;
        z-index: 0;
    }
}*/



/*
topボタン
*/
.c-fixBtn {
	border: 1px solid #333;
	color: #333;
	}



/*
縦書き
*/
.tate {
	writing-mode: vertical-rl;
	}


/*
ヘッダー左寄せ
*/
@media (min-width: 960px){
	#body_wrap #header {
		position: fixed;
		width: 300px;
		height: 100%;
		padding: 10px 0;
		left: 0;
		top: 0;
		z-index: 999;
		}
	
	.l-header {

		}
		
	.-series .c-headLogo {
		max-width: 200px;
		margin: 0;
		}
	
	.-series .l-header__logo {
		margin: 30px auto;
		}
	
	.-series-right .l-header__inner {
		padding-top: 8px;
		display: flex;
		flex-wrap: wrap;
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
		}
		
	.-series-right .w-header {
		margin: 0 auto;
		}

	.-series-right .c-gnavWrap {
    	width: 100%;
		margin-bottom: 4em;
		}
		
	.c-gnav {
		flex-direction: column;
		text-align: left;
		justify-content: center;
		}
		
	.c-gnav a::after {
		background: #000;
		}
		
	.c-gnav .sub-menu {
		color: #fff;
		background: #000;
		}
		
	.c-gnav>.menu-item>.sub-menu {
		left: 110%;
		top: 20%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		}
		
	.c-gnav>.menu-item>a {
		padding: 16px 24px;
		}
		
	.c-gnav>.menu-item>a .ttl {
		font-size: 40px;
		font-weight: 700;
		}
	
	#body_wrap #main_visual,
	#body_wrap #post_slider{
    	margin-left: 300px;
		width: auto;
		}
		
	#body_wrap #content.l-content {
		max-width: none;
		margin-left: 300px;
		}
	
	.l-container{
		padding-left: 0;
		padding-right: 0;
		margin: 0 auto;
		}
	
	#body_wrap #footer,
	#body_wrap #before_footer_widget{
		margin-left: 300px;
		}
	
	.alignfull{
    	left: 0;
    	width: 100%;
		}
		
	.c-pageTitle,
	.p-breadcrumb__list {
		padding-left: 50px!important;
		}}



/*
ファーストビュー 調整
*/
.l-topTitleArea+.p-breadcrumb {
	background: #000!important;
	color: #fff;
	}



/*
ファーストビュー 調整
*/
@media (min-width: 960px) {
	.top #content{
		padding-top: 0em;
		}
	.top .l-mainContent__inner>.post_content {
		padding: 0;
		}}



/*
ファーストビュー 以降の調整
*/
@media (min-width: 960px) {
	.l-article{
		max-width: 100%;
		}
	/*.top .swell-block-fullWide:nth-child(2) .swell-block-fullWide__inner{
		max-width: var(--article_size)!important;
		margin: -2em auto;
		}*/}



/*
padding 調整
*/
/*@media (min-width: 960px){
	.l-mainContent__inner>.post_content,
	.alignfull,
	.swell-block-fullWide__inner.l-article,{
		--swl-fw_inner_pad: 0;
		padding: 0;
		}}*/



/*
ブロック内容画像追従
*/
@media (min-width: 960px){
	.has-media-on-the-right > .wp-block-media-text__media,
	.is-vertically-aligned-top > .wp-block-media-text__media {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		}}



/*
ボタン修正
*/
.is-style-more_btn {
	width: 500px;
	}
	
.is-style-more_btn a {
	line-height: 3em;
	background: #000;
	color: #fff;
	font-size: 1.2em
	}
	
.is-style-more_btn a:hover {
	background: #000;
	}

@media (max-width: 600px) {
	.is-style-more_btn {
		width: initial;
		}}



/*
テキスト枠padding調整
*/
@media (min-width: 960px){
	.text-frame-padding {
		padding: 0 60px!important;
		}
	
	.text-frame{
		margin: 1em;
		}}



/*
h初期化
*/
.post_content h2{
	font-size: initial;
	background: initial;
	padding: initial;
	color: initial;
	font-weight: initial;
	line-height: initial;
	margin: initial;
	position: initial;
	z-index: initial;
	}

.post_content h2:before{
	position: initial;
	display: initial;
	pointer-events: none;
	content: "";
	top: initial;
	left: initial;
	width: initial;
	height: initial;
	box-sizing: initial;
	border-top: initial;
	border-bottom: initial;
	}

.post_content h3:before{
	background: repeating-linear-gradient(90deg, #4a1d1f 0%, #4a1d1f 29.3%, rgba(150, 150, 150, .2) 29.3%, rgba(150, 150, 150, .2) 100%);
	}



/*
h2修正
*/
.post_content h2 {
	line-height: 1;
	position: relative;
	overflow: hidden;
	padding: 1.5rem 2rem 1.5rem 130px;
	border-top: 3px solid #012930;
	font-weight: 700;
	font-size: 2.2rem;
	}

.post_content h2:before {
	position: absolute;
	top: -150%;
	left: -100px;
	width: 200px;
	height: 300%;
	content: '';
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
	background: #001c21;
	}

.u-fz-xs {
	font-size: 16px!important;
	font-weight: 100!important;
	}
	
@media (max-width: 600px) {
.post_content h2 {
	padding: 1.5rem 1rem 1.5rem 100px;
	font-size: 1rem;
	line-height: 24px;
	}

.post_content h2:before {
	left: -130px;
	}

.u-fz-xs {
	font-size: 16px!important;
	font-weight: 100!important;
	}}



/*
コンタクトフォームcss
*/
.cf-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 2em 0;
	border-bottom: 1px dashed #ccc;
	transition: all .3s;
}

.cf-area:last-child {
	border-bottom: none;
}

.cf-area dt {
  width: 200px;
  padding-right: 30px;
  text-align: right;
	line-height:1.5em;
}

.cf-area dd {
    flex: 1;
}

.cf-area input, .cf-area textarea {
  width: 100%;
  padding: 0.8em;
  border: none;
  background-color: #e6e6e6;
  font-size: 16px;
	resize: vertical;
	transition: all .3s;
}

.cf-area input:focus,.cf-area textarea:focus {
	outline: none;
	background: #dde2e9;
}

.cf-required {
	background: #b91e23;
	color: #fff;
	font-size: 0.8em;
	padding: 0 5px 2px;
	border-radius: 2px
}

.cf-send input {
	display: block;
	background: #000;
	width: 300px;
	height: 60px;
	margin: 30px auto 0;
	border: none;
	color: #fff;
	box-shadow: 2px 5px 15px 0 rgba(0, 0, 0, .2);
	font-size: 1.3em;
	font-weight: bold;
	transition: all .3s;
}

.cf-send input:hover {
	filter: brightness(1.25);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #fce3e3;
	border: none;
	text-align: center;
	}

.wpcf7-list-item,
.wpcf7-list-item-label{
	width: 100%;
	}

.wpcf7-list-item{
	margin: 0;
	}

.wpcf7-list-item-label{
	padding-left: 10px;
	}

.wpcf7-list-item > label{
	width: 280px;
	display: inline-flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
	}
	
.wpcf7-list-item > label > input{
	width: initial;
	}

@media screen and (max-width:768px){
	.cf-area {
		display: block;
		}

	.cf-area dt {
    	width: 100%;
		margin-bottom: 5px;
    	padding-right: 0;
    	text-align: left;
		line-height:1.5em;
		}}



/* ////////////////////
スマホ専用css ここから
//////////////////// */
@media not all and (min-width: 960px){
/*
トップ 余白調整
*/
.top #content{
	padding-top: 0em;
	}
.top .l-content{
	margin: 0 auto;
	}



/*
メニュー
*/
.l-header__menuBtn{
    position: fixed;
    right: 0;
	background-color: rgba(255, 255, 255, 0.5);
	box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.1);
	}

.c-widget__title{
	display:none;
	}

.c-spnav .menu-item {
    font-size: 7.0vw;
	font-weight: 700;
	}



/*
ファーストビュー 調整
*/
video {
	width: initial!important;
	height: 50vh;
	}}