@charset "utf-8";

/*
COLORS
================================================ */
:root {
    --gray: #555;
    --black: #000000;
    --white: #fff;
    --brown: #432;
    --skyblue: #0bd;
    --cream:#fffaf0;
    --red:#ff0000;
    --red2:#b22222;
    --blue:#1d4aff;
    --purple:#9a00b5;
    --orange:#ff8400;
    --yellow:#f6ff00;
}
@media (prefers-color-scheme: dark) {
    :root {
        --text: #ddd;
        --bg: #000;
    }
}

/*共通部分
-------------------------------*/
html{
    font-size: 62.5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    scroll-behavior: smooth;
}
body{
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0;
    padding: 0;
    color:var(--black);
    font-family: 'DM Serif Display', serif,'Noto Sans JP', sans-serif,"ヒラギノ角ゴ Pro W3", 'Sawarabi Mincho',serif, "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳＰゴシック", "MS PGothic", sans-serif;
}
/* スクロールバー
---------------------------------*/
::-webkit-scrollbar {
    background: #ffffff;
    width: 10px;
    height: 15px;
    border-radius: 20px;
  }
  ::-webkit-scrollbar-thumb {
    background-color: var(--gray);
  border-radius: 20px;
  }



/* 一般
---------------------------------*/
p {
    line-height: 1.7;

}
img {
    max-width: 100%;
    image-rendering: -webkit-optimize-contrast;
}
a:hover {
    color: var(--red2);
}
a{
    text-decoration: none;

}
button {
    padding: 0;
    font-family: inherit;
    appearance: none;
    cursor: pointer;
    background-color: transparent;
    border: none;
}
li{
    color: var(--white);
    list-style: none;
}
ul{
    margin: 0;
    padding: 0;
}

  /*scroll
------------------------------------*/
.scroll_up {
    transition: 0.8s ease-in-out;
    transform: translateY(30px);
    opacity: 0;
  }
  .scroll_up.on {
    transform: translateY(0);
    opacity: 1.0;
  }

/*ホームスタートアニメーション*/
  .start {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
}
.start p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 280px;
}

/* video */
  .top-video::after{
    content: '';
    width: 100%;
    height: 100%;
    background-color: #10394b;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    opacity: .3;
  }
  
  .top-media video{
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  .top-media .top-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* アスペクト比を維持しながら、コンテナを埋める */
    position: absolute;
    top: 0;
    left: 0;
  }
  

  .top-video,
  .top-image {
    display: none; /* デフォルトで非表示 */
  }
  
  @media (min-width: 751px) {
    .top-video {
      display: block; /* 幅が700以上の場合に動画を表示 */
    }
  }
  
  @media (max-width: 750px) {
    .top-image {
      display: block; /* 幅が700以下の場合に画像を表示 */
    }
  }

/* Header */
#header{
	position: relative;/*背景を設定するdivの基点とするためrelativeをかける*/
    width: 100%;
	height:100vh;
 	overflow: hidden;/*はみ出しているところを隠す*/
}

.main-header_container.visible {
    top: 0; /* スクロール後に表示 */
  }
