@charset "utf-8";

/* CSS Document */

/* -----------------------------
PC用レイアウト(768px以上スクリーン）
-----------------------------*/

/* body全体の初期スタイル調整 */
body {
    font-size: 62.5%;
    /* emの計算をしやすくするための定番設定 */
    font-family: "hiragino-kaku-gothic-pron", "YuGothic", "Hiragino Sans", "Meiryo", sans-serif;
    font-style: normal;
    font-weight: normal;
    color: #000;
}

/* リンク文字の設定 */

/* a {
    text-decoration: underline;
}

/* a:link,
a:visited {
    color: #39f;
} */

/* a:hover,
a:active {
    color: #f60;
} */ 

/* ブラウザのCSSをリセット */

p {
    margin: 0 !important;
    margin: 0 !important;
}

section {
    clear: both;
    overflow: auto;
}



/* -----------------------------
見出しタグ設定(PC)
-----------------------------*/

h2 {
	position: relative;
	margin-top: 0.5em;
	margin-bottom: 1em;
	font-size: 1.6em;
	text-align: center;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
    font-style: normal;
    display: block;
}

h2:before {
	content: '';
	position: absolute;
	bottom: -30px;
	/* display: inline-block; */
	width: 60px;
	height: 5px;
	left: 50%;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #ccc;
	border-radius: 2px;
    margin-bottom: 20px;
    margin-top: 10px;

} 

.nayami_title {
	position: relative;
	margin-top: 0.5em;
	margin-bottom: 1em;
	font-size: 1.6em;
	text-align: center;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
    display: block;
}

.nayami_title:before {
	content: '';
	position: absolute;
	bottom: -30px;
	/* display: inline-block; */
	width: 60px;
	height: 5px;
	left: 50%;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #ccc;
	border-radius: 2px;
    margin-bottom: 20px;
    margin-top: 10px;

} 


.section_04 h2 {
	position: relative;
	margin-top: 0.5em;
	margin-bottom: 1em;
	font-size: 1.6em;
	text-align: center;
    color: #fff;
}

.h2_wrap{
    text-align: center;
}

.nayami_title_mini{
    font-size: 1.2em;
    display: block;
}

.section_04{
    color: #fff;
}


.section_04 h2:before {
	content: '';
	position: absolute;
	bottom: -30px;
	/* display: inline-block; */
	width: 60px;
	height: 5px;
	left: 50%;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #fff;
	border-radius: 2px;
    margin-bottom: 20px;
    margin-top: 10px;
}

h3 {
    margin: 0.5em 0em;
    padding: 0.3em 0.6em;
    font-size: 1.6em;
    text-align: center;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
}

h4 {
    margin: 0.5em 0em;
    padding: 0.3em 0.6em;
    font-size: 1.5em;
    font-weight: bold;
    /* border: 1px solid #000; */
    display: inline-block;
}





/* .underline_dotted:after {
    background: radial-gradient(circle farthest-side, #4d9ecc, #4d9ecc 60%, transparent 60%, transparent);
    background-size: 6px;
    content: '';
    display: inline-block;
    height: 6px;
    width: 100%;
} */

h5 {
    margin: 0.5em 0em;
    padding: 0.3em;
    font-size: 1.2em;
    font-weight: bold;
    border-bottom: 1px solid #ccc;
}

/* -----------------------------
全体レイアウト 背景設定(PC)
-----------------------------*/

/* 全体エリア（全体背景を設定するにはここ） */
.main {
    background-color: #F6F6F6;
}

/* 記事（ボディ）エリア */

.article {
    background-color: #fff;
    font-size: 1.6em;
    /*16px*/

}

/* 記事（ボディ）エリアの行間 */
.article p {
    line-height: 1.6;
}

.article {
    width: 100%;
}


/* カラム全体の幅を変更する */
.top_image_in,
.section_inr {
    width: 950px;
    margin: 0 auto;
    /*真ん中に要素を置きたいときに使う*/
}

/* -----------------------------
上部固定ヘッダー設定
-----------------------------*/

/* 上部固定ヘッダー全体 */
.header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 5000;
    background-color: rgba( 255, 255, 255, 0.9 );
    border-bottom: 1px solid #ccc;
    overflow: auto;
}


/* ヘッダー内部をカラム幅にする */
.header_inr {
    max-width: 950px;
    margin: 0 auto;
    overflow: hidden;
}

/* ヘッダーのロゴ */
.header_logo {
    width: 20%;
    float: left;
    margin: 3em 0em;
}


