@charset "UTF-8"


/* ----------------------------------
    reset
----------------------------------- */
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
  all: unset;
  display: revert;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
}



body,
h1,
h2{
	font-family: "Zen Maru Gothic", serif;
	color="#3A2516"
}
h3,
h4,
h5 {
  margin: 0px;
  padding: 0px;
  font-weight: normal;
}

body {
  color: #3A2516;
  font-family:
　 font-family:
　　"Zen Maru Gothic"
   "Sawarabi Gothic",
   "Yu Gothic",
   "Hiragino Kaku Gothic ProN",
   "Helvetica Neue",
   "Helvetica",
   "Hiragino Sans",
   "Arial",
   "Meiryo",
   sans-serif;
  line-height: 1.3;
  font-size: 16px;
}

ol,
ul {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
}

a {
  cursor: pointer;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=esubmit],
button,
select,
textarea {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}

/* ----------------------------------
    基本レイアウト
----------------------------------- */
.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 400;
  font-style: normal;
}

b{
	font-family: "Zen Maru Gothic", serif;
	color="#3A2516"
}

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}
p, td, th{
	font-family: "Zen Kaku Gothic New", sans-serif;
	color="#000000"
}



#wrapper {
  overflow: hidden;
}

.main_width {
  height: auto;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  margin-bottom: auto;
}




/* ----------------------------------
    共通パーツ
----------------------------------- */

.section{
	position: relative;
}


h2 img {
  height: 70px;
}

rt {
  font-size: 10px;
  -webkit-transform: scale(0.5);
  transform: scale(0.8);
  ruby-align: distribute-space;
}


@media screen and (min-width : 390px ){
  h2 img {
    height: 100px;
  }

  rt {
    font-size: 10px;
    ruby-align: distribute-space;
  }
}

h4 {
  font-size: 4vw;
}

@media screen and (min-width : 390px ){
  h4 {
    font-size: 2vw;
  }
}

h5 {
  font-size: 10px;
  color: #78B53B;
  text-align: center;
  margin-top: 50px;
}

@media screen and (min-width : 390px ){
  h5 {
    font-size: 13px;
    color: #78B53B;
    text-align: center;
    margin-top: 50px;
  }
}

.btn_hover a img {
  position: relative;
  top: 0;
}

.btn_hover a img:hover {
  top: -10px;
  transition: 0.3s;
}

#seurat {
  font-family: "fot-seurat-pron", sans-serif;
  font-weight: 600;
  font-style: normal;
}


/* MODEL COURSE モデルコースのページ */
/* スライダー全体のスタイル */
.slider {
    position: relative;
    top: -10vw;
    left: 0;
    width: 100%;
    height: 90%; /* 画面の高さ全体を使用 */
    z-index: -1; /* ヘッダーの背面に配置 */
    overflow: hidden;
}

/* スライドコンテナ */
.slides {
    position: relative;
}