.main-header_container{
    position: fixed;/*背景を固定するためfixedをかける*/
    display: flex;
    width: 100%;
    justify-content: space-between;
    z-index: 4;
    background-color: rgba(0, 0, 0, 0.4);
    height: 95px;
    top: -200px;
    transition: .5s;
}
.logoandnav{
    display: flex;
    width: 100%;
    justify-content: space-between;
}
.main-header_tell{
    margin-top: 0;
    background: var(--red2);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 30px 0;
    text-align: center;
    line-height: 1.5;
}
.tell-contact{
    margin: 0;
    font-weight: 500;
    letter-spacing: .1em;
    font-size: 1.4rem;
}
.tell-number{
    margin: 0;
    font-size: 1.7rem;
    white-space: nowrap;
}
.phone-icon-head {
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/phone_sample.png) no-repeat;
    background-size: contain; /* アイコン画像をコンテナ内に収める */
    margin-right: 5px; /* 文字とアイコンの間に少し余白を追加 */
    margin-bottom: 5px;
    vertical-align: middle; /* アイコンをテキストの中央揃えにする */
}
.main-header_logo{
    padding-top: 10px;
    margin-left: 30px;
    padding-bottom: 10px;
}
.main-logo{
    display: block;
    width: 300px;
}
.main-header_main-nav{
    margin: auto 0;
}
.main-nav_container,.main-nav_list{
    display: flex;
    align-items: center;
}
.main-nav_list{
    justify-content: center;
    text-transform: uppercase;
    list-style: none;
}
.main-nav_item{
    display: flex;
    align-items: center;
    height: 100%;
}
.main-nav_item:first-child {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(2) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(3) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(4) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(5) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_item:nth-child(6) {
    margin-right: 30px;
    text-shadow:1px 1px 0 #000000;
}
.main-nav_link{
    position: relative;
    display: inline-block;
    letter-spacing: .1em;
    font-weight: 800;
    font-size: 1.8rem;
    text-decoration: none;
    font-family: 'DM Serif Display', serif;
}
.main-nav_text{
    color: var(--white);
}
.main-nav_text:hover{
    color: var(--red2) ;
}

/*HumburgerButton
-----------------------------------------*/
@media screen and (min-width: 992px){
    .humburger-container{
        display: none;
    }
}
@media screen and (max-width: 992px){
.main-header_container{
       display: none; 
}
.toplogo-btn{
    position: fixed;/*背景を固定するためfixedをかける*/
    display: flex;
    width: 100%;
    justify-content: space-between;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.4);
}
.logo-container{
    padding: 10px 0;
    padding-left: .5rem;
}
.humburger-logo{
    padding-top: .5rem;
    width: 200px;
}

#humburger-menu_container{
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top:0;
    right: -120%;
    width:100%;
    height: 100vh;/*ナビの高さ*/
    /*動き*/
    transition: all 0.6s;
    background: rgba(0, 0, 0, 0.8);
}

/*アクティブクラスがついたら位置を0に*/
#humburger-menu_container.panelactive{
    right: 0;
}

/*ナビゲーション*/
#humburger-menu_container ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:45%;
    left:50%;
    transform: translate(-50%,-50%);
    width: 90%;
    padding: 0;
    margin: 0;
}
.menu_information{
    padding-bottom: 4rem;
}
.menusheeplogo_container{
    text-align: center;
}
.menusheeplogo_container img{
    width: 150px;
}
.menuphone-guidance{
    line-height: 0;
    color: var(--white);
    font-size: 1.6rem;
}
.menusheeplogo_container h1{
    font-size: 2rem;
    transform: scale(0.9, 1);
    font-family:serif, "Hiragino Kaku Gothic Pro";
    color: var(--white);
    margin: 0;
}
.phone-icon {
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/phone_sample.png) no-repeat;
    background-size: contain; /* アイコン画像をコンテナ内に収める */
    margin-right: 10px; /* 文字とアイコンの間に少し余白を追加 */
    padding-bottom: 7px;
    vertical-align: middle; /* アイコンをテキストの中央揃えにする */
}

/*リストのレイアウト設定*/

#humburger-menu_container li{
  list-style: none;
    text-align: center;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.5);
}

#humburger-menu_container li a{
    font-size: 2rem;
  color: #ffffff;
  text-decoration: none;
  padding:15px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: bold;
  font-family: 'DM Serif Display', serif;
    font-family: 'Shippori Mincho B1', serif;
}

.openbtn-container{
    padding-top: 10px;
    padding-right: 1rem;
}
.openbtn1{
    z-index: 9999;
	position: relative;
	background:#801100;
	cursor: pointer;
    width: 50px;
    height:50px;
	border-radius: 7px;
    margin: .5rem .5rem;
}

/*ボタン内側*/
.openbtn1 .openbtn-area{
    transition: all .6s;/*アニメーションの設定*/
	width:50px;
	height:50px;
}

.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background: #fff;
  	width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
	top:15px;	
}