/* ヘッダーの問い合わせボタン */
.header_btn {
    float: right;
    margin: 0.8em;
    display: inline-block;
    width: 350px;
    line-height: 60px;
    text-align: center;
    font-size: 2em;
    background-color: #E15A28;
    box-shadow: 0px 3px 0px #ed6a3aba;
    transition: .3s;   
    padding: 0px 5px;
}

.header_btn:hover,
.cta_btn:hover{
    box-shadow: unset;
    transform: translateY(4px);
  }

a{
    text-decoration: none;
}
.header_btn a,
.header_btn a:visited {
    color: #fff;
} 




/* ヘッダーの電話ボタン */
.header_tel {
    width: 30%;
    float: right;
    margin: 0.8em 0em 0em;
}


/* ヘッダー内の画像が常に幅100%になるように */
.header_logo img,
.header_mail img,
.header_tel img {
    width: 100%;
}

/* -----------------------------
フェードアップアニメーション
-----------------------------*/

.fadeup.is-animated {
    animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeup {
    0% {
        transform: translateY(30px);
        opacity: 0;
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 初期状態 */
.fadeup {
    opacity: 0; /* 初期状態で非表示 */
    transform: translateY(30px); /* 少し下にずらす */
}



/* -----------------------------
sectionの設定
-----------------------------*/
.section_01 {
    background-color: #F6F6F6;
    padding: 2em 1em;
}


.section_02 {
    padding: 2em 1em 0em 1em;
}

.section_05,.section_06{
    padding: 2em 1em;
}


/* 悩み部分 */
.section_inr {
    /* display: flex; */
    flex-wrap: wrap;
    justify-content: center; /* 中央寄せ */
    gap: 20px;
    align-items: flex-start;
}

.nayami_header {
    flex: 0 1 calc(50% - 20px); /* 2列のレイアウト */
    background-color: #fff;
    border: 2px solid #ddd; /* 線を少し太く */
    border-radius: 10px; /* 角丸 */
    padding: 20px 30px 30px 20px;
    text-align: center;
    font-size: 1em;
    position: relative; /* 重ね合わせに必要 */
}



.nayami_illustration {
    position: absolute; /* 絶対配置で中央に重ねる */
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    z-index: 10; /* 前面に表示 */
}

.nayami_illustration img {
    max-width: 135px; /* イラストのサイズを適切に設定 */
    height: auto;
    margin: 0 auto;
}

.nayami_wrap {
    display: flex;
    flex-wrap: wrap; /* 内部要素を折り返し可能に設定 */
    justify-content: center; /* 中央揃え */
    gap: 33px;
    position: relative; /* 子要素の位置調整を有効化 */
}

/* ▲悩み部分ここまで */


.yaji{
    margin: 0;
    padding: 0;
    position: relative;
    top:-7px;
}

.yaji img{
    margin: 0;
    padding: 0;
}

.plan {
    background-color: #F6F6F6;
    padding: 1em 1.5em;
    text-align: center;
}


/* .plan .box_futai {
    display: inline-block;
    position: relative;
    padding: 10px;
    margin: 4px;
    border: 3px solid #ccc;
    background: #fff;
    z-index: 1;
} */

div .box_futai{
    position: relative;
    z-index: 1;
    text-align: center;
    color: #fff;
    margin: 0 auto;
    padding: 10px;
    display: inline-block;
}

div .box_futai::before{
    transform: skewX(-15deg);
    content: ""; /*ボックスを作る*/
    position: absolute; /*ポジションで中央に配置*/
    top: 0; bottom: 0; left: 0; right: 0;
    z-index: -1; /* 親要素の後ろに来るように-1 */
    background-color:#125599;
    padding: 20px;
}

.package {
    background-color: #fff;
    border: 1px solid #4d9ecc;
    border-radius: 8px;
    padding: 20px;

}

.fa-regular,
.fa-solid{
    color: #fff;
    margin-right: 10px;
}




.section_03 {
    background-color: #fff;
    padding: 1.5em 1.5em;
}

.section_04 {
    background-color: #fff;
    padding: 1.5em 2em;
}

.section_05 {
    background-color: #fff;
}

/* -----------------------------
チェックリスト設定
-----------------------------*/
ul.checklist {
    border: 1px solid #ccc;
    list-style: none;
    padding: 1em;
}

ul.checklist li {
    background-image: url(../images/icon-check03-red.png);
    background-repeat: no-repeat;
    background-size: 3.5%;
    padding-left: 1.8em;
    margin-bottom: 0.8em;
}

ul.checklist li:last-child {
    margin-bottom: 0em;
}

/* -----------------------------
テーブル設定
-----------------------------*/

table {
    width: 100%;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    margin: 1em 0em;
}

th,
td {
    padding: 0.5em;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

th {
    background-color: #f0f0f0;
    font-weight: bold;
    text-align: center;
}

td {
    background-color: #fff;
    text-align: left;
}

.table_style_01 {
    text-align: left;
    vertical-align: middle;
}

/* -----------------------------
フォーム設定
-----------------------------*/
.mailform {
    background-color: #fff;
    margin-bottom: 1em;
    padding: 1em 0em 1.5em;
}

.input {
    padding: 0 2em;
}

.input_style {
    background-color: #fff8f0;
    width: 100%;
    height: 60px;
    margin-bottom: 0.5em;
    text-align: center;
    font-size: 1.4em;
}

input[type="image"] {
    width: 100%;
}

.caution {
    text-align: center;
    font-size: 0.5em;
    color: #f00;
}

/* -----------------------------
よくある質問設定
-----------------------------*/
.box_qa_q {
    background-color: #fff;
    padding: 1em 2em 1em 3em;
    border-bottom: 1px solid #ccc;
    font-size: 1em;
    font-weight: bold;
    color: #D10003;
}

.box_qa_a {
    background-color: #fff;
    padding: 1em 2em 1em 3.5em;
}

.box_qa_q p,
.box_qa_a p {
    text-indent: -1.8em;
}


/*-----------------------------------------------------------------------------------------------------
よくある質問部分のアコーディオン
-----------------------------------------------------------------------------------------------------*/
.box_qa {
    margin: 0.5em;
  }
  .accordion_header_01 {
    margin: 0px 0px 0em 0px;
    background: url(../images/+.png) no-repeat;
    background-color: #fff;
    background-size: 30px;
    background-position: 98% 50%;
    padding: 15px 15px 15px 25px;
    border: 2px solid #125599;
    font-size: 120%;
    height: auto;
    vertical-align: middle;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    display: block;
  }
  .selected01 {
    background: url(../images/_.png) no-repeat;
    background-color: #125599;
    background-position: 98% 50%;
    color: #fff;
  }
  .selected01 + * {
    background: #fff;
    background-position: 8px 50%;
  }
  .accordion_open_01 {
    margin: 0px 0px 15px 0px;
    padding: 1em 2em 0.5em;
    background: #fff;
    border-left: solid 4px #125599;
    border-right: solid 4px #125599;
    border-bottom: solid 4px #125599;
    -webkit-border-bottom-right-radius: 8px;
    -webkit-border-bottom-left-radius: 8px;
    -moz-border-radius-bottomright: 8px;
    -moz-border-radius-bottomleft: 8px;
  }
  .accordion_open_01:before {
    content: "";
  }
  .accordion_field_01 {
    display: block;
    line-height: 1.5;
    text-align: left;
    padding: 0 0 0 0px;
    margin: 0px 0 10px 0;
    color: #000;
    font-size: 100%;
    width: 100%;
  }
  .box_support {
    background-color: #f6f6f6;
    padding: 1em;
  }
  .accordion_field_01 a {
    text-decoration: underline;
    color: #125599;
  }


/* -----------------------------
CTAエリア
-----------------------------*/
.area_cta {
    background-color: #125599;
    padding: 1em 2em;
}

/* 親コンテナ */
.area_cta_inr {
    display: flex; /* Flexboxで横並び */
    justify-content: space-between; 子要素の間隔を均等に
    align-items: center; /* 縦方向の中央揃え */
    gap: 1%; /* 子要素間の余白（必要なら調整） */
    width: 100%; /* コンテナ全体の幅 */
    box-sizing: border-box;
    background-color: #fff;
}

/* ボタンスタイル */
.cta_btn {
 float: light;
    margin: 0.8em;
    width: 50%;
    line-height: 60px;
    text-align: center;
    font-size: 1.5em;
    background-color: #E15A28;
    box-shadow: 0px 3px 0px #ed6a3aba;
    transition: .3s;   
    padding: 15px;
    color: #fff; /* テキスト色 */
    /* box-sizing: border-box; */
}

/* 電話番号スタイル */
.cta_tel {
    float: right;
    width: 50%;
    margin: 0.8em;
    line-height: 60px;
    text-align: center;
    font-size: 2em;
    padding: 10px;
    color: #125599;
    /* box-sizing: border-box; */
}

.cta_btn a,
.cta_btn a:visited {
    color: #fff;
} 

.cta_tel a,
.cta_tel a:visited,
.cta_tel i {
    color: #125599;
} 


/* -----------------------------
フッター部分
-----------------------------*/

.footer {
    background-color: #125599;
    text-align: center;
    color: #fff;
    font-size: 1.4em;
    padding: 2em 0em;
}

.footer a {
    color: #fff;
}

/* -----------------------------
独自
-----------------------------*/
/* -----------------------------
ファーストビュー設定
-----------------------------*/

/* kv: ファーストビューのコンテナ */
.kv {
    margin-top: 80px;
    height: 80vh; /* 画面全体の高さに設定 */
    display: flex; /* フレックスボックスで中央揃え */
    justify-content: center; /* 水平方向に中央揃え */
    align-items: center; /* 垂直方向に中央揃え */
    position: relative; /* 子要素のスタッキングコンテキストを制御 */
    z-index: 1; /* 背景要素より前面に配置 */
}

/* catch-copy: キャッチコピー全体のスタイル */
.catch-copy {
    text-align: center; /* テキストを中央揃え */
    position: relative; /* 親要素内での位置指定可能に */
    z-index: 2; /* ビデオよりも前面に表示 */
    color: #fff; /* テキストの色を白に設定 */
}

/* メインコピー（大きなキャッチフレーズ） */
.main-copy {
    font-size: 6em; /* 大きな文字サイズ */
    font-family: "hiragino-kaku-gothic-pron", sans-serif; /* フォント設定 */
    font-weight: 600; /* 太字 */
    line-height: 1.2em; /* 行間を少し広めに設定 */
}

/* サブコピー（補足テキスト） */
.sub-copy {
    line-height: 1.5em; /* 行間を調整 */
    font-size: 3.5em; /* メインコピーより少し小さな文字サイズ */
    font-family: "hiragino-kaku-gothic-pron", sans-serif; /* フォント設定 */
    font-weight: 300; /* 太字 */
    font-style: normal; /* 通常のスタイル */
}

/* 円形の要素 */
.circle {
    position: relative; /* 内部テキストの位置調整のため */
    display: inline-block; /* サイズ指定を効かせる */
    width: 20em; /* 幅 */
    height: 20em; /* 高さ（幅と同じで円形に） */
    border-radius: 50%; /* 丸くする */
    border: solid 3px #fff; /* 白い枠線を追加 */
    font-family: "hiragino-kaku-gothic-pron", sans-serif; /* フォント設定 */
    font-weight: 600; /* 太字 */
    margin-top: 1.5em; /* 上部の余白 */
}

/* 円形の内部テキスト */
.circle span {
    font-size: 2em; /* 文字サイズ */
    display: inline-block; /* サイズ指定を効かせる */
    position: absolute; /* 中央揃えのために絶対位置指定 */
    left: 50%; /* 横方向の中央に移動 */
    top: 50%; /* 縦方向の中央に移動 */
    transform: translate(-50%, -50%); /* 真の中央に位置調整 */
    text-align: center; /* テキストを中央揃え */
}

/* 円形内部の強調テキスト */
.circle span b {
    font-size: 2.1em; /* 通常の文字より少し大きく */
}


/* video: 背景のビデオ要素 */
.video {
    width: 100%; /* 横幅を全体に広げる */
    height: 100vh; /* 画面全体の高さ */
    position: absolute; /* 親要素に対して絶対位置 */
    top: 0; /* 上端に揃える */
    left: 0; /* 左端に揃える */
    overflow: hidden; /* 画面外の部分を隠す */
    z-index: 0; /* 最背面に配置 */
}

/* ビデオに暗いオーバーレイを追加 */
.video::after {
    content: ''; /* 空の内容を設定 */
    width: 100%; /* 横幅を全体に広げる */
    height: 100%; /* 高さを全体に広げる */
    display: block; /* ブロック要素として扱う */
    position: absolute; /* 親要素に対して絶対位置 */
    left: 0; /* 左端に揃える */
    top: 0; /* 上端に揃える */
    background: rgba(0, 0, 0, 0.78); /* 半透明の黒を背景に設定 */
    z-index: 1; /*ビデオとテキストの間に配置 */
}

/* ビデオのスタイル */
.video video {
    min-width: 100%; /* ビデオの最小幅を画面幅に */
    min-height: 100%; /* ビデオの最小高さを画面高さに */
    width: auto; /* 幅を自動調整 */
    height: auto; /* 高さを自動調整 */
    position: absolute; /* 親要素に対して絶対位置 */
    top: 50%; /* ビデオを中央に寄せる */
    left: 50%; /* ビデオを中央に寄せる */
    transform: translate(-50%, -50%); /* 中央位置を正確に調整 */
    z-index: 0; /* 必要に応じて調整 */
}




/*-----------------------------------------------------------------------------------------------------
セクション おまかせください
-----------------------------------------------------------------------------------------------------*/

.omakase_pc{
    display: block;
    align-items: center;
    text-align: center;
    
}

@media only screen and (max-width : 768px) {
.omakase_pc {
	display: none;
}
}

.omakase_sp{
    display: none
}

@media only screen and (max-width : 768px) {
.omakase_sp{
	display: block;
}
}


/*-----------------------------------------------------------------------------------------------------
セクション 選ばれる理由
-----------------------------------------------------------------------------------------------------*/

.e-point {
    display: inline-block; /* Flexbox を使用 */
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え */
    top:-2em;
    width: 4.9em;
    height: 4.9em;
    border-radius: 50%; /* 円形を維持 */
    border: dotted 3px #4d9ecc;
    text-align: center; /* テキストの中央揃え */
    background-color: #f9f9f9; /* 背景色を追加して確認 */
    line-height: 1.7em;
    flex-direction: column; /* 縦並びにする */
}

.e-small {
    font-size: 0.8em; /* 小さいフォントサイズ */
    padding-top: 0.5em;
    display: block;
}

.e-big2 {
    font-size: 1.5em; /* 大きいフォントサイズ */
    display: block;
}

.section_03 h4{
    position: relative;
    top:8px;
}

/* .e-point span{
    position: absolute;

    display: inline-block;
    left: 0;
    top:20px;
    -webkit-transform: translateY(-40%);
    transform: translateY(-40%);
    width: 5em;
    height: 5em;
    line-height: 1.6em
    text-align: center;
} */

.underline_dotted{
    border-bottom: 3px dotted #4d9ecc;
    color: #4d9ecc;
    
}


/*-----------------------------------------------------------------------------------------------------
セクション お客さまの声
-----------------------------------------------------------------------------------------------------*/

.contents {
    margin: 0 auto;
}

.slick-slide {
    box-sizing: border-box;
}

.section_05 {
    overflow-x: hidden;
}

.section_05 .slider {
    width: 100%;
    box-sizing: border-box;
}

.section_05 .box_koe {
    position: relative;
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background: #fff;
    z-index: 1;
    pointer-events: auto;
    cursor: pointer;
    transition: transform 0.15s ease;
    margin: 0px 0px 0px 0px;
}

.title_koe{
    text-align: center;
}

/* .section_05 .box_koe:hover {
    transform: scale(1.02);
} */

.koe_img {
    display: flex;
    justify-content: center;
    align-items: center;
}

.koe_img img {
    display: inline-block;
    /* max-width: 100%; */
    width: 15%;
    height: auto;
    border-radius: 50%;
}

.slider {
    position: relative;
    display: flex;
    /* overflow: hidden; 横スクロールを隠す */
    scroll-snap-type: x mandatory; /* スナップスクロールの設定 */
    gap: 20px; /* ボックス間の間隔 */
}

.box_koe {
    flex: 0 0 80%; /* 1枚ずつスライド表示 (80%幅) */
    scroll-snap-align: center; /* スナップ位置を中央に設定 */
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}




/* 
.section_koe {

}
.section_koe_in {
	background-color: transparent;
}
.box_koe {
	background-color: #fff;
	border: 3px solid #ccc;
	width: 310px;
    height: 500px;
	float: left;
	margin: 1em 0.2em;
	padding: 1em 1em 1em;
	font-size: 1.3em;
	overflow: hidden;
	font-size: 90%;
    line-height:1em;
}

.box_koe p {
    font-size: 100%;
}
.koe_img {
	text-align: center;
    margin-top: 10px;
}
.box_koe img {
	width: 50%;
	border-radius: 100%;
	margin-bottom: 1em;
}
.title_koe {
	border-bottom: 1px dotted #ccc;
	padding: 0.5em 0.5em;
	margin-bottom: 0.8em;
	font-size: 100%;
    text-align: center;
} */

/*-----------------------------------------------------------------------------------------------------
ディレクター紹介
-----------------------------------------------------------------------------------------------------*/

.section_04 {
    background-image: url(../images/profile_bg_rwd.png);
    background-repeat: no-repeat;        /* 背景を繰り返さない */
    background-size: cover;             /* 背景画像をカバーする */
    background-position: 100% center;  /* 横:右寄せ、縦:中央揃え */
}
.section_contact_in {
	background-color: transparent;
}
.box_d {
	background-color: rgba(255,255,255,0.8);
	border: 2px solid #ccc;
	float: none;
	color: #333;
	padding: 0.5em 0.5em;
}

.d_text{
    font-size: 0.9em;
}


/*-----------------------------------------------------------------------------------------------------
YouTubeスライダー
-----------------------------------------------------------------------------------------------------*/
/* --------------------------------------------------------------
    Portfolioセクションの基本スタイル
-------------------------------------------------------------- */
#portfolio {
    padding: 0em 2em; /* 上下に余白を追加、左右は小さめに設定 */
    background-color: #fff; /* 背景色 */
    text-align: center; /* コンテンツ中央揃え */
    position: relative; /* スライダー内での絶対位置指定用 */
    overflow: hidden; /* スライダーがはみ出さないように */
}

/* --------------------------------------------------------------
    スライダーのレイアウト
-------------------------------------------------------------- */
.portfolio__slider {
    position: relative; /* スライダー内で矢印ボタンを絶対位置で配置 */
    display: flex; /* 横並び */
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: center; /* 水平方向の中央揃え */
    max-width: 45em; /* 最大幅 */
    margin: 0 auto; /* 水平方向の中央揃え */
    overflow: hidden; /* 動画がはみ出さないように */
    padding: 0; /* 上下の余白を削除 */
}

/* --------------------------------------------------------------
    動画のリスト（横並び）
-------------------------------------------------------------- */
.portfolio__videos {
    display: flex; /* 動画を横並びに */
    transition: transform 0.5s ease-in-out; /* スライドアニメーション */
    width: calc(100% * 4); /* 4つの動画が並ぶように、100%*4 */
}

/* --------------------------------------------------------------
    各動画の表示設定
-------------------------------------------------------------- */
.videos__video {
    flex-shrink: 0; /* 幅を固定して縮まないように */
    width: 100%; /* 親要素（スライダー）と同じ幅 */
    height: 43em; /* 初期設定の高さ（大きな画面向け） */
    display: flex; /* アイテムを中央揃え */
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
}

/* 動画を縦並びに設定 */
.videos__video {
    display: flex; /* Flexboxで縦並びに設定 */
    flex-direction: column; /* 要素を縦方向に並べる */
    align-items: center; /* 水平方向の中央揃え */
    justify-content: center; /* 垂直方向の中央揃え */
    margin-bottom: 1em; /* 動画とキャプションの間に余白を追加 */
}

/* YouTube埋め込み動画の設定 */
.videos__video iframe {
    width: 100%; /* 親要素の幅に合わせる */
    height: 70vh; /* 縦幅を70vhに設定（スマホ向け） */
    border: none; /* フレームの枠を消す */
    border-radius: 8px; /* 丸みをつける */
}

.video-caption{
    font-size: 1em;
}


/* --------------------------------------------------------------
    矢印ボタンのスタイル
-------------------------------------------------------------- */
.slider__arrow {
    position: absolute; /* スライダー内で絶対位置指定 */
    top: 50%; /* 垂直方向の中央揃え */
    transform: translateY(-45%); /* 完全に中央揃え */
    background-color: rgba(0, 0, 0, 0.5); /* 半透明の背景 */
    color: #fff; /* 矢印の色 */
    border: none; /* 枠線を消す */
    border-radius: 50%; /* 丸い形にする */
    width: 2.5em; /* ボタンの幅（少し小さく） */
    height: 2.5em; /* ボタンの高さ（少し小さく） */
    font-size: 1.9em; /* 矢印のサイズ（少し小さく） */
    display: flex; /* アイテムを中央揃え */
    align-items: center; /* 矢印を縦横中央揃え */
    justify-content: center; /* 矢印を縦横中央揃え */
    cursor: pointer; /* マウスポインターを手の形に */
    z-index: 10; /* 他のコンテンツより上に表示 */
}

/* 左矢印ボタン（左側に配置） */
.slider__arrow--left {
    left: 0; /* 左端に配置 */
}

/* 右矢印ボタン（右側に配置） */
.slider__arrow--right {
    right: 0; /* 右端に配置 */
}

/* 矢印ボタンのホバー時の色変更 */
.slider__arrow:hover {
    background-color: rgba(0, 0, 0, 0.8); /* ホバー時に背景色を濃くする */
}