/* 各スライドのスタイル */
.slide {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

/* 最初のスライドを表示 */
.slide.active {
    opacity: 1;
    position: relative;
}

/* 画像のスタイル */
.slide img {
    width: 100%;
    display: block;
}
.text-container-m {
    display: inline-flex;
    align-items: baseline;
    border-bottom: 2px solid black !important; /* 下線を全体に引く */
	margin-left: 5%;
}

.title_info-m {
    font-size: 40px;
    font-weight: bold;
    margin: 0 20px 0 0; /* 右にスペースを追加 */
    position: relative;
    top: -1vw; /* 表示位置を上に調整 */
}
/* スマホ表示用のフォントサイズ調整 */
@media screen and (max-width: 768px) {
    .title_info-m {
        font-size: 24px; /* スマホ用のフォントサイズ */
    }
}


.modelcourse01 {
    position: absolute;
 	top: 40%; /* 縦方向の中央 */
  left: 50%; /* 横方向の中央 */
  transform: translate(-50%, -50%); /* 正確に中央に配置 */
  z-index: 2; /* ロゴを動画の前面に表示 */
  width: 35%; /* ロゴのサイズを調整 */
}

.modelcourse{
	position: relative;
	top: -30vw;
}

.modelcourse02 {
    position: relative;
    width: 5%;
    left: 7vw;
    z-index: 1;
}

.modelcourse03{
	position: absolute;
	max-width: 100%;
	height: auto;
	left: 0vw;
	bottom: -20%;
}

.modelcourse-title01 {
    position: relative;
	font-size: 16px;
	line-height: 1.5;
	margin-left: 10%;
	margin-right: 10%;
}
@media screen and (max-width: 768px) {
	.modelcourse-title01{
		font-size: 14px;
	}
}
.modelcourse-youtube{
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	margin-top: 3vw;
	padding-left: 10%;
	padding-right: 10%;
	margin-bottom: 5%;
}
.modelcourse-main{
	position: relative;
	width: 100%;
	margin-top: -25vw;
}
.house{
	position: absolute;
	width: 70%;
	left: 20vw;
	z-index: -1;
}
.title-container {
	position: relative;
	width: 100%;
	
}

.title {
	width: 65vw;
	height: auto;
	padding-left: 15vw;
	padding-top: 9vw;
}

.modelcourse-moji{
	font-size: 14px;
	line-height: 2;
}

.modelcourse-contact th {
  width: 20%; /* thの幅を均等に設定 */
  white-space: nowrap; /* 改行させない */
  vertical-align: top; /* 上寄せを維持 */
  padding: 1px 10px 1px 1px; /* セル内の余白を追加 */
}
.modelcourse-contact {
	position: relative;
	display: block;
	margin: 5% auto;
	font-size: 14px;
	z-index: 50;
	width: 90%; /* テーブル全体の幅を設定 */
    table-layout: fixed; /* 列の幅を固定 */
    border-collapse: collapse; /* セルの枠線を崩さない */
}


.next {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 8%;
	margin-top: 3%;
	padding-bottom: 3%;
	margin-bottom: -10vw;
}

/* ナビゲーションボタンの位置調整 */
.prevprev, .nextnext {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5); /* 半透明の背景 */
    color: white;
    border: none;
    z-index: 10;
    cursor: pointer;
    padding: 10px;
    font-size: 18px;
}

.prevprev {
    left: 5px;
}

.nextnext {
    right: 5px;
}


/* ベースのスタイル - PC用 (デフォルトで横並び) */
.modelcourse-both {
    display: flex;
    justify-content: space-between;
	padding: 0 10%;
	z-index: 500;
}

.modelcourse-left, .modelcourse-right {
    flex: 1;
    padding: 10px;
}

/* スマホ用のスタイル - 縦並びにする */
@media (max-width: 768px) {
    .modelcourse-both {
        flex-direction: column;
		z-index: 500;
    }

    .modelcourse-left, .modelcourse-right {
        padding: 10px 0;
    }
}
@media (max-width: 768px) {
	.modelcourse-mainpic{
	display: block;
        margin: 0 auto; /* 画面中央に配置 */
        width: 70%; /* スマホ表示での画像の幅 */
        height: auto; /* アスペクト比を維持 */
	}
	.modelcourse-ber{
		margin-top: 15px;
	}
}

/* カルーセル用のスタイル */
.carousel-container {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 100%; /* 画像が4枚分表示されるため、全体幅を4倍に */
}

.modelcourse-mainpic {
    width: 100%; /* それぞれの画像が100%の幅で表示される */
    flex: 1 0 100%; /* 1つの画像が全幅を占める */
}



.bg{
	position: absolute;
	margin-top: -433vw; 
	z-index: -1;
}
.bg2{
	position: absolute;
	margin-top: -221vw; 
	z-index: -1;
}
.bg3{
	position: absolute;
	margin-top: -217vw;
	z-index: -1;
}
.bg4{
	position: absolute;
	margin-top: -252vw;
	z-index: -1;
}
.bg5{
	position: absolute;
	margin-top: -200vw;
	z-index: -1;
}






.scroll-infinity{
	position: relative;
	top: 0vw;
}
.footer-all{
	position: relative;
	top: 0vw;
}