.openbtn1 span:nth-of-type(2) {
	top:23px;
}

.openbtn1 span:nth-of-type(3) {
	top:31px;
}

/*activeクラスが付与されると .openbtn-areaが360度回転し、その中の線が回転して×に*/
.openbtn1.active .openbtn-area{
	transform: rotate(360deg);
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
}


/*--------アニメーション---------*/
.delighter.concept_title {
    transition: all .5s ease-out;
    transform: translateX(-100%);
    opacity: 0;
}
.delighter.concept_title.started {
    transform: none;
    opacity: 1;
  }
.delighter.flex_left_image {
    transition: all .5s ease-out;
    transform: translateX(-100%);
    opacity: 0;
}
.delighter.flex_left_image.started {
    transform: none;
    opacity: 1;
}
.delighter.flex_right_image {
    transition: all .5s ease-out;
    transform: translateY(20%);
    opacity: 0;
}
.delighter.flex_right_image.started {
    transform: none;
    opacity: 1;
}
.delighter.overturn_title {
    transition: all .5s ease-out;
    transform: translateY(100%);
    opacity: 0;
}
.delighter.overturn_title.started {
    transform: none;
    opacity: 1;
}
.delighter li { opacity: 0; transform: translatey(400%); transition: all .7s ease-out; }
.delighter.started li { opacity: 1; transform: none; }
.delighter.started li:nth-child(1) { transition: all .7s ease-out .1s; }
.delighter.started li:nth-child(2) { transition: all .7s ease-out .25s; }
.delighter.started li:nth-child(3) { transition: all .7s ease-out .4s; }
.delighter.started li:nth-child(4) { transition: all .7s ease-out .55s; }
.delighter.started li:nth-child(5) { transition: all .7s ease-out .7s; }
.delighter.started li:nth-child(6) { transition: all .7s ease-out .85s; }
.delighter.started li:nth-child(7) { transition: all .7s ease-out 1.0s; }
.delighter.started li:nth-child(8) { transition: all .7s ease-out 1.15s; }
.delighter.started li:nth-child(9) { transition: all .7s ease-out 1.3s; }

/*--------メインコンテンツ---------*/
.background_container{
    background-color: rgb(0, 0, 0);
}
.oneback_container,
.twoback_container{
    display: none;
}
.oneback_container{
    z-index: 1;
}
.oneback_image_container{
    position: relative;
}
.oneback_image{
    clip: rect(0, auto, auto, 0);
    margin-bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}
.twoback_container .oneback_image_container{
    z-index: 2;
}
.twoback_container .oneback_image img{
    -o-object-position: 70% 30%;
    object-position: 70% 30%;
}
.concept_background{
    background-color: var(--cream);
}
.concept_container{
    text-align: center;
    margin: 0 auto;
    position: relative;
    padding: 5rem 2rem 3rem;
    display: block;
}
.concept_box{
    padding-bottom: 130px;
}
.concept_container::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background: url(../images/board1.png) no-repeat right top / 100%;
    width: 800px;
    height: 1000px;
}
.concept_container h1{
    font-weight: 800;
    color: var(--black);
    letter-spacing: .1em;
    text-align: center;
}
.concept_colorchange{
    color: var(--red2);
    text-decoration: underline;
    font-size: 1em;
    font-weight: 800;
}
.colorchange{
    color: var(--orange);
    text-decoration: underline;
    font-size: 1em;
    font-weight: 800;
}
.colorchange_two{
    color: var(--red);
    font-size: 1.2em;
    font-weight: 800;
}
.concept_flex_right_text ul{
    display: inline-block;
}
.concept_flex_right_text li{
    color: var(--black);
    line-height: 2;
    letter-spacing: .1em;
    font-size: 1.1em;
    text-align: left;
}

.oneback_container{
    position: relative;
}
.oneback_container .oneback_image_container{
    height: 50vh;
}
.oneback_image img{
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    padding: 0;
    margin: 0;
    -o-object-fit: cover;
    object-fit: cover;
    z-index: 0;
}
.twoback_container .oneback_image_container{
    height: 100vh;
}

