/*
Theme Name: shikijyutakukikaku
Theme URI:
Author: kayama
Author URI:
Description:
Version: 1.0
License:
License URI:
Tags:

=============================================================================================
*/
html{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	/*font-family:'游明朝体','Yu Mincho','ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝','Sawarabi Mincho',serif;*/
	font-size:62.5%;
	color: /*#353535;*/ #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: 500;
}

.meiryo{
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
.yugo{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
.yumin{
		font-family:'游明朝体','Yu Mincho','ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝','Sawarabi Mincho',serif;
}
.noto{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
}

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap');
.eb_garamond{
	font-family: "EB Garamond", serif;
	font-weight: 400;
}

.shippori{
	font-family: "Shippori Mincho B1", serif;
	font-weight: 400;
}




body{ font-size:1.4rem; font-size: 1.4em; }

body{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
}

img{ vertical-align: bottom; }

img {
    image-rendering: -webkit-optimize-contrast;
}

a{
	color:#000;
	transition: all 0.3s;
	text-decoration: none;
}
a:hover{
	opacity: 0.7;
	transition: all 0.3s;
}
a, .op img{ transition: all 0.3s; }
a:hover, .op:hover img{
	opacity:0.70;
	transition: all 0.3s;
}

.max_respon{max-width:100%;}



#container{ overflow: hidden; }
.hidden{ overflow: hidden; }
li{ list-style:none; }
.center{ text-align:center; }
.text_right{ text-align:right; }

.clear{
	clear:both;
}


@media screen and (max-width: 599px) {
	.copy{ font-size: 1.8rem; }

	p{text-align:left;}

	.sp_text_center{
		text-align: center;
	}

}/*END*/

@media screen and (min-width: 600px) {
	img.pc_respon90{width: 90%;}
	img.pc_respon80{width: 80%;}
	img.pc_respon70{width: 70%;}
	img.pc_respon60{width: 60%;}
	img.pc_respon50{width: 50%;}

	.pc_center{ text-align:center; }

}/*END*/


/*----------------------------------------
	text
----------------------------------------*/

p{ line-height: 2; }
.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }
.text_white{ color:#fff; }
.text_black{color: #000;}
.text_gray{ color:#8c8c8c; }
.text_b_gray{ color:#535353; }
.text_em{ color:#34babd }
.text_blue{ color: #218ac0; }
.text_green{ color:#368547; }
.text_yellow{ color:#fff100; }
.text_red{
	color: #da2805;
}

.italic{
	font-style: italic;
}

.text_bold500{ font-weight: 500; }

.text_10{ font-size:1rem !important; }
.text_11{ font-size:1.1rem !important; }
.text_12{ font-size:1.2rem !important; }
.text_13{ font-size:1.3rem !important; }
.text_15{ font-size:1.5rem !important; }
.text_19{ font-size:1.9rem !important; }
.text_22{ font-size:2.2rem !important; }
.text_26{ font-size:2.6rem !important; }
.text_36{ font-size:3.6rem !important; }
.text_48{ font-size:clamp(22px, 4.6vw, 48px); }

.text_60{ font-size:clamp(24px, 5.17vw, 60px); }
.lh_10{ line-height:1; }

.lh_28{ line-height: 2.8 !important; }
.lh_26{ line-height: 2.6 !important; }
.lh_24{ line-height: 2.4 !important; }
.lh_22{ line-height: 2.2 !important; }
.lh_20{ line-height: 2 !important; }
.lh_18{ line-height: 1.8 !important; }
.lh_16{ line-height: 1.6 !important; }
.lh_15{ line-height: 1.5 !important; }
.lh_14{ line-height: 1.4 !important; }
.ls_01{ letter-spacing: 0.1px; }
.ls_1{ letter-spacing: 1px; }
.ls_2{ letter-spacing: 2px; }
.ls_3{ letter-spacing: 3px; }
.ls_4{ letter-spacing: 4px; }

.ls_-1{ letter-spacing: -1px; }
.ls_-2{ letter-spacing: -2px; }

@media print, screen and (min-width: 960px) {

	.text_16{ font-size:1.6rem !important; }
	.text_18{ font-size:1.8rem !important; }
	.text_19{ font-size:1.9rem !important; }
	.text_20{ font-size:2.0rem !important; }
	.text_24{ font-size:2.4rem !important; }

	.text_28{ font-size:2.8rem !important; }
	.text_30{ font-size:3.0rem !important; }
	.text_32{ font-size:3.2rem !important; }
	.text_42{ font-size:4.2rem !important; }
	.text_40{ font-size:4rem !important; }
	.text_50{ font-size:5rem !important; }
	.text_55{ font-size:5.5rem !important; }
	.ls_4{ letter-spacing: 4px; }

}/*END*/



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

	p{ line-height: 1.8; }
	.text_16{ font-size: 1.5rem; }
	.text_18{ font-size: 1.6rem; }
	.text_19{ font-size:1.6rem !important; }
	.text_20{ font-size:1.6rem !important; }
	.text_24{ font-size: 2.2rem !important; }
	.text_26{ font-size:2.4rem !important; }

	.text_28{ font-size: 1.9rem !important; }
	.text_30{ font-size: 2rem !important; }
	.text_32{ font-size: 2rem !important; }

	.text_40{ font-size:3rem !important; }
	.text_42{ font-size:3.2rem !important; }
	.text_50{ font-size:3.6rem !important; }
	.text_55{ font-size:3.8rem !important; }

	.text_sp16{ font-size: 1.6rem !important; }
	.text_sp25{ font-size: 2.3rem !important; }

	.ls_2{ letter-spacing: 1px; }
	.ls_4{ letter-spacing: 2px; }

}/*END*/

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

	p{ line-height: 1.6; }

	.text_24{ font-size: 1.8rem !important; }
	.text_26{ font-size:2.0rem !important; }

	.text_28{ font-size: 2.1rem !important; }
	.text_30{ font-size: 2.2rem !important; }
	.text_32{ font-size: 2.3rem !important; }
	.text_40{ font-size: 2.8rem !important; }

	.sp_text_left{
		text-align: left;
	}

	.ls_4{ letter-spacing: 1px; }

}/*END*/

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

	.text_30{ font-size: 2rem !important; }
	.text_42{ font-size: 2.8rem !important; }
	.ls_2{ letter-spacing: 0; }

}


/*----------------------------------------
	layout
----------------------------------------*/


.inner_frame{
	width: 100%;
	max-width: 1080px;
	position: relative;
	box-sizing: border-box;
	margin-left:auto;margin-right: auto;	
}


.large_inner_frame{
	width: 100%;
	max-width:1350px;
	position: relative;
	box-sizing: border-box;
	margin-right: auto;
	margin-left: auto;
}

.inner_frame750{
	max-width: 750px;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	margin-inline: auto;
}

.pc_block{
	display: block;
}
.sp_block{
	display: none;
}

.block{ display:block !important; }
.none{ display:none !important; }
@media screen and (max-width: 1280px){

	.inner_frame{
		padding-right: 10%;
		padding-left: 10%;
	}

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

	.inner_frame{
		padding-right: 3.5%;
		padding-left: 3.5%;
	}
	.large_inner_frame{
		padding-right: 3.5%;
		padding-left: 3.5%;
	}
	.inner_frame750{
		padding-right: 3.5%;
		padding-left: 3.5%;
	}
}/*END*/



@media screen and (max-width: 599px){
	.pc_block{
		display: none;
	}
	.sp_block{
		display: block;
	}

	.inner_frame{
		padding-right: 4%;
		padding-left: 4%;
	}
	.inner_frame750{
		padding-right: 4%;
		padding-left: 4%;
	}
	.sp_center{
		text-align: center;
	}

}/*END*/


/*----------------------------------------
	ヘッダーCSS
----------------------------------------*/

header {
    width: 100%;
    position: fixed;
	top: 10px;
    left: 0;
    background: transparent !important;
    z-index: 100;
}

.head_inner {
    box-sizing: border-box;
    width: 100%;
    padding: 18px 30px 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    background: transparent !important;
}
.header_l{
	width: 30%;
}
.header_l h1 {
    max-width: 400px;
	position: relative;
    display: inline-block;
}
.header_r{
	width: 70%;
	float: right;
	color: #fff;
}
.header_r a {
    color: #fff;
}
.open .header_r a {
    color: #fff !important;
}

.header_r.fixed a{
	color: #fff;
}
.header_r ul{
	width: 100%;
	text-align: right;
}
.header_r li{
	display: inline-block;
	margin-left: 50px;
}

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

	.header_l{
		width: 40%;
	}
	.header_r{
		width: 60%;
	}
	.header_r li{
		margin-left: 35px;
	}
	.drawer li a{
		font-size: 1.4rem !important;
	}

}/*END*/

@media screen and (max-width: 999px){
	.header_r li{
		margin-left: 25px;
	}
	.drawer li a{
		font-size: 1.3rem !important;
	}

}/*END*/

@media screen and (max-width: 880px){
    header {
        top: 15px;
    }
	.head_inner{
		padding: 5px 10px 15px 10px;
		align-items: initial;
	}
	ul.clearfix a::after{
		bottom: -1px; 
		transition: transform .2s;
	}
}/*END*/
@media screen and (max-width: 768px){
	.head_inner{
		padding: 15px 15px 15px 15px;
	}
}


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

	.header_l{
		width: 45%;
	}
	.header_r{
		width: 65%;
	}
	.head_inner{
		position: relative;
	}

}/*END*/


/*----------------------------------------
	ドロワー
----------------------------------------*/

.drawer{
	position: relative;
}
.drawer li a{
	position: relative;
	display: block;
	transition: all 0.4s;
	font-size: 1.6rem;
}
.drawer li a:hover{
	opacity: 0.7;
}

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

	.drawer li a {
		font-size: 1.5rem;
	}

}/*END*/

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

	.menu_btn {
        width: 50px;
        height: 45px;
        position: absolute;
        top: 0px;
        right: 5px;
        cursor: businesser;
        z-index: 9999;
    }
	.menu_btn span{
		display: inline-block;
		height: 2px;
		background: #fff;
		position: absolute;
		transform: translateX(-50%);
		transition: all 0.5s;
	}
	.menu_btn span:nth-child(1){
		top: 37%;
        width: 40%;
        left: 59%;
	}
	.menu_btn span:nth-child(2){
		bottom: 34%;
		width: 60%;
		left: 50%;
	}
	.open .menu_btn span {
		background-color: #fff !important;
	}
	.open .menu_btn span:nth-child(1){
		transform: rotate(-45deg);
		margin-top: 10px;
		margin-left: -14px;
		top: 23%;
        width: 60%;
        left: 49%;
	}
	.open .menu_btn span:nth-child(2){
		transform: rotate(45deg);
		margin-bottom: 10px;
		margin-left: -14px;
		bottom: 31%;
        width: 60%;
        left: 50%;
	}
	.drawer{
		position: fixed;
		background: rgba(0, 0, 0, 0.9);
		top: 0;
		right: 0;
		width: 100%;
		height: 100vh;
		color: #fff;
		justify-content: center;
		visibility: hidden;
		opacity: 0;
		transform: translateX(100%);
		transition: 0.5s ease-in-out;
		z-index: 99;
	}
	.drawer ul{
		float: none;
		text-align: center;
		padding-top: 35vh;
	}
	.drawer ul li{
		float: none;
		position: relative;
		transform: translateX(-150px);
		transition: transform 0.5s ease;
		margin-left: 0;
		margin-bottom: 10px;
		width: 100%;
	}
	.drawer ul li:nth-child(2){ transition-delay: 0.1s; }
	.drawer ul li:nth-child(3){ transition-delay: 0.15s; }
	.drawer ul li:nth-child(4){ transition-delay: 0.2s; }
	.drawer ul li:nth-child(5){ transition-delay: 0.25s; }
	.drawer ul li:nth-child(6){ transition-delay: 0.3s; }
	.drawer ul li:nth-child(7){ transition-delay: 0.35s; }
	.drawer ul li:nth-child(8){ transition-delay: 0.4s; }
	.drawer ul li:nth-child(9){ transition-delay: 0.45s; }
	.drawer ul li a{
		position: relative;
		transition: all 0.4s;
		display: inline-block;
		font-size: 1.6rem !important;
		color: #fff;
		text-decoration: none;
		cursor: businesser;
		font-weight: normal;
		padding: 15px 0;
	}
	.drawer li:first-child a{
		background: none;
		padding: 15px 0;
	}
	.drawer li:first-child a:hover{
		background: none;
	}
	.open .drawer{
		visibility: visible;
		opacity: 1;
		transform: translateX(0);
	}
	.open .drawer ul li{
		transform: translateX(0);
	}

}/*END*/


/*ぱんくず*/
.pan_inner_frame{
	width: 100%;
    max-width: 1080px;
    position: relative;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
}
.pan_nav {
    font-size: 1.1rem;
    color: #a0a0a0;
    padding-left: 10px;
}
.pan_nav li {
    float: left;
    white-space: nowrap;
    line-height: 1.2;
}
.pan_nav a{
	color: #a0a0a0;
	text-decoration: none;
}
.pan_nav a:hover{
	color: #333;
	text-decoration: underline;
}
.pan_nav a:after{
	content: "＞";
	color: #a0a0a0;
	font-size: 1.1rem;
	padding-left: 10px;
	margin-right: 10px;
	display: inline-block;
	vertical-align: middle;
}

.clearfix {
    zoom: 100%;
}


@media screen and (max-width: 599px){
	.pan_nav li{
		font-size:1.1rem;
	}




}/*END*/


/* グレーアウト */
.gray-out {
	opacity: 0.5;
	pointer-events: none; 
}

/*----------------------------------------
	footer
----------------------------------------*/
.footer_grid{
	display: grid;
    grid-template-columns: 1fr 1fr;
}
.footer_grid >a{
	color: #000;
}
.footer_grid >a:nth-child(1){
	background-color: #f1f4f7;
}
.footer_grid >a:nth-child(2){
	background-color: #e3e7ec;
}
.footer_flex{
	display: flex;
    justify-content: end;
    padding: 8% 6%;
}
.footer_in_flex{
    width: 80%;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: space-between;
}
.footer_in_flex > div:nth-child(1){
	width: 70%;
	display: flex;
    flex-direction: column;
    align-items: center;
}
.footer_in_flex > div:nth-child(2){
	width: 20%;
}
.footer_column{
	display: flex;
    flex-direction: column;
    width: fit-content;
}
.footer_column > a{
	margin-bottom: 10px;
	color: #fff;
}
.footer_grid > div:nth-child(1){
    padding: 0% 0% 10% 23%;
}
.footer_grid > div:nth-child(2){
	padding-left: 10%;
}
.footer_grid.bottom > div:nth-child(1){
    padding: 0% 0% 0% 23%;
	opacity: 30%;
}
.footer_grid.bottom > div:nth-child(2){
	opacity: 30%;
}

@media screen and (max-width: 768px){
	.footer_in_flex {
		width: 95%;
	}
	.footer_column{
		width: 80%;
		margin: auto;
	}
	.footer_grid > div:nth-child(1){
		padding: 0%;
	}
	.footer_grid > div:nth-child(2){
		padding-left: 0%;
	}
	.footer_grid.bottom > div:nth-child(1){
		padding: 0%;
	}
	.footer_grid.bottom > div:nth-child(2){
		padding-left: 0%;
	}

}
@media screen and (max-width: 599px){
	.footer_in_flex {
		width: 100%;
	}
	.footer_grid{
		grid-template-columns: 1fr;
	}
	.footer_column{
		width: 90%;
	}
	.gap30{
		gap: 30px;
	}
	.footer_grid.bottom > div:nth-child(1){
		order: 2;
	}
	.footer_grid.bottom > div:nth-child(2){
		order: 1;
	}
	.text_16.copy{
		font-size: 1.2rem !important;
	}
}/*END*/

:root {
    --transition_anim01: 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    --easing01: cubic-bezier(0.165, 0.84, 0.44, 1);

}
/*----------------------------------------
	contents
----------------------------------------*/

a[href^="tel:"] {
	pointer-events: auto !important;
	cursor: pointer !important;
}

.palt{
	font-feature-settings: "palt";
}

.rela{
	position: relative;
}

.bg_black{
	background: #000;
}
.bg_gray{
	background: #f2f2f2;
}
.bg_beige{
	background: #f4f4f0;
}
.bg_dark{
	background: #453e37;
}
.bg_palepink{
	background: #f6eded;
}
.respon{
	width: 100%;
}

li {
    list-style: none;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
.rela{
	position: relative;
}
.flex {
    display: flex;
    gap: 5%;
}
.nowrap {	
	white-space: nowrap;
}

@media screen and (max-width: 599px){
	.flex {
		flex-direction: column;
	}
	.flex.reverse{
		flex-direction: column-reverse;
	}
}
.grid2{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3%;
}
.grid3{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2%;
}
@media screen and (max-width: 599px){
	.grid2{
		grid-template-columns: repeat(1, 1fr);
		gap: 0%;
	}
	.grid3{
		grid-template-columns: repeat(1, 1fr);
		gap: 0%;
	}
}
/* 幅 */
.w28 {
    width: 28%;
}
.w45 {
    width: 45%;
}
.w48 {
    width: 48%;
}
.w54 {
    width: 54%;
}
.w50 {
    width: 50%;
}
.w55 {
    width: 55%;
}
.w80{
	width: 80%;
}
.btn_w{
	max-width: 300px;
}
@media screen and (max-width: 880px){
	.w28 {
		width: 50%;
	}
	.w45 {
		width: 50%;
	}
	.w48 {
		width: 70%;
	}
	.w48.normal {
		width: 48%;
	}
}
@media screen and (max-width: 599px){
	.w28,.w45,.w48,.w50,.w54,.w55,.w80{
		width: 100%;
	}
	.w48.normal {
		width: 100%;
	}
}
/* 余白調整 */
.p_l10p{
	padding-left: 10%;
}
.p_r10p{
	padding-right: 10%;
}
.p_t3p{
	padding-top: 3%;
}
.p_t5p{
	padding-top: 5%;
}
.p_t8p {
    padding-top: 8%;
}
.p_t14p {
    padding-top: 14%;
}
.p_t18p{
	padding-top: 18%;
}
.p_t10p{
	padding-top: 10%;
}
@media screen and (max-width: 880px){
	.p_l10p{
		padding-left: 0%;
	}
	.p_r10p{
		padding-right: 0%;
	}
	.p_t3p,.p_t5p,.p_t8p,.p_t10p,.p_t14p,.p_t18p{
		padding-top: 0%;
	}
	.p_t8p.continue {
		padding-top: 8%;
	}
}
@media screen and (max-width: 599px){
	.sp_m_t10p{
		margin-top: 10%;
	}
}

.ttl400 {
    width: 75%;
    max-width: 400px;
}
.ttl460 {
    width: 100%;
    max-width: 460px;
}

.ttl500 {
    width: 100%;
    max-width: 500px;
}
.ttl590 {
    width: 100%;
    max-width: 590px;
}
@media screen and (max-width: 1280px){
	.ttl460.c_45 {
        width: 53%;
    }
	.ttl500.c_45 {
		width: 58%;
	}
	.ttl590.c_45 {
		width: 58%;
	}
}
@media screen and (max-width: 880px){
	.ttl400 {
		width: 35%;
	}
	.ttl460.c_45 {
		width: 45%;
	}
	.ttl500.c_45 {
		width: 45%;
	}
	.ttl590.c_45 {
		width: 45%;
	}
	.ttl500.c_55 {
		width: 55%;
	}
}
@media screen and (max-width: 599px){
	.ttl400 {
		width: 75%;
	}
    .ttl460.c_45 {
        width: 95%;
    }
	.ttl500 {
		width: 80%;
	}
    .ttl500.c_45 {
        width: 90%;
    }
	.ttl590.c_45 {
        width: 90%;
    }
	.ttl500.c_55 {
        width: 90%;
    }
	.ttl500.c_52 {
        width: 52%;
    }
	.ttl500.c_85 {
		width: 85%;
	}
	.ttl500.c_90 {
		width: 90%;
	}
	.text_16 {
        font-size: 1.3rem;
        letter-spacing: -0.8px;
    }
}
.text_white{
	color: #fff;
}
.margin_auto{
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 768px){
	.none768{
		display: none;
	}
}
@media screen and (max-width: 599px){
	.margin_auto.zero{
		margin-left: 0%;
		margin-right: 0%;
	}
}
/*----------------------------------------
	MV
----------------------------------------*/
.mv_ttl_frame {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    box-sizing: border-box;
}
.mv_ttl {
    width: 100%;
    max-width: min(750px, 50vw);
    margin: 0 0 0 42vw;
}
.mv_frame {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.mv_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.active .mv_img {
    animation-name: zoom;
    animation-duration: 8s;
    animation-fill-mode: forwards;
    animation-timing-function: linear;
    animation-iteration-count: 1;
}
@keyframes zoom {
    0% {
        transform: scale(1)
    }

    to {
        transform: scale(1.1)
    }
}
.al_end {
    display: flex;
    align-items: end;
    flex-wrap: nowrap;
    gap: 5px;
    width: 50%;
}
.al_center{
	display: flex;
    align-items: center;
    flex-wrap: nowrap;
	gap: 5px;
}
.mv_txt_ani{
	overflow: hidden;
	padding-bottom: 10px;
}

.mv_txt_ani span {
	display: inline-block;
    animation: mv_txt_ani 0.8s forwards;
    transform: translateY(300%);
}

@keyframes mv_txt_ani {
    0% {
        transform: translateY(300%);
    }

    100% {
        transform: translateY(0);
    }
}

.mv_txt_ani span:first-child{ animation-delay: 0s }
.mv_txt_ani span:nth-child(2){ animation-delay: 0.1s }
.mv_txt_ani span:nth-child(3){ animation-delay: 0.2s }
.mv_txt_ani span:nth-child(4){ animation-delay: 0.3s }
.mv_txt_ani span:nth-child(5){ animation-delay: 0.4s }
.mv_txt_ani span:nth-child(6){ animation-delay: 0.5s }
.mv_txt_ani span:nth-child(7){ animation-delay: 0.6s }
.mv_txt_ani span:nth-child(8){ animation-delay: 0.7s }
.mv_txt_ani span:nth-child(9){ animation-delay: 0.8s }


.delay01{
	animation-delay: 0.3s;
}

.mv_txt_ani_sub:nth-child(1){
	clip-path: inset(0 100% 0 0);
	animation: mv_txt_ani_sub 2s forwards 0.5s;
}
.mv_txt_ani_sub:nth-child(2){
	clip-path: inset(0 100% 0 0);
	animation: mv_txt_ani_sub 2s forwards 0.8s;
}
@keyframes mv_txt_ani_sub {
    0% {
        clip-path: inset(0 100% 0 0);
    }

    100% {
        clip-path: inset(0);
    }
}
.w68{
	width: 68%;
}
.w71{
	width: 71%;
}
.m_b1p{
	margin-bottom: 1%;
}
@media screen and (max-width: 1351px){
	.mv_ttl {
		margin: 0 0 0 37vw;
		max-width: 58vw;
	}
}

@media screen and (max-width: 599px){
	.mv_ttl {
        max-width: 90vw;
        margin: auto;
    }
	.mv_frame {
		height: 85svh;
	}
}
/*----------------------------------------
	サブMV
----------------------------------------*/
.submv_ttl_frame {
    position: absolute;
    bottom: 31%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1350px;
    box-sizing: border-box;
}
.submv_ttl {
    width: 40%;
    max-width: 566px;
    margin: 0 0px 0 12vw;
}
.submv_frame {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.submv_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	transform: scale(1.05);
	transition: transform 2s var(--easing01),filter 2s linear;
}
.active .submv_img {
	transform: scale(1.00);
	filter: blur(0px);
}
@keyframes submv_img {
	0% {
		transform: scale(1.05);
		filter: blur(10px);
	}
	100% {
		transform: scale(1.00);
		filter: blur(0px);
	}
}

@media screen and (min-width: 1351px){
	.submv_ttl {
        margin: 0 0 0 11%;
    }
}
@media screen and (max-width: 599px){
	.submv_ttl{
		width: 80%;
		margin: auto;
	}
	.submv_frame {
		height: 40svh;
	}
}
/*----------------------------------------
	トップページ
----------------------------------------*/
.prl_item img {	
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* 経営戦略 */
.intro_para_box01 {
    width: 100%;
    height: auto;
    aspect-ratio: 580 / 690;
}
.keiei01 {
    position: absolute;
    top: 5%;
    left: 0%;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 565 / 290;
}
.keiei02{
    position: absolute;
    top: 51%;
    left: 0%;
    overflow: hidden;
    width: 43%;
    aspect-ratio: 245 / 140;
}
.keiei03 {
    position: absolute;
    top: 51%;
    left: 47%;
    overflow: hidden;
    width: 45%;
    aspect-ratio: 250 / 350;
}
.keiei04 {
	position: absolute;
    top: 75%;
    left: 20%;
    overflow: hidden;
    width: 22%;
    aspect-ratio: 121 / 150;
}
/* 財務戦略 */
.intro_para_box02 {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 6.5;
}
.zaim01 {
    position: absolute;
    top: 5%;
    left: 6%;
    width: 90%;
    overflow: hidden;
    aspect-ratio: 500 / 450;
}
.zaim02{
    position: absolute;
    top: 70%;
    left: 6%;
    width: 77%;
    overflow: hidden;
    aspect-ratio: 350 / 200;
}
/* 自社保有不動産 */
.intro_para_box03 {
    width: 100%;
    height: auto;
    aspect-ratio: 530 / 730;
}
.zisya01 {
    position: absolute;
    top: 5%;
    left: 0%;
    width: 59%;
    overflow: hidden;
    aspect-ratio: 323.75 / 420.55;
}
.zisya02{
	position: absolute;
    top: 16%;
    left: 61%;
    overflow: hidden;
    width: 35%;
    aspect-ratio: 190 / 150;
}
.zisya03 {
    position: absolute;
    top: 65%;
    left: 32%;
    overflow: hidden;
    width: 50%;
    aspect-ratio: 250 / 250;
}
.zisya04 {
    position: absolute;
    top: 37.5%;
    left: 70%;
    overflow: hidden;
    width: 26%;
    aspect-ratio: 150 / 300;
}
/*----------------------------------------
	経営戦略ページ
----------------------------------------*/
.keiei_bg{
	position: relative;
    z-index: 10;
    clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
    background-color: transparent;

}
.keiei_bg::before{
	content: '';
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    position: fixed;
	background-image: url(./images/management/view.jpg);
    background-size: cover;
}
.keiei_contain{
	padding: 20%;
}
.keiei_flex{
	display: flex;
	gap: 2%;
}
@media screen and (max-width: 599px){
	.keiei_flex {
		flex-direction: column-reverse;
	}
}
/* 自社保有する強み */
.intro_para_box04 {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3.4;
}
.tsuyomi01 {
	position: absolute;
    top: 6%;
    left: 46%;
    width: 51%;
    overflow: hidden;
    aspect-ratio: 3 / 2;
}
.tsuyomi02 {
    position: absolute;
    top: 28%;
    left: 4%;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 560 / 400;
}
.tsuyomi03 {
    position: absolute;
    top: 72%;
    left: 51%;
    overflow: hidden;
    width: 33%;
    aspect-ratio: 2 / 3;
}
.tsuyomi04 {
    position: absolute;
    top: 65%;
    left: 14%;
    overflow: hidden;
    width: 35%;
    aspect-ratio: 1 / 1;
}
/* 価値を高める不動産有効活用 */
.intro_para_box05 {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 2.5;
}
.kachi01 {
    position: absolute;
    top: 4%;
    left: 40%;
    width: 55%;
    overflow: hidden;
    aspect-ratio: 360 / 290;
}
.kachi02 {
    position: absolute;
    top: 43%;
    left: 4%;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 560 / 400;
}
/* 不動産管理についての考え */
.intro_para_box06 {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1.1;
}
.kanri01 {
    position: absolute;
    top: 1%;
    left: 6%;
    width: 94%;
    overflow: hidden;
    aspect-ratio: 529.99 / 399.97;
}
.kanri02 {
    position: absolute;
    top: 68%;
    left: 52%;
    overflow: hidden;
    width: 48%;
    aspect-ratio: 278.47 / 198.54;
}
/* 取引先・仲介業者・売主工事業者・職人との長期的な信頼関係構築 */
.intro_para_box07 {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
}
.shinrai01 {
    position: absolute;
    top: 0%;
    left: 11%;
    width: 89%;
    overflow: hidden;
    aspect-ratio: 565 / 360;
}
.shinrai02 {
    position: absolute;
    top: 61%;
    left: 52%;
    overflow: hidden;
    width: 48%;
    aspect-ratio: 295 / 200;
}
/*----------------------------------------
	財務戦略ページ
----------------------------------------*/
.zaim_bg{
	position: relative;
    z-index: 10;
    clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
    background-color: transparent;
}
.zaim_bg::before{
	content: '';
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    height: 100lvh;
    position: fixed;
	background-image: url(./images/financial/settei.jpg);
    background-size: cover;
}
.zaim_contain{
	padding: 20%;
}
.zaim_flex {
    display: flex;
    gap: 9%;
}
@media screen and (max-width: 599px){
	.zaim_flex {
		flex-direction: column-reverse;
	}
}
/* 数値に基づいた具体的な数値 */
.intro_para_box08 {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 9;
}
.bunseki01 {
    position: absolute;
    top: 3%;
    left: 13%;
    width: 27%;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}
.bunseki02{
    position: absolute;
    top: 36%;
    left: 7%;
    overflow: hidden;
    width: 64%;
    aspect-ratio: 4 / 5;
}
.bunseki03 {
    position: absolute;
    top: 14%;
    left: 46%;
    overflow: hidden;
    width: 53%;
    aspect-ratio: 3.2 / 3;
}
.bunseki04 {
    position: absolute;
    top: 82%;
    left: 34%;
    overflow: hidden;
    width: 50%;
    aspect-ratio: 3 / 2;
}
/*----------------------------------------
	企業情報ページ
----------------------------------------*/
.vision_flex {
    display: flex;
    gap: 6%;
}
.p_t140{
	padding-top: 140px;
}
.p_b140{
	padding-bottom: 140px;
}
.vision_bg{
	position: relative;
    z-index: 10;
    clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
    background-color: transparent;
}
.vision_bg::before{
	content: '';
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    height: 100lvh;
    position: fixed;
	background-image: url(./images/top/vision_bg.jpg);
    background-size: cover;
}
.mirai_bg {
    background-image: url(./images/company/mirai_bg.jpg);
    background-position: top;
    background-size: contain;
    background-repeat: no-repeat;
}
/* table */
.outline_tb{
	width: 100%;
	line-height: 2;
	font-size: clamp(15px, 1.7vw, 18px);
}
.outline_tb th,
.outline_tb td{
	font-weight: normal;
	text-align: left;
	padding: 10px 15px 10px 18px;
	box-sizing: border-box;
}
.outline_tb th {
    max-width: 150px;
    width: 20%;
}
.tr_bg{
	background: #e2ebf8;
}
@media screen and (max-width: 880px){
	.p_t140{
		padding-top: 60px;
	}
	.p_b140{
		padding-bottom: 60px;
	}
}
@media screen and (max-width: 599px){
	.vision_flex {
		flex-direction: column;
	}
	.p_t140{
		padding-top: 50px;
	}
	.p_b140{
		padding-bottom: 50px;
	}
}
/*---------------------------------------
	個人情報保護方針ページ
----------------------------------------*/
.privacy_policy h3::before{
	content: '';
	display: inline-block; 
	width: 15px;
	height: 15px;
	background-color: black;
	margin-right: 8px; 
	vertical-align: baseline; 
}
@media screen and (max-width: 599px) {
    .privacy_policy .text_24 {
        font-size: 1.65rem !important;
    }
}
/*---------------------------------------
	個人情報保護方針ページ
----------------------------------------*/

/* form table */

.tb_style{
	width: 100%;
}
table.tb_style{
	word-break: break-all;
}
.tb_style th,
.tb_style td{
	line-height: 1.6;
	text-align: left;
	font-weight: normal;
	padding:20px 10px 20px 15px;
	overflow-wrap : break-word;
}
.tb_style th{
	box-sizing: border-box;
	width:30%;
	font-weight: bold;
}
.tb_style td{
	padding-left:15px;
}
.tb_style .tr_add th{
	vertical-align: top;
	padding-top: 4.5%;
}

@media print, screen and (min-width: 900px){

	.tb_style th{
		width: 230px;
	}

}/*END*/

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

	.tb_style th{
		width: 28%;
	}

}/*END*/

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

	table.tb_style{
		border-spacing: 0 0;
	}
	.tb_style th{
		width: 100%;
		padding-left: 0;
	}
	.tb_style th, .tb_style td{
		border: none;
		display: block;
		font-size:1.4rem;
	}
	.tb_style th{
		font-weight: bold;
		padding:8px 5px 0 0;
	}
	.tb_style td{
		padding: 8px 0 15px 0;
	}

}/*END*/

/*必須・任意*/
.hissu,
.nini{
	display: inline-block;
	line-height: 1 !important;
	padding: 3px 5px;
	margin-left: 6px;
	vertical-align: middle;
	border-radius: 2px;
	font-size: 1.4rem !important;
	box-sizing: border-box;
	margin-top: -2px;
}
.hissu{
	background: #bb3f49;
	color: #fff;
}
.nini{
	color: #fff;
	background: #7d7d7d;
}
.add span{
	display: inline-block;
	padding-right: 10px;
}
/* .privacy span{ display: inline-block !important; } */
.privacy_error{
	text-align: center;
	padding: 2px 10px;
}
.privacy.check label{
	padding-top:0;
	padding-bottom: 0;
}
.privacy_check .vertical-item{
	display: inline-block !important;
}
.privacy_check{
	background: #ece8dc;
	padding: 25px 10px;
}


/* form */

select,
textarea,
input[type="text"],
input[type="tel"]{
	background:#fff;
	border: none;
	padding: 15px 13px;
	box-sizing: border-box;
	-webkit-appearance: none;
	transition: all 0.4s;
	font-size: 1.6rem;
	color: #333;
		font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
input:focus{
	outline: none;
}
input[type="button"]{
	-webkit-appearance: none;
}
button,
input[type="submit"]{
	-webkit-appearance: none;
	transition: all 0.4s;
}
select{
	background-size: auto 100%;
	padding-right: 60px;
}
.tb_style textarea{
	width:100%;
}

.form1{ width: 100px; }
.form2{ width: 120px; }
.form3{ width: 200px; }
.form4{ width: 400px; }
.form_all{ width: 100%; }

input.job_sonota{
	padding: 8px 8px !important;
}

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

	select,
	textarea,
	input[type="text"]{
		font-size: 1.6rem;
	}
	.form3,
	.form4{
		width: 100%;
	}

}/*END*/


/* radio checkbox */

.radio input[type="radio"],
.check input[type="checkbox"]{
	display: none;
}
.radio label,
.check label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 10px;
	padding: 5px 0 5px 30px;
	line-height: 1.2;
}
.radio label:before,
.check label:before{
	position: absolute;
	content: "";
	top: 40%;
	left: -10px;
	width: 24px;
	height: 24px;
	margin-top: -10px;
	background: none;
	border:1px solid #898989;
	border-radius: 50%;
	box-sizing: border-box;
}
.check label:before{
	border-radius: 0;
}
.privacy_check .check label::before{
	border: 1px solid #898989;
}
.radio label:before,
.check label:before{
	display: none\9;
}
.radio label:not(:target):before,
.check label:not(:target):before{
	display: inline-block\9;
}
.radio input[type="radio"]:checked + label:after{
	position: absolute;
	content: "";
	top: 40%;
	left: -10px;
	width: 28px;
	height: 28px;
	margin-top: -10px;
	border-radius: 50%;
	background: #e7e7e7;
	border-color: #e7e7e7;
}
.check input[type="checkbox"]:checked + label::after{
	content: "";
	position: absolute;
	top: 50%;
	box-sizing: border-box;
	display: block;
}
.check input[type="checkbox"]:checked + label::after{
	left: -7px;
	width: 18px;
	height: 12px;
	margin-top: -9px;
	border-left: 3px solid #333333;
	border-bottom: 3px solid #333333;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

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

	.radio label, .check label{
		padding: 5px 0 5px 25px;
	}

}/*END*/




/*---------------------------------------
	自社保有不動産ページ
----------------------------------------*/
.property-list {
	display: flex;
	flex-wrap: wrap;
	row-gap: 50px;
    column-gap: 30px;
	justify-content: flex-start;
}

.property-item {
	flex: 1 1 320px; 
	max-width: calc(33.333% - 20px); 
	box-sizing: border-box;
}
.property-item h3 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	max-height: calc(1.6em * 2); 
}

.property-item .thumb {
	aspect-ratio: 320/351;
}

.property-item .thumb > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}


