@charset "utf-8";
/* CSS Document */





/*common*/
:root {
  --color_wh: #FFFFFF;
  --color_lg: #7d7b7e;
  --color_g: #808080;
  --color_dg: #1f1f1f;
  --color_gd: #bb963c;
  --color_EC6941: #EC6941;
 
  
  --font_10: clamp(0.4rem, calc(0.2rem + 0.625vw), 1.0rem);
  --font_11: clamp(0.5rem, calc(0.3rem + 0.625vw), 1.1rem);
  --font_12: clamp(0.6rem, calc(0.4rem + 0.625vw), 1.2rem);
  --font_14: clamp(0.8rem, calc(0.6rem + 0.625vw), 1.4rem);
  --font_16: clamp(1.0rem, calc(0.8rem + 0.625vw), 1.6rem);
  --font_20: clamp(1.4rem, calc(1.2rem + 0.625vw), 2.0rem);
  --font_24: clamp(1.8rem, calc(1.6rem + 0.625vw), 2.4rem);
  --font_27: clamp(2.1rem, calc(1.6rem + 0.625vw), 2.7rem);
  --font_30: clamp(2.4rem, calc(2.2rem + 0.625vw), 3.0rem);
  --font_32: clamp(2.6rem, calc(2.4rem + 0.625vw), 3.2rem);
  --font_35: clamp(2.9rem, calc(2.7rem + 0.625vw), 3.5rem);
  --font_38: clamp(3.2rem, calc(3.0rem + 0.625vw), 3.8rem);
  --font_40: clamp(3.4rem, calc(3.2rem + 0.625vw), 4.0rem);
  --font_45: clamp(3.9rem, calc(3.7rem + 0.625vw), 4.5rem);
  --font_50: clamp(4.4rem, calc(4.2rem + 0.625vw), 5.0rem);
  --font_55: clamp(4.6rem, calc(4.4rem + 0.625vw), 5.5rem);
  --font_60: clamp(5.0rem, calc(4.6rem + 0.625vw), 6.0rem);
  --font_70: clamp(6.0rem, calc(5.0rem + 0.625vw), 7.0rem);
  --font_80: clamp(7.0rem, calc(6.0rem + 0.625vw), 8.0rem);
  --font_90: clamp(8.0rem, calc(7.0rem + 0.625vw), 9.0rem);
/*  --font_24: 2.4rem;
  --font_30: 3.0rem;
  --font_36: 3.6rem;
  --font_40: 4.0rem;
  --font_48: 4.8rem;*/
}


html { font-size: 62.5%; scroll-behavior: smooth;}
a { text-decoration: none;}
body { font-family: "Noto Sans JP", sans-serif; font-weight: 400; min-height: 100vh; font-feature-settings: "palt"; background: var(--color_wh); color: #000;}

a,
a:hover { transition: ease .5s;}
a:hover { opacity: 0.5;}


/* Loading　*/
#splash { position: fixed; width: 100%; height: 100%; z-index: 9999; background: var(--color_dg); text-align: center; top: 0;}
#splash_logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center;}
#splash_logo img { width:300px; margin: 0 auto 10px;}
#splash_logo .image {}
#splash_logo .name { color: #fff; }
#splash .fadeUp { animation-name: fadeUpAnime; animation-duration: 0.5s; animation-fill-mode:forwards; opacity: 0;}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(0);
  }
 
  to {
    opacity: 1;
    transform: translateY(0);
  }
}