.overturn_container{
    position: relative;
    margin: 0 auto;
    padding: 160px 2rem 160px;
    text-align: left;
    display: block;
    text-align: center;
}
.overturn_container::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background: url() no-repeat right top / 100%;
    width: 1000px;
    height: 700px;
    z-index: 0;
}
.overturn_container h1{
    font-weight: 800;
    color: var(--white);
    letter-spacing: .1em;
    padding-bottom: 2rem;
}
.overturn_flex_right_text ul{
    display: inline-block;
}
.overturn_flex_right_text li{
    color: var(--white);
    line-height: 2;
    list-style-type: none;
    letter-spacing: .1em;
    font-size: 1.1em;
}
.icon {
    display: inline-block;
    width: 30px;
    height: 30px;
    background: url(../images/icon_sample.png) no-repeat;
    background-size: contain; /* アイコン画像をコンテナ内に収める */
    margin-right: 10px; /* 文字とアイコンの間に少し余白を追加 */
    vertical-align: middle; /* アイコンをテキストの中央揃えにする */
}
.charm_text{
    padding: 4rem 0;
    text-align: left;
}
.overturn_flex_left img {
    max-width: 100%; /* ボックス内に収まるように設定 */
    height: auto;
    position: relative;
    z-index: 1;
}

.particulars_background{
    background-color: var(--cream);
}
.particulars_container{
    position: relative;
    margin: 0 auto;
    padding: 160px 2rem 160px;
    text-align: center;
    display: block;
}
.particulars_flex_right img {
    max-width: 100%; /* ボックス内に収まるように設定 */
    height: auto;
}
.particulars_container h1{
    font-weight: 800;
    color: var(--black);
    letter-spacing: .1em;
    padding-bottom: 2rem;
    font-weight: 800;
}
.particulars_flex_left_text ul{
    display: inline-block;
}
.particulars_flex_left_text li{
    color: var(--black);
    line-height: 2;
    list-style-type: none;
    letter-spacing: .1em;
    font-size: 1.1em;
    font-weight: 800;
    text-align: left;
}