.company-logo img {
    max-width: 362px;
    width: 80%;
}

.thumb {
    position: relative;
    overflow: hidden;
}

.property-type-icon {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.property-type-icon img {
	max-width: 120px;
    width: 100%;
    height: auto;
    display: block;
	aspect-ratio: 4/1!important;
}

@media screen and (max-width: 768px) {
	.property-item {
		max-width: calc(50% - 15px);
	}
}
@media screen and (max-width: 599px) {
	.property-list {
		row-gap: 40px;
		column-gap: 20px;
	}
	.property-type-icon img {
		width: 85%!important;
	}
}
@media screen and (max-width: 400px) {
	.property-type-icon img {
		width: 65%!important;
	}
}
/*---------------------------------------
	アニメーション
----------------------------------------*/
/*txt_in*/
.txt_in {
	overflow: hidden;
	display:block;
}
.txt_in > *{
	display:block;
	transform: translateY(200%);
}
.active.txt_in > *,.active .txt_in > *{
	animation: txt_in 0.8s var(--transition_anim01) forwards;
}
@keyframes txt_in{
	0% {
    transform: translateY(200%);
	}
	100% {
		transform: translateY(0);
	}
}
/*subtxt_in*/
.subtxt_in {
	overflow: hidden;
	display:block;
}
.subtxt_in > *{
	display:block;
	transform: translateX(-200%);
}
.active.subtxt_in > *,.active .subtxt_in > *{
	animation: subtxt_in 8.5s var(--transition_anim01) forwards;
	animation-duration: 1s;
}
@keyframes subtxt_in{
	0% {
    transform: translateX(-200%);
	}
	100% {
		transform: translateX(0);
	}
}
/*prallax*/
.prl_item img {
	transform: scale(1.2);
}

/*----------------------------------------
	Gallery ギャラリー カラム
----------------------------------------*/
.entry_content .gallery,
.gallery_content .gallery{
    display: flex;
    flex-wrap: wrap;
    gap: 3.4%;
}

.entry_content .gallery-item:hover,
.gallery_content .gallery-item:hover{
    opacity: 0.7;
}

.gallery-item{
    margin-bottom: 30px;
}

.gallery-columns-1{
}
.gallery-columns-1 .gallery-item{
    width: 100%;
}

.gallery-columns-2{
}
.gallery-columns-2 .gallery-item{
   width: calc((100% - (1 * 3.4%)) / 2) !important;
}

.gallery-columns-3{
}
.gallery-columns-3 .gallery-item{
    width: calc((100% - (2 * 3.4%)) / 3) !important;
}

.gallery-columns-4{
}
.gallery-columns-4 .gallery-item{
     width: calc((100% - (3 * 3.4%)) / 4) !important;
}

.gallery-columns-5{
}
.gallery-columns-5 .gallery-item{
    width: calc((100% - (4 * 3.4%)) / 5) !important;
}

.gallery-columns-6{
}
.gallery-columns-6 .gallery-item{
    width: calc((100% - (5 * 3.4%)) / 6) !important;
}

.gallery-columns-7{
}
.gallery-columns-7 .gallery-item{
    width: calc((100% - (6 * 3.4%)) / 7) !important;
}

.gallery-columns-8{
}
.gallery-columns-8 .gallery-item{
    width: calc((100% - (7 * 3.4%)) / 8) !important;
}

.gallery-columns-9{
}
.gallery-columns-9 .gallery-item{
    width: calc((100% - (8 * 3.4%)) / 9) !important;
}
/*
.gallery-icon{
    position: relative;
    overflow: hidden;
    background: #eee;
    width: 100%;
    padding: 100% 0 0;
}
.gallery-item img{
    width: 100%;
    height: auto !important;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
}
*/

.gallery-icon{
    position: relative;
    overflow: hidden;
    background: #eee;
    width: 100%;
    aspect-ratio: 1/1;
}
.gallery-item img{
    object-fit: contain !important;
}

.gallery-item + br{
	display: none !important;
}


.gallery_content figcaption{
    padding: 8px 0;
    font-size: clamp(1.2rem, 1.36vw, 1.4rem);
    color: #898989;
    line-height: 1.3;
}

.gallery-caption{
	padding-top: 10px;
}


@media screen and (max-width:599px){
    .gallery-item{
        margin-bottom: 15px;
    }

    .gallery-columns-4 .gallery-item,
    .gallery-columns-5 .gallery-item,
    .gallery-columns-6 .gallery-item,
    .gallery-columns-7 .gallery-item,
    .gallery-columns-8 .gallery-item,
    .gallery-columns-9 .gallery-item{
    	width: 47% !important;
    }


}/*END*/