/*PC*/
@media print, screen and (min-width: 768px) {


/*----------------------------*/
body { font-size: clamp(1.2rem, calc(0.8rem + 0.625vw), 1.8rem);}

.pc { display: block;}
.sp { display: none;}
.pcBr { display: inline-block;}
.spBr { display: none;}

.spMenu { display: none;}

a[href^="tel:"] { pointer-events: none;}

.page-top { display: block;}
.page-top a { position: fixed; bottom: 30px; right: 30px; width: 70px; height: 70px;}

.c_gd { color: var(--color_gd);}

/*----------------------------*/

.wrap { min-height: 100vh; display: flex; flex-direction: column; flex: 1 0 auto;}

header { display: none;}
header h1 {}
header h1 a {}


.visual { margin: 0 auto; width: 100%; position: relative;}
.visual .movie { position: relative; overflow: hidden; width: 100%; height: 100vh;}
.visual .movie video { object-fit: cover; position: absolute; height: 100%; width: 100%; top: 0; left: 0;}
.visual .contact { position: fixed; right: 20px; bottom: 286px; z-index: 5000;}
.visual .contact a { display: block; width: 186px; height: 186px;}
.visual .contact a:hover { opacity: 1.0; transform: scale(120%);}
.visual .document { position: fixed; right: 20px; bottom: 100px; z-index: 5000;}
.visual .document a { display: block; width: 186px; height: 186px;}
.visual .document a:hover { opacity: 1.0; transform: scale(120%);}



.sec01 { position: relative;}
.sec01 .box01 { display: flex; justify-content: space-between; position: relative;}
.sec01 .box01::before { content: ""; background: url("../images/hanabira.png") 0 0 no-repeat; background-size: cover; width: 67.85714285714286vw; height: 52.61904761904762vw; position: absolute; top: 0; right: 0; z-index: 200;}
.sec01 .box01 .txt { margin: 10.892857142857142vw 0 7.5vw 13.80952380952381vw; display: flex; justify-content: space-between; flex-direction: column;}
.sec01 .box01 .img { width: 20.535714285714285vw;}
.sec01 .box01 .img img { width: 100%;}
.sec01 .box01 .txt h2 { font-size: var(--font_55); font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em;}
.sec01 .box01 .txt h3 { font-size: var(--font_45); font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.5em;}


.sec01 .box02 { background: var(--color_lg); padding: 5.952380952380952vw 0; position: relative;}
.sec01 .box02::before { content:""; width: 35.23809523809524vw; height: 50%; background: #FFF; position: absolute; top: 0; left: 0;}
.sec01 .box02::after  { content:""; width: 6.190476190476191vw; height: 100%; background: #FFF; position: absolute; top: 0; left: 0;}
.sec01 .box02 .inner { display: flex; justify-content: space-between;}
.sec01 .box02 .inner .img { width: 44.642857142857146vw; position: relative; z-index: 50;}
.sec01 .box02 .inner .img img { width: 100%;}
.sec01 .box02 .inner .txt { width: 49.404761904761905vw; padding: 7.023809523809524vw 0 0;}
.sec01 .box02 .inner .txt p { font-size: var(--font_27); font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; color: var(--color_wh);}
.sec01 .box02 .img02 { width: 16.666666666666664vw; position: absolute; bottom: 0; right: 0;}
.sec01 .box02 .img02 img { width: 100%;}


.sec01 .box03 { display: flex; justify-content: space-between;}
.sec01 .box03 .img { width: 59.523809523809526vw; padding: 0 0 11.666666666666666vw;}
.sec01 .box03 .img img { object-fit: cover; width: 100%; height: 100%;}
.sec01 .box03 .txt { padding: 9.345238095238095vw 0 0 6.25vw;}
.sec01 .box03 .txt h2 { font-size: var(--font_55); font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em;}
.sec01 .box03 .txt h3 { font-size: var(--font_45); font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.5em; padding: 5.535714285714286vw 0 0 6.726190476190476vw;}
.sec01 .box03 .txt p { font-size: var(--font_27); font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; padding: 5.535714285714286vw 0 5.833333333333333vw;}




.sec02 { background: var(--color_dg);}
.sec02 > .box01 { width: 100%; height: 850px; background: url("../images/sec02Img01.jpg") center no-repeat; background-size: cover; display: flex; justify-content: center; align-items: center;}
.sec02 > .box01 h2 { font-size: var(--font_90); font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; color: var(--color_wh);}


.sec02 > .box02 { background: var(--color_dg); position: relative;}
.sec02 > .box02 h3 { font-size: var(--font_45); font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em; color: var(--color_gd); background: var(--color_dg); display: inline-block; padding: 20px 50px; position: absolute; top: -40px; left: 50%; transform: translateX(-50%); white-space: nowrap;}
.sec02 > .box02 p { font-size: var(--font_27); font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; padding: 6.1309523809523805vw 0; color: var(--color_wh); text-align: center;}


.sec02 > .box03 { padding: 0 0 60px;}
.sec02 > .box03 .inner { text-align: center; position: relative;}
.sec02 > .box03 .inner .img { display: inline-block;}
.sec02 > .box03 .inner .img img {}
.sec02 > .box03 .inner .txt { width: 29.345238095238095vw; padding: 30px 17px; border-top: solid 1px #FFF; border-bottom: solid 1px #FFF; position: absolute; right: 100px; bottom: 30px; text-align: left;}
.sec02 > .box03 .inner .txt dl:nth-child(1) { font-size: 1.4285714285714286vw; color: var(--color_wh); padding: 0 0 10px;}
.sec02 > .box03 .inner .txt dl:nth-child(1) dt { float: left; display: inline-block; white-space: normal; padding-top: 0.2em;}
.sec02 > .box03 .inner .txt dl:nth-child(1) dt::after  { content: "／"; padding: 0 0.5em;}
.sec02 > .box03 .inner .txt dl:nth-child(1) dd { margin-left: 7.6190476190476195vw; padding-bottom: 0.2em;}
.sec02 > .box03 .inner .txt dl:nth-child(2) { font-size: 0.9523809523809524vw; color: var(--color_wh);}
.sec02 > .box03 .inner .txt dl:nth-child(2) dt { float: left; display: inline-block; white-space: normal; padding-top: 0.2em;}
.sec02 > .box03 .inner .txt dl:nth-child(2) dt::before { content: "□";}
.sec02 > .box03 .inner .txt dl:nth-child(2) dt::after  { content: "／"; padding: 0 0.5em;}
.sec02 > .box03 .inner .txt dl:nth-child(2) dd { padding-bottom: 0.2em;}
.sec02 > .box03 .inner .txt {}


.sec02 .box_1f { padding: 0 0 50px 50px; position: relative; color: var(--color_wh);}
.sec02 .box_1f h2 { width: 8.823529411764707vw; height: 8.823529411764707vw; font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em; font-size: 2.2058823529411766vw; background: var(--color_gd); position: absolute; top: -50px; left: 20px; display: flex; justify-content: center; align-items: center; z-index: 100;}
.sec02 .box_1f .line { border: solid 1px var(--color_gd); width: calc( 100% - 2px );}
.sec02 .box_1f .line .inner { display: flex; align-items: flex-start;}
.sec02 .box_1f .line .inner:nth-of-type(1) { /*width: 91.42857142857143vw;*/ padding: 95px 0 80px 1.0714285714285714vw;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box01 { width: 16.071428571428573vw; margin-right: 2.976190476190476vw; position: relative;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box01 .txt { width: 500px; position: absolute; bottom: -3.6em;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box01 .img { margin: 0;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box02 { width: 24.761904761904763vw; margin-right: 2.976190476190476vw; display: flex; justify-content: space-between;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box02 .img { width: 14.821428571428571vw; margin: 0;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box02 .txt { width: 8.333333333333332vw;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box03 { width: 22.380952380952383vw; margin-right: 2.976190476190476vw;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box03 .img { margin-bottom: 20px;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box04 { width: 19.28571428571429vw; margin-bottom: 20px;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box04 .img { margin-bottom: 20px;}
.sec02 .box_1f .line .inner:nth-of-type(2) { /*width: 82.26190476190476vw;*/ padding: 0 0 60px 10.238095238095237vw;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box01 { width: 24.642857142857146vw; margin-right: 4.464285714285714vw;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box01 .txt p { font-size: var(--font_16);}
.sec02 .box_1f .line .inner:nth-of-type(2) .box02 { width: 30.357142857142854vw; margin-right: 4.285714285714286vw;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box02 .txt p { font-size: var(--font_16);}
.sec02 .box_1f .line .inner:nth-of-type(2) .box03 { width: 7.6190476190476195vw; margin-right: 2.857142857142857vw;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box03 .txt p { font-size: var(--font_14);}
.sec02 .box_1f .line .inner:nth-of-type(2) .box04 { width: 7.6190476190476195vw;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box04 .txt p { font-size: var(--font_14);}
.sec02 .box_1f .img { margin-bottom: 20px;}
.sec02 .box_1f img { object-fit: cover; width: 100%;}
.sec02 .box_1f h3 { margin: 0 0 20px;}


.sec02 .box_2f { padding: 50px 0 50px 50px; position: relative; color: var(--color_wh);}
.sec02 .box_2f h2 { width: 8.823529411764707vw; height: 8.823529411764707vw; font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em; font-size: 2.2058823529411766vw; background: var(--color_gd); position: absolute; top: 0; left: 20px; display: flex; justify-content: center; align-items: center; z-index: 100;}
.sec02 .box_2f .line { border: solid 1px var(--color_gd);width: calc( 100% - 2px );}
.sec02 .box_2f .line .inner { display: flex; padding: 130px 0 130px 5.476190476190476vw;}
.sec02 .box_2f .line .inner .box01 { display: flex; justify-content: space-between; width: 52.55952380952381vw; margin-right: 5.654761904761905vw;}
.sec02 .box_2f .line .inner .box01 .img { width: 37.797619047619044vw;}
.sec02 .box_2f .line .inner .box01 .txt { width: 13.095238095238097vw; font-size: var(--font_16);}
.sec02 .box_2f .line .inner .box01 .txt h3 { font-size: var(--font_24);}
.sec02 .box_2f .line .inner .box01 .txt p { font-size: var(--font_16);}
.sec02 .box_2f .line .inner .box02 { width: 8.75vw; margin-right: 2.261904761904762vw;}
.sec02 .box_2f .line .inner .box02 .img { margin: 0 0 20px;}
.sec02 .box_2f .line .inner .box02 .txt { font-size: var(--font_14);}
.sec02 .box_2f .line .inner .box03 { width: 17.261904761904763vw;}
.sec02 .box_2f .line .inner .box03 .img { margin: 0 0 20px;}
.sec02 .box_2f .line .inner .box03 .txt { font-size: var(--font_16);}
.sec02 .box_2f .line .inner .box03 .txt h3 { font-size: var(--font_24);}
.sec02 .box_2f .line .inner .box03 .txt p { font-size: var(--font_16);}
.sec02 .box_2f img { width: 100%;}
.sec02 .box_2f h3 { margin: 0 0 20px;}




.sec03 { padding: 100px 0 0;}
.sec03 .inner { background: var(--color_lg); position: relative; padding: 140px 0 105px;}
.sec03 .inner::after { content: ""; width: 31.547619047619047vw; height: 105px; background: var(--color_wh); position: absolute; bottom: 0; right: 0;}
.sec03 .inner h2 { font-size: var(--font_35); font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; color: var(--color_wh); background: var(--color_lg); display: inline-block; padding: 20px 50px; position: absolute; top: -40px; left: 50%; transform: translateX(-50%); white-space: nowrap;}


.sec03 .inner .detail_column { max-width: 1300px; margin: auto auto -20px; display: flex; flex-wrap: wrap;}
.sec03 .inner .detail_column > div { width: calc( ( 100% - 40px ) / 3 ); background: var(--color_dg); margin-left: 20px; margin-bottom: 20px; color: var(--color_wh); min-height: 184px;}
.sec03 .inner .detail_column > div:nth-child(3n+1) { margin-left: 0;}
.sec03 .inner .detail_column > div h4 { font-size: var(--font_20); margin-bottom: 5px; padding: 0 0 0 20px;}
.sec03 .inner .detail_column > div p { font-size: var(--font_14); padding: 0 20px;}
.sec03 .inner .detail_column .imgL { display: flex;}
.sec03 .inner .detail_column .imgL .img { width: 43%;}
.sec03 .inner .detail_column .imgL .img img { width: 100%; height: 100%; object-fit: cover;}
.sec03 .inner .detail_column .imgL .txt { width: 57%; align-content: center;}
.sec03 .inner .detail_column .txtC { padding: 0 20px;}
.sec03 .inner .detail_column .txtC .txt { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.sec03 .inner .detail_column .txtC .txt h4 { margin-bottom: 10px;}
.sec03 .inner .detail_column .txtC2 { display: flex; flex-direction: column; justify-content: space-between; background: var(--color_lg);}
.sec03 .inner .detail_column .txtC2 .txt { background: var(--color_dg); padding: 22px 0; text-align: center;}
.sec03 .inner .detail_column .txtC2 .txt h4 { padding: 0;}




.sec04 { padding: 0 20px;}
.sec04 .inner { max-width: 1200px; margin: auto;}
.sec04 .inner h2 { font-size: var(--font_40); font-family: "Raleway", sans-serif; font-weight: 700; line-height: 1em; color: var(--color_wh); background: var(--color_lg); padding: 6px 12px 0; margin-bottom: 40px;}
.sec04 .inner h2 span { font-size: var(--font_20); font-weight: 700; color: var(--color_wh); background: var(--color_lg); margin-left: 40px;}
.sec04 .inner h3 { font-size: var(--font_32); color: var(--color_lg); padding: 0 0 20px;}
.sec04 .inner p { font-size: var(--font_16); color: #231815; margin: 0 0 40px;}


.sec04 .inner .box01 { display: flex; justify-content: space-between; padding: 0 0 100px;}
.sec04 .inner .box01 > .boxL { width: 56.58%;}
.sec04 .inner .box01 > .boxR { width: 38.00%;}
.sec04 .inner .box02 { display: flex; justify-content: space-between; padding: 0 0 100px;}
.sec04 .inner .box02 > .boxL { width: 65.33%;}
.sec04 .inner .box02 > .boxL .box02in { display: flex; justify-content: space-between;}
.sec04 .inner .box02 > .boxL > .box02in .boxL { width: 47.31%;}
.sec04 .inner .box02 > .boxL > .box02in .boxR { width: 46.41%;}
.sec04 .inner .box02 > .boxR { max-width: 352px;}




.sec05 {}
.sec05 .f_txt { background: var(--color_dg); padding: 70px 0;}
.sec05 .f_txt p { max-width: 900px; margin: auto; padding: 0 20px; color: var(--color_wh); font-size: var(--font_14); font-family: "Noto Serif JP", system-ui;}




.sec06 {}
.sec06 .map { width: 100%; height: 500px;}
.sec06 .map iframe { width: 100%; height: 100%; border: none;}
    
    
.secCampaign01 { padding: 3% 0 3% 0}
.secCampaign01 .inner { max-width: 1200px; margin: auto;}    




footer { background: var(--color_dg); padding: 125px 0;}
footer .box { max-width: 960px; margin: auto; display: flex; justify-content: space-between;}
footer .box .logo { width: 210px; margin: 0 30px 0 0;}
footer .box .logo .img { width: 100%; height: auto;}
footer .box .bnr { width: auto;}
footer .box .bnr a {}
footer .box .bnr a .img { width: 100%; height: auto;}




















}


/*sp*/
@media only screen and (max-width: 767px) {


/*----------------------------*/
body { font-size: 1.4rem;}
.scroll { overflow: scroll; scrollbar-width: auto;}

.pc { display: none;}
.sp { display: block;}
.pcBr { display: none;}
.spBr { display: inline-block;}

.menu {
	display: none;
	}
	
.hamburger {
    cursor: pointer;
    padding: 17px;
    z-index: 1001; /* メニューより前に表示 */
}

.hamburger a {
    display: block;
    width: 30px;
    height: 25px;
    position: relative;
    background: transparent;
    border: none;
}

/* バーの基本スタイル */
.bar {
    display: block;
    width: 100%;
    height: 2px;
	background: #fff;
    position: absolute;
    left: 0;
    transition: all 0.3s ease;
}

/* 初期状態 */
.bar1 {
    top: 0;
}

.bar2 {
    top: 50%;
    transform: translateY(-50%);
}

.bar3 {
    bottom: 0;
}

/* トグル時のスタイル */
.hamburger.active .bar1 {
    transform: rotate(45deg); /* 上のバーを45度回転 */
    top: 47%; /* 中央に配置 */
}

.hamburger.active .bar2 {
    opacity: 0; /* 中央のバーを非表示に */
}

.hamburger.active .bar3 {
    transform: rotate(-45deg); /* 下のバーを-45度回転 */
    bottom: 40%; /* 中央に配置 */
}

/* トグル時のバーの位置調整 */
.hamburger.active .bar1,
.hamburger.active .bar3 {
	background: #000;
    transition: transform 0.3s ease, top 0.3s ease, bottom 0.3s ease; /* スムーズなアニメーション */
}
/* メニューのスタイル */
.spMenu {
    display: none; /* 初期状態では非表示 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: #000;
    background: rgba(255, 255, 255, 0.9);
    z-index: 1000; /* メニューの上に表示 */
    overflow-y: auto;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    transform: translateY(-100%); /* 初期位置は画面外 */
    opacity: 0;
    visibility: hidden;
}

.spMenu.active {
    display: block;
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
}

.spMenu .inner {
    padding: 20px;
}

.spMenu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.spMenu li {
    padding: 10px 0;
}

.spMenu a {
    text-decoration: none;
    color: #000;
    font-size: 18px;
}
	
.page-top { display: block;}
.page-top a { position: fixed; bottom: 20px; right: 10px; width: 40px; height: 40px;}

.c_gd { color: var(--color_gd);}


/*----------------------------*/

.wrap { min-height: 100vh; display: flex; flex-direction: column; flex: 1 0 auto;}

header { display: none;}
header h1 {}
header h1 a {}


.visual { margin: 0 auto; width: 100%; position: relative;}
.visual .movie { position: relative; overflow: hidden; width: 100%; height: 100vh;}
.visual .movie video { object-fit: cover; position: absolute; height: 100%; width: 100%; top: 0; left: 0;}
.visual .contact { position: fixed; right: 10px; bottom: 160px; z-index: 5000;}
.visual .contact a { display: block; width: 100px; height: 100px;}
.visual .contact a:hover { opacity: 1.0; transform: scale(120%);}
.visual .document { position: fixed; right: 10px; bottom: 60px; z-index: 5000;}
.visual .document a { display: block; width: 100px; height: 100px;}
.visual .document a:hover { opacity: 1.0; transform: scale(120%);}





.sec01 { position: relative;}
.sec01 .box01 { padding: 220px 0 0; position: relative;}
.sec01 .box01::before { content: ""; background: url("../images/hanabira_sp.png") 0 0 no-repeat; background-size: cover; width: 100%; height: 108.53333333333333vw; position: absolute; top: 0; right: 0; z-index: 200;}
.sec01 .box01 .txt { margin: 0 0 60px 20px; display: flex; justify-content: space-between; flex-direction: column;}
.sec01 .box01 .img { width: 45.86666666666667vw; position: absolute; top: 0; right: 0; z-index: 100;}
.sec01 .box01 .img img { object-fit: cover; width: 100%; height: 100%;}
.sec01 .box01 .txt h2 { font-size: 3.0rem; font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em; margin: 0 0 110px; position: relative; z-index: 200;}
.sec01 .box01 .txt h3 { font-size: 2.4rem; font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.5em; position: relative; z-index: 200;}


.sec01 .box02 { background: var(--color_lg); padding: 0 0 120px; position: relative;}
.sec01 .box02::before { content:""; width: 20px; height: 250px; background: var(--color_lg); position: absolute; top: -250px; left: auto; right: 0;}
.sec01 .box02::after  { content: none;}
.sec01 .box02 .inner { /*display: flex; justify-content: space-between;*/}
.sec01 .box02 .inner .img { width: 44.642857142857146vw; position: relative; z-index: 50;}
.sec01 .box02 .inner .img img { width: 100%;}
.sec01 .box02 .inner .txt { width: auto; padding: 50px 30px; position: relative;}
.sec01 .box02 .inner .txt p { font-size: 1.6rem; font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; color: var(--color_wh);}
.sec01 .box02 .img02 { width: 37.333333333333336vw; position: absolute; bottom: -27.0vw; right: auto; left: 0;}
.sec01 .box02 .img02 img { width: 100%;}


.sec01 .box03 { display: flex; justify-content: space-between;}
.sec01 .box03 .img { width: 100%; padding: 0 0 0;}
.sec01 .box03 .img img { object-fit: cover; width: 100%; height: 100%;}
.sec01 .box03 .txt { padding: 180px 0 50px 0; width: 100%;}
.sec01 .box03 .txt h2 { font-size: 3.0rem; font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em; text-align: center; padding: 0 0 80px;}
.sec01 .box03 .txt h3 { font-size: 2.4rem; font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.5em; padding: 40px 0 0 30px;}
.sec01 .box03 .txt p { font-size: 1.6rem; font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; padding: 30px 0 0 30px;}




.sec02 { background: var(--color_dg);}
.sec02 > .box01 { width: 100%; height: 400px; background: url("../images/sec02Img01.jpg") center no-repeat; background-size: cover; display: flex; justify-content: center; align-items: center;}
.sec02 > .box01 h2 { font-size: 3.0rem; font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; color: var(--color_wh);}


.sec02 > .box02 { background: var(--color_dg); position: relative;}
.sec02 > .box02 h3 { font-size: 2.0rem; font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em; color: var(--color_gd); background: var(--color_dg); display: inline-block; padding: 20px 20px; position: absolute; top: -45px; left: 50%; transform: translateX(-50%); white-space: nowrap; text-align: center;}
.sec02 > .box02 p { font-size: 1.4rem; font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; padding: 40px 20px; color: var(--color_wh); text-align: center;}


.sec02 > .box03 { padding: 0 0 80px;}
.sec02 > .box03 .inner { text-align: center; position: relative;}
.sec02 > .box03 .inner .img { display: inline-block;}
.sec02 > .box03 .inner .img img {}
.sec02 > .box03 .inner .txt { width: 300px; padding: 10px 25px; border-top: solid 1px #FFF; border-bottom: solid 1px #FFF; position: inherit; right: 0; bottom: 0; text-align: left; margin: 30px auto 0;}
.sec02 > .box03 .inner .txt dl:nth-child(1) { font-size: 1.4rem; color: var(--color_wh); padding: 0 0 5px;}
.sec02 > .box03 .inner .txt dl:nth-child(1) dt { float: left; display: inline-block; white-space: normal; padding-top: 0.2em;}
.sec02 > .box03 .inner .txt dl:nth-child(1) dt::after  { content: "／"; padding: 0 0.5em;}
.sec02 > .box03 .inner .txt dl:nth-child(1) dd { margin-left: 7.6190476190476195vw; padding-bottom: 0.2em;}
.sec02 > .box03 .inner .txt dl:nth-child(2) { font-size: 1.0rem; color: var(--color_wh);}
.sec02 > .box03 .inner .txt dl:nth-child(2) dt { float: left; display: inline-block; white-space: normal; padding-top: 0.2em;}
.sec02 > .box03 .inner .txt dl:nth-child(2) dt::before { content: "□";}
.sec02 > .box03 .inner .txt dl:nth-child(2) dt::after  { content: "／"; padding: 0 0.5em;}
.sec02 > .box03 .inner .txt dl:nth-child(2) dd { padding-bottom: 0.2em;}
.sec02 > .box03 .inner .txt {}


.sec02 .box_1f { padding: 0 15px 50px 15px; position: relative; color: var(--color_wh);}
.sec02 .box_1f h2 { width: 18vw; height: 18vw; font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em; font-size: 2.4rem; background: var(--color_gd); position: absolute; top: -30px; left: 5px; display: flex; justify-content: center; align-items: center; z-index: 100;}
.sec02 .box_1f .line { border: solid 1px var(--color_gd); width: calc( 100% - 2px );}
.sec02 .box_1f .line .inner { display: flex; align-items: flex-start; flex-wrap: wrap; justify-content: center;}
.sec02 .box_1f .line .inner:nth-of-type(1) { /*width: 91.42857142857143vw;*/ padding: 60px 0 0 0;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box01 { width: 36vw; margin-right: 6.666666666666667vw; /*position: inherit;*/ margin-bottom: 10.666666666666668vw;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box01 .txt { width: 100%; position: inherit; bottom: -3.6em;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box01 .img { margin: 0 0 10px;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box02 { width: 33.33333333333333vw; margin-right: 0; /*display: inherit; justify-content: space-between;*/ margin-bottom: 10.666666666666668vw;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box02 .img { width: 100%; margin: 0 0 10px;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box02 .txt { width: auto;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box03 { width: 65.33333333333333vw; margin-right: 0; margin-bottom: 10.666666666666668vw;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box03 .img { margin-bottom: 10px;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box04 { width: 65.33333333333333vw; margin-bottom: 10.666666666666668vw;}
.sec02 .box_1f .line .inner:nth-of-type(1) .box04 .img { margin-bottom: 10px;}
.sec02 .box_1f .line .inner:nth-of-type(2) { /*width: 82.26190476190476vw;*/ padding: 0 0 10.666666666666668vw 0;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box01 { width: 72.26666666666667vw; margin-right: 0; margin-bottom: 10.666666666666668vw;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box01 .txt p { font-size: auto;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box02 { width: 88.8vw; margin-right: 0; margin-bottom: 10.666666666666668vw;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box02 .txt p { font-size: auto;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box03 { width: 31.2vw; margin-right: 11.200000000000001vw;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box03 .txt p { font-size: auto;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box04 { width: 31.2vw;}
.sec02 .box_1f .line .inner:nth-of-type(2) .box04 .txt p { font-size: auto;}
.sec02 .box_1f .img { margin-bottom: 10px;}
.sec02 .box_1f img { object-fit: cover; width: 100%;}
.sec02 .box_1f h3 { margin: 0 0 10px; text-wrap: inherit;}


.sec02 .box_2f { padding: 50px 15px 50px 15px; position: relative; color: var(--color_wh);}
.sec02 .box_2f h2 { width: 18vw; height: 18vw; font-family: "Cinzel", system-ui; font-weight: 500; letter-spacing: 0.1em; font-size: 2.4rem; background: var(--color_gd); position: absolute; top: 20px; left: 5px; display: flex; justify-content: center; align-items: center; z-index: 100;}
.sec02 .box_2f .line { border: solid 1px var(--color_gd); width: calc( 100% - 2px );}
.sec02 .box_2f .line .inner { display: flex; align-items: flex-start; flex-wrap: wrap; justify-content: center; padding: 60px 0 0 0;}
.sec02 .box_2f .line .inner .box01 { /*display: inherit; justify-content: space-between;*/ width: 86.66666666666667vw; margin-right: 0; margin-bottom: 10.666666666666668vw;}
.sec02 .box_2f .line .inner .box01 .img { width: auto; margin-bottom: 10px;}
.sec02 .box_2f .line .inner .box01 .txt { width: auto; font-size: auto;}
.sec02 .box_2f .line .inner .box01 .txt h3 { font-size: auto;}
.sec02 .box_2f .line .inner .box01 .txt p { font-size: auto;}
.sec02 .box_2f .line .inner .box02 { width: 39.2vw; margin-right: 0; margin-bottom: 10.666666666666668vw;}
.sec02 .box_2f .line .inner .box02 .img { margin: 0 0 10px;}
.sec02 .box_2f .line .inner .box02 .txt { font-size: auto;}
.sec02 .box_2f .line .inner .box03 { width: 77.60000000000001vw; margin-bottom: 10.666666666666668vw;}
.sec02 .box_2f .line .inner .box03 .img { margin: 0 0 10px;}
.sec02 .box_2f .line .inner .box03 .txt { font-size: auto;}
.sec02 .box_2f .line .inner .box03 .txt h3 { font-size: auto;}
.sec02 .box_2f .line .inner .box03 .txt p { font-size: auto;}
.sec02 .box_2f img { width: 100%;}
.sec02 .box_2f h3 { margin: 0 0 10px;}




.sec03 { padding: 100px 0 0;}
.sec03 .inner { background: var(--color_lg); position: relative; padding: 100px 0 80px;}
.sec03 .inner::after { content: ""; width: 31.547619047619047vw; height: 35px; background: var(--color_wh); position: absolute; bottom: 0; right: 0;}
.sec03 .inner h2 { font-size: 2.0rem; font-family: "Noto Serif JP", system-ui; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8em; color: var(--color_wh); background: var(--color_lg); display: inline-block; padding: 20px 20px; position: absolute; top: -45px; left: 50%; transform: translateX(-50%); white-space: nowrap; text-align: center;}


.sec03 .inner .detail_column { max-width: 1300px; margin: auto 40px -20%; display: flex; flex-wrap: wrap; position: relative; z-index: 100;}
.sec03 .inner .detail_column > div { width: 100%; background: var(--color_dg); margin-left: 0; margin-bottom: 4%; color: var(--color_wh); min-height: 184px;}
.sec03 .inner .detail_column > div:nth-child(2n+1) { margin-left: 0;}
.sec03 .inner .detail_column > div h4 { font-size: 1.6rem; margin-bottom: 5px; padding: 0 0 0 20px;}
.sec03 .inner .detail_column > div p { font-size: 1.2rem; padding: 0 20px;}
.sec03 .inner .detail_column .imgL { display: flex;}
.sec03 .inner .detail_column .imgL .img { width: 43%;}
.sec03 .inner .detail_column .imgL .img img { width: 100%; height: 100%; object-fit: cover;}
.sec03 .inner .detail_column .imgL .txt { width: 57%; align-content: center;}
.sec03 .inner .detail_column .txtC { padding: 0 20px;}
.sec03 .inner .detail_column .txtC .txt { height: 100%; display: flex; flex-direction: column; justify-content: center;}
.sec03 .inner .detail_column .txtC .txt h4 { margin-bottom: 10px;}
.sec03 .inner .detail_column .txtC2 { display: flex; flex-direction: column; justify-content: flex-start; background: var(--color_lg); width: 100%; height: auto; background: transparent;}
.sec03 .inner .detail_column .txtC2 .box { height: auto; margin-bottom: 4%;}
.sec03 .inner .detail_column .txtC2 .txt { background: var(--color_dg); padding: 22px 0; text-align: center; width: 100%;}
.sec03 .inner .detail_column .txtC2 .txt h4 { padding: 0;}




.sec04 { padding: 0 40px;}
.sec04 .inner { max-width: 1200px; margin: auto;}
.sec04 .inner h2 { font-size: 2.4rem; font-family: "Raleway", sans-serif; font-weight: 700; line-height: 1em; color: var(--color_wh); background: var(--color_lg); padding: 6px 12px 0; margin-bottom: 30px;}
.sec04 .inner h2 span { font-size: 1.4rem; font-weight: 700; color: var(--color_wh); background: var(--color_lg); margin-left: 40px;}
.sec04 .inner h3 { font-size: 1.6rem; color: var(--color_lg); padding: 0 0 10px;}
.sec04 .inner p { font-size: 1.4rem; color: #231815; margin: 0 0 40px;}


.sec04 .inner .box01 { display: flex; justify-content: space-between; padding: 0 0 30px; flex-direction: column;}
.sec04 .inner .box01 > .boxL { width: 100%; margin-bottom: 30px;}
.sec04 .inner .box01 > .boxR { width: 100%;}
.sec04 .inner .box02 { display: flex; justify-content: space-between; padding: 0 0 60px; flex-direction: column;}
.sec04 .inner .box02 > .boxL { width: 100%; margin-bottom: 30px;}
.sec04 .inner .box02 > .boxL .box02in { display: flex; justify-content: space-between; flex-direction: column;}
.sec04 .inner .box02 > .boxL > .box02in .boxL { width: 100%; margin-bottom: 30px;}
.sec04 .inner .box02 > .boxL > .box02in .boxR { width: 100%;}
.sec04 .inner .box02 > .boxR { max-width: 100%;}
.sec04 .inner .img img { margin: auto;}



.sec05 {}
.sec05 .f_txt { background: var(--color_dg); padding: 70px 0;}
.sec05 .f_txt p { max-width: 900px; margin: auto; padding: 0 30px; color: var(--color_wh); font-size: 1.2rem; font-family: "Noto Serif JP", system-ui;}




.sec06 {}
.sec06 .map { width: 100%; height: 500px;}
.sec06 .map iframe { width: 100%; height: 100%; border: none;}


.secCampaign01 { padding: 0 0 0 0}
.secCampaign01 .inner { width: 100%; margin:0 auto 0 auto;}   
    
    
    
    

footer { background: var(--color_dg); padding: 100px 0 150px;}
footer .box { max-width: 960px; margin: auto; display: flex; flex-direction: column; align-items: center;}
footer .box .logo { width: 150px; margin: 0 0 50px 0;}
footer .box .logo .img { width: 100%; height: auto;}
footer .box .bnr { width: auto; max-width: 400px; margin: 0 40px;}
footer .box .bnr a {}
footer .box .bnr a .img { width: 100%; height: auto;}




}