.particulars_button_container{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 4rem;
}
/* ボタンのスタイル */
.particulars_click {
position: relative;
display: block;
width: 100%;
max-width: 320px;
height: 64px;
padding: 2px;
font-family: sans-serif;
font-size: 20px;
text-align: center;
overflow-wrap: anywhere;
background: linear-gradient(135deg, #7fdd6a, #62b7ec);
border-radius: 32px; /* (buttonの高さ / 2) の値 */
}

.particulars_click::before {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
content: "";
background: linear-gradient(135deg, #7fdd6a, #62b7ec);
filter: blur(8px);
border-radius: 32px; /* (buttonの高さ / 2) の値 */
opacity: 0;
}

.particulars_button_item{
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
color: #000000;
background-color: var(--cream);
border-radius: 32px; /* (buttonの高さ / 2) の値 */
z-index: 5;
font-family:"ヒラギノ角ゴ Pro W3", 'Sawarabi Mincho',serif, "Hiragino Kaku Gothic Pro";
}

@media (any-hover: hover) {
.particulars_click::before {
  transition: opacity 0.2s;
  will-change: filter;
}

.particulars_click:hover::before {
  opacity: 1;
}
}

.exterior_container{
    position: relative;
    margin: 0 auto;
    padding: 160px 2rem 160px;
    text-align: center;
    display: block;
}
.exterior_image_container{
    position: relative;
    z-index: 1;
}
.exterior_container::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background: url(../images/board4.png) no-repeat right top / 100%;
    width: 700px;
    height: 1000px;
    z-index: 0;
}
.exterior_container h1{
    color: var(--white);
    letter-spacing: .1em;
    padding-bottom: 2rem;
}
.exterior_container ul{
    display: inline-block;
    padding-top: 4rem;
}
.exterior_container li{
    color: var(--white);
    line-height: 2;
    list-style-type: none;
    letter-spacing: .1em;
    font-size: 1.1em;
    font-weight: 800;
    text-align: left;
}

.exterior_button_container{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 4rem;
}

/* ボタンのスタイル */
.exterior_click {
position: relative;
display: block;
width: 100%;
max-width: 320px;
height: 64px;
padding: 2px;
font-family: sans-serif;
font-size: 20px;
text-align: center;
overflow-wrap: anywhere;
background: linear-gradient(135deg, #8a1818, #ab720f);
border-radius: 32px; /* (buttonの高さ / 2) の値 */
}

.exterior_click::before {
position: absolute;
top: 0;
left: 0;
display: block;
width: 100%;
height: 100%;
content: "";
background: linear-gradient(135deg, #8a1818, #ab720f);
filter: blur(8px);
border-radius: 32px; /* (buttonの高さ / 2) の値 */
opacity: 0;
}

.button_item{
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
color: #fff;
background-color: #222;
border-radius: 32px; /* (buttonの高さ / 2) の値 */
z-index: 5;
font-family:"ヒラギノ角ゴ Pro W3", 'Sawarabi Mincho',serif, "Hiragino Kaku Gothic Pro";
}

@media (any-hover: hover) {
.exterior_click::before {
  transition: opacity 0.2s;
  will-change: filter;
}

.exterior_click:hover::before {
  opacity: 1;
}
}   

.access_background{
    background-color: var(--cream);
}

.access_background{
    background-color: var(--cream);
}
.access_container{
    position: relative;
    margin: 0 auto;
    padding: 130px 2rem 130px;
    text-align: center;
    display: block;
}
.phone-guidance{
    line-height: 0;
}
.flex_left_container h1{
    font-size: 2.8rem;
    transform: scale(0.9, 1);
    font-family:serif, "Hiragino Kaku Gothic Pro";
}
.flex_left_container img{
    width: 200px;
}
.phone-guidance{
    line-height: 0;
    color: var(--black);
    font-weight: bold;
    padding-top: 2rem;
}

/*-------テーブル-------*/
    /*table全般の設定*/
    table {border-collapse:collapse;}

    /*ta1テーブルブロック設定*/
    .ta1 {
        border-top: 1px solid rgba(255, 255, 255, 0.5);	/*テーブルの一番上の線。幅、線種、色*/
        table-layout: fixed;
        width: 100%;
        margin: 0 auto 30px;		/*最後の「30px」がテーブルの下に空けるスペースです*/
    }

    /*tr（１行分）タグ設定*/
    .ta1 tr {
        border-bottom: 1px solid rgba(47, 47, 47, 0.5);	/*テーブルの下線。幅、線種、色*/
    }

    /*th（左側）、td（右側）の共通設定*/
    .ta1 th, .ta1 td {
        font-size: 1.6rem;
        padding: 20px 20px 20px 20px;		/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
        word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
    }


    /*th（左側）のみの設定*/
    .ta1 th  {
        width: 10%;			/*幅*/
        text-align: left;	/*左よせにする*/
    }
    .ta1 td  {
        text-align: left;	/*左よせにする*/
    }
    .ta1 th, .ta1 td {
        font-family: 'DM Serif Display', serif;
        font-family: 'Shippori Mincho B1', serif;
        letter-spacing: .1em;
    }



@media screen and (min-width: 750px){
    .video{
        min-width: 960px;
    }
    .concept_background{
        background-color: var(--black);
    }
    .concept_container{
        position: relative; 
        padding: 160px 2rem 3rem;
        text-align: center;
        z-index: 1;
    }
    .concept_container::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        background: url(../images/board1.png) no-repeat right top / 100%;
        background-size: cover;
        transform: rotate(180deg);/* 回転 */
        width: 100%;
        height: 100%;
        z-index: 0;
    }
    .concept_box{
        max-width: 1200px;
        margin: 0 auto;
    }
    .concept_container h1{
        font-weight: 800;
        color: var(--white);
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        letter-spacing: .1em;
    }
    .concept_colorchange{
        color: var(--red2);
        text-decoration: underline;
        font-size: 1.2em;
        font-weight: 800;
    }
    .colorchange{
        color: var(--orange);
        text-decoration: underline;
        font-size: 1.2em;
        font-weight: 800;
    }
    .colorchange_two{
        color: var(--red);
        font-size: 1.2em;
        font-weight: 800;
    }
    .concept_flex{
        display: flex;
        
    }
    .concept_flex_left{
        width: 35%;
        padding-left: 5rem;
        display: flex; /* 追加 */
        justify-content: center; /* 水平方向に中央揃え */
        align-items: center; /* 垂直方向に中央揃え */
    }
    .concept_flex_right{
        width: 65%;
        padding: 1rem;
        text-align: left;
        display: flex; /* フレックスボックスとして設定 */
        flex-direction: column; /* 縦方向に配置 */
        justify-content: center; /* 垂直方向で中央寄せ */
        align-items: center; /* 水平方向で中央寄せ */
    }
    .concept_flex_right_text li{
        color: var(--white);
        line-height: 2.5;
        list-style-type: none;
        letter-spacing: .1em;
        font-size: 1.1em;
    }

    .oneback_container{
        display: block;
        position: relative;
    }
    .twoback_container{
        display: block;
    }
    .oneback_container .oneback_image_container{
        height: 70vh;
    }
    .oneback_image img{
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        padding: 0;
        margin: 0;
        -o-object-fit: cover;
        object-fit: cover;
        z-index: 0;
    }
    .twoback_container .oneback_image_container{
        height: 100vh;
    }

    .overturn_container{
        position: relative;
        
        padding: 160px 2rem 160px;
        text-align: center;
    }
    .overturn_box{
        max-width: 1600px;
        margin: 0 auto;
    }
    .overturn_container::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        background: url(../images/board1.png) no-repeat right top / 100%;
        background-size: cover;
        transform: rotate(360deg);/* 回転 */
        width: 100%;
        height: 100%;
        z-index: 0;
    }
    .overturn_container h1{
        font-weight: 800;
        color: var(--white);
        letter-spacing: .1em;
        padding-left: 40px;
        padding-bottom: 2rem;
        text-align: center;
    }
    .overturn_flex{
        display: flex;
    }
    .overturn_flex_left{
        width: 45%;
        padding-left: 1rem;
        display: flex; /* 追加 */
        justify-content: center; /* 水平方向に中央揃え */
        align-items: center; /* 垂直方向に中央揃え */
    }
    .overturn_flex_left img {
        max-width: 100%; /* ボックス内に収まるように設定 */
        height: auto;
        position: relative;
        z-index: 1;
    }
    .overturn_flex_right{
        width: 55%;
        padding: 1rem;
        display: flex; /* フレックスボックスとして設定 */
        flex-direction: column; /* 縦方向に配置 */
        justify-content: center; /* 垂直方向で中央寄せ */
        align-items: center; /* 水平方向で中央寄せ */

    }
    .overturn_flex_right_text li{
        color: var(--white);
        line-height: 2.5;
        list-style-type: none;
        letter-spacing: .1em;
        font-size: 1.1em;
    }
    .icon {
        display: inline-block;
        width: 30px;
        height: 30px;
        background: url(../images/icon_sample.png) no-repeat;
        background-size: contain; /* アイコン画像をコンテナ内に収める */
        margin-right: 10px; /* 文字とアイコンの間に少し余白を追加 */
        vertical-align: middle; /* アイコンをテキストの中央揃えにする */
    }
    .charm_text{
        padding: 4rem 0;
        text-align: left;
    }

    .particulars_container{
        max-width: 1600px;
        position: relative;
        margin: 0 auto;
        padding: 160px 2rem 160px;
        text-align: center;
    }
    .particulars_flex{
        display: flex;
        flex-direction: row-reverse;
    }
    .particulars_flex_right{
        width: 45%;
        padding: 1rem;
        display: flex; /* フレックスボックスとして設定 */
        justify-content: center; /* 垂直方向で中央寄せ */
        align-items: center; /* 水平方向で中央寄せ */
    }
    .particulars_flex_right img {
        max-width: 100%; /* ボックス内に収まるように設定 */
        height: auto;
    }
    .particulars_flex_left{
        width: 55%;
        padding-left: 1rem;
        display: flex; /* 追加 */
        flex-direction: column; /* 縦方向に配置 */
        justify-content: center; /* 水平方向に中央揃え */
        align-items: center; /* 垂直方向に中央揃え */
    }
    .particulars_container h1{
        font-weight: 800;
        color: var(--black);
        letter-spacing: .1em;
        padding-left: 40px;
        padding-bottom: 2rem;
        text-align: center;
        font-weight: 800;
    }
    .particulars_flex_left_text li{
        color: var(--black);
        line-height: 2.5;
        list-style-type: none;
        letter-spacing: .1em;
        font-size: 1.1em;
        font-weight: 800;
    }

    .particulars_button_container{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 4rem;
        padding-left: 40px;
    }
    /* ボタンのスタイル */
.particulars_click {
    position: relative;
    display: block;
    width: 100%;
    max-width: 320px;
    height: 64px;
    padding: 2px;
    font-family: sans-serif;
    font-size: 20px;
    text-align: center;
    overflow-wrap: anywhere;
    background: linear-gradient(135deg, #7fdd6a, #62b7ec);
    border-radius: 32px; /* (buttonの高さ / 2) の値 */
  }
  
  .particulars_click::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(135deg, #7fdd6a, #62b7ec);
    filter: blur(8px);
    border-radius: 32px; /* (buttonの高さ / 2) の値 */
    opacity: 0;
  }
  
  .particulars_button_item{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #000000;
    background-color: var(--cream);
    border-radius: 32px; /* (buttonの高さ / 2) の値 */
    z-index: 3;
    font-family:"ヒラギノ角ゴ Pro W3", 'Sawarabi Mincho',serif, "Hiragino Kaku Gothic Pro";
  }
  
  @media (any-hover: hover) {
    .particulars_click::before {
      transition: opacity 0.2s;
      will-change: filter;
    }
  
    .particulars_click:hover::before {
      opacity: 1;
    }
    }   

    .exterior_container{
        position: relative;
        padding: 160px 2rem 160px;
        text-align: center;
    }
    .exterior_box{
        max-width: 1600px;
        margin: 0 auto;
    }
    .exterior_container::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        background: url(../images/board4.png) no-repeat right top / 100%;
        background-size: cover;
        transform: rotate(0deg);/* 回転 */
        width: 100%;
        height: 100%;
        z-index: 0;
    }
    .exterior_container h1{
        color: var(--white);
        letter-spacing: .1em;
        padding-bottom: 2rem;
        text-align: center;
    }
    .exterior_container li{
        color: var(--white);
        line-height: 2.5;
        list-style-type: none;
        letter-spacing: .1em;
        font-size: 1.1em;
        font-weight: 800;
    }

    .exterior_button_container{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 4rem;
    }

/* ボタンのスタイル */
.exterior_click {
    position: relative;
    display: block;
    width: 100%;
    max-width: 320px;
    height: 64px;
    padding: 2px;
    font-family: sans-serif;
    font-size: 20px;
    text-align: center;
    overflow-wrap: anywhere;
    background: linear-gradient(135deg, #8a1818, #ab720f);
    border-radius: 32px; /* (buttonの高さ / 2) の値 */
  }
  
  .exterior_click::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    background: linear-gradient(135deg, #8a1818, #ab720f);
    filter: blur(8px);
    border-radius: 32px; /* (buttonの高さ / 2) の値 */
    opacity: 0;
  }
  
  .button_item{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #fff;
    background-color: #222;
    border-radius: 32px; /* (buttonの高さ / 2) の値 */
    z-index: 5;
    font-family:"ヒラギノ角ゴ Pro W3", 'Sawarabi Mincho',serif, "Hiragino Kaku Gothic Pro";
  }
  
  @media (any-hover: hover) {
    .exterior_click::before {
      transition: opacity 0.2s;
      will-change: filter;
    }
  
    .exterior_click:hover::before {
      opacity: 1;
    }
    }   

    .access_container{
        max-width: 1000px;
        position: relative;
        margin: 0 auto;
        padding: 130px 2rem 130px;
        text-align: center;
    }
    .phone-guidance{
        line-height: 0;
    }
    .flex_left_container h1{
        font-size: 2.8rem;
        transform: scale(0.9, 1);
        font-family:serif, "Hiragino Kaku Gothic Pro";
    }
    .access_flex{
        display: flex;
    }
    .access_flex_left{
        width: 25%;
        display: flex; /* 追加 */
        flex-direction: column; /* 縦方向に配置 */
        justify-content: center; /* 水平方向に中央揃え */
        align-items: center; /* 垂直方向に中央揃え */
    }
    .phone-icon {
        display: inline-block;
        width: 25px;
        height: 25px;
        background: url(../images/phone_sample.png) no-repeat;
        background-size: contain; /* アイコン画像をコンテナ内に収める */
        margin-right: 10px; /* 文字とアイコンの間に少し余白を追加 */
        padding-bottom: 8px;
        vertical-align: middle; /* アイコンをテキストの中央揃えにする */
    }
    .access_flex_right{
        padding-left: 4rem;
        width: 75%;
        display: flex; /* 追加 */
        flex-direction: column; /* 縦方向に配置 */
        justify-content: center; /* 水平方向に中央揃え */
        align-items: center; /* 垂直方向に中央揃え */
    }


    /*-------テーブル-------*/
    /*table全般の設定*/
    table {border-collapse:collapse;}

    /*ta1テーブルブロック設定*/
    .ta1 {
        border-top: 1px solid rgba(255, 255, 255, 0.5);	/*テーブルの一番上の線。幅、線種、色*/
        table-layout: fixed;
        width: 100%;
        margin: 0 auto 30px;		/*最後の「30px」がテーブルの下に空けるスペースです*/
    }

    /*tr（１行分）タグ設定*/
    .ta1 tr {
        border-bottom: 1px solid rgba(47, 47, 47, 0.5);	/*テーブルの下線。幅、線種、色*/
    }

    /*th（左側）、td（右側）の共通設定*/
    .ta1 th, .ta1 td {
        font-size: 1.6rem;
        padding: 20px 20px 20px 50px;		/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
        word-break: break-all;	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
    }


    /*th（左側）のみの設定*/
    .ta1 th  {
        width: 10%;			/*幅*/
        text-align: left;	/*左よせにする*/
    }
    .ta1 td  {
        text-align: left;	/*左よせにする*/
    }
    .ta1 th, .ta1 td {
        font-family: 'DM Serif Display', serif;
        font-family: 'Shippori Mincho B1', serif;
        letter-spacing: .1em;
    }


}

    /*--------フッター---------*/
    .footer_container {
        text-align: center;
        padding: 0 30px 50px 30px;
        background: rgb(0, 0, 0);
       }
       .footer_container img{
        padding-top: 3rem;
        width: 200px;
       }
       .footer_container a {
        color: var(--white);
        text-decoration: none;
        font-size: 1.3rem;
        position: relative;
        z-index: 99; 
       }
       .footer_container a:hover {
        text-decoration: underline;
       }
       .footer_container .footer_menu {
        margin: 0;
        padding: 2rem 0;
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
       }
       .footer_container ul{
        padding-right: 40px;
       }
       .footer_container .footer_menu li {
        margin: 0;
        padding: 0 20px;
        border-right: 1px #c7c7c7 solid;
       }
       .footer_container .footer_menu li:last-child {
        border: none;
       }
       .footer_container .copyright {
        margin: 0;
        padding: 20px 0 0 0;
        font-size: 1rem;
        color: var(--white);
        font-family: 'DM Serif Display', serif;
        font-family: 'Shippori Mincho B1', serif;
        line-height: 0;
       }