html {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-family: tot-shizukasmudgemin-stdn, serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    color: #333;
    line-height: 2;
}

img {
    max-width: 100%;
    /* display: block; */
}

.text-link {
    text-decoration: underline;
    color: #2F4664;
}

.second-paragraph {
    padding-top: 1em;
}

/* ヘッダー */
header {
    background-color: rgb(255, 255, 255);
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);

}

.inner-width {
    width: 1280px;
    max-width: 100%;
    margin: 0 auto;
    padding: 8px 24px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 8px 24px;
    height: 96px;
}

.header-flex-inner {
    flex: none;
    order: 0;
    flex-grow: 0;
}

/* ヘッダーここまで */

/* ハンバーガーメニュー */
/* チェックボックスを非表示にする */
.drawer_hidden {
    display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer_open {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    right: 20px;
    z-index: 100; /* 重なり順を一番上にする */
    cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer_open span,
.drawer_open span:before,
.drawer_open span:after {
    content: '';
    display: block;
    height: 3px;
    width: 40px;
    border-radius: 3px;
    background: #333;
    transition: 0.5s;
    position: absolute;
}

/* 三本線の一番上の棒の位置調整 */
.drawer_open span:before {
    bottom: 16px;
}

/* 三本線の一番下の棒の位置調整 */
.drawer_open span:after {
    top: 16px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer_input:checked ~ .drawer_open span {
    background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer_input:checked ~ .drawer_open span::before {
    bottom: 0;
    transform: rotate(45deg);
}

#drawer_input:checked ~ .drawer_open span::after {
    top: 0;
    transform: rotate(-45deg);
}

/* メニューのデザイン*/
.nav_content {
    width: 100%;
    /* max-width: 300px; */
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%; /* メニューを画面の外に飛ばす */
    z-index: 99;
    background: rgba(215, 232, 255, 0.8);
    transition: .8s;
    text-align: center;
    padding-top: 96px;
}

/* メニュー黒ポチを消す */
.nav_list {
    list-style: none;
}

.nav_item a {
    color: #2f4664;
    text-decoration: none;
    margin: 20px 10%;
    display: block;
    font-size: 20px;
    border-bottom: solid 1px #2f4664;
    padding: 16px;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer_input:checked  ~ .nav_content {
    left: 0;/* メニューを画面に入れる */
}

/* ハンバーガーメニューここまで */

/* フッター */

footer {
    background-color: #97A7D0;
    /* height: 160px; */
    padding: 24px;
    text-align: left;
    position: relative;
    margin-top: 160px;
}

.footer-inner {
    width: 1280px;
    max-width: 100%;
    margin: 0 auto;
    /* background-color: #2F4664; */
}

footer::before {
    content: url(/image/cloud-footer.png);
    position: absolute;
    top: -150px;
    left: 0;
}

.footer-menu-item {
    display: inline-block;
    color: #2F4664;
    padding: 0 16px;
    margin-bottom: 16px;
    border-left: solid 1px #2F4664;
}

.footer-menu-item:first-child {
    border: none;
    padding-left: 0;
}

footer .copyright {
    font-size: 14px;
    /* margin-top: 8px; */
    line-height: 100%;
}

/* フッターここまで */

/* トップページ */

main {
    /* background-color: white; */
    text-align: center;
    margin: 0 auto;
}

.top-kv {
    margin-left: 0;
    margin-bottom: 200px;
    text-align: center;
    position: relative;
    /* max-width: 1280px; */
}

.top-kv img {
    object-fit: cover;
    object-position: 40% 40%;
    width: 100%;
    max-width: 1280px;
    height: 584px;
}



/* KVアニメーション */
.container {
    width: 100%;
    max-width: 1280px;
    height: 584px;
    position: relative;
    margin: 0 auto;
}

.top-image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    background-size: cover;
    background-position: center center;
    animation: image-switch-animation 30s infinite;
}

.src1 {
    background-image: url(/image/kv-05.jpg);
    /* background-position: 40% 40%; */
}

.src2 {
    background-image: url(/image/kv-01.jpg);
}

.src3 {
    background-image: url(/image/kv-02.jpg);
    background-position:10% 40%;
}

.src4 {
    background-image: url(/image/kv-03.jpg);
}

.src5 {
    background-image: url(/image/kv-06.jpg);
    background-position:30% 40%;
}

.src6 {
    background-image: url(/image/kv-08.jpg);
    background-position:50% 40%;
}
/* .src6 {
    background-image: url(/image/kv-09.jpg);
    background-position:20% 80%;
} */

.top-image:nth-of-type(1) {
    animation-delay: 0s;
}
.top-image:nth-of-type(2) {
    animation-delay: 5s;
}
.top-image:nth-of-type(3) {
    animation-delay: 10s;
}
.top-image:nth-of-type(4) {
    animation-delay: 15s;
}
.top-image:nth-of-type(5) {
    animation-delay: 20s;
}
.top-image:nth-of-type(6) {
    animation-delay: 25s;
}

@keyframes image-switch-animation {
    0%{ opacity: 0;}
    4%{ opacity: 1;}
    20.6%{ opacity: 1;}
    24.6%{ opacity: 0;}
    100%{ opacity: 0;}
}
/* KVアニメーション 　ここまで*/

h1.top-tagline {
    display: flex;
    flex-direction: column;
    gap: 16px;
    font-size: 32px;
    line-height: 100%;
    position: absolute;
    bottom: 32px;
    right: 0;
    width: 60%;
    /* z-index: 1; */
    z-index: 2;
}

.top-kv::before {
    content: url(/image/cloud01.png);
    position: absolute;
    bottom: -180px;
    left: 0;
    /* z-index: 1; */
}

span.top-tagline {
    display: block;
    background-color: #FFF;
    padding: 16px;
    /* width: 50%; */
    text-align: left;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.content {
    width: 1280px;
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
}

#concept, #product {
    /* background-color: aliceblue; */
    width: 100%;
    text-align: left;
    margin: 32px auto 0;
    /* writing-mode: vertical-rl; */
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
}

.content-flex-inner {
    flex: none;
    /* flex: 1 1 390px; */
    order: 0;
    flex-grow: 0;
    max-width: 100%;
}

.top-h2 {
    display: inline-block;
    writing-mode: vertical-rl;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 24px;
    color: #fff;
    background-color: #2F4664;
    padding: 24px;
    flex: 0 0 72px;
}

.concept-description {
    /* padding: 32px 0; */
    margin: 32px 0;
    font-size: 18px;
    line-height: 210%;
    letter-spacing: 0.8em;
    writing-mode: vertical-rl;
    text-align: left;
    /* display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    width: 100%; */
    flex: 1 1 248px;
}

/* .concept-description::after {
    content: url(/image/cloud03.png);
    position: absolute;
    top: 105%;
    left: 60%;
    z-index: -1;
} */

.concept-description p {
    margin-left: 20px;
}

.concept-description p:first-child {
    margin-right: 24px;
}

.concept-description p:last-child {
    margin-left: 0;
    position: relative;
}

.concept-description p:last-child::after {
    content: url(/image/cloud03.png);
    position: absolute;
    top: 90%;
    right: 0;
    z-index: -1;
}

.concept-img {
    /* width: 390px; */
    height: auto;
    max-width: 100%;
    flex: 1 1 248px;
}


.text-holizon {
    writing-mode: horizontal-tb;
}

#product {
    position: relative;
    margin-top: 202px;
}

#product::before {
    content: url(/image/cloud03.png);
    position: absolute;
    bottom: 100%;
    left: 10%;
    z-index: -1;
} */

.product-first {
    /* background-color: aqua; */
    vertical-align: top;
    /* margin-top: 32px; */
    text-align: right;
    display: flex;
    justify-content: space-between ;
    align-items: start;
    flex-wrap: wrap;
}

.product-img {
    /* width: 284px; */
    height: auto;
    max-width: 100%;
    padding: 32px 24px 0 0;
    /* margin-top: 40px;  */
    display: inline-block;
    vertical-align: top;
    flex: 1 1 248px;
}

.product-text {
    margin: 32px 24px;
    flex: 1 1 284px;
}

.product-text p {
    margin-bottom: 16px;
}

.sub-title {
    font-size: 20px;
    font-family: tot-shizukasmudgemin-stdn, serif;
    display: block;
    letter-spacing: 0.2em;
}

#product h3.product-title {
    font-size: 32px;
    color: #2F4664;
    font-family: tot-shizukago-stdn, sans-serif;;
    border-bottom: solid 4px #2F4664;
    max-width: 100%;
    letter-spacing: 0.6em;
    margin-bottom: 16px;
}

/* ここからコンテンツページ用 */
.main-content {
    margin: 40px auto;
    padding: 0 24px;
    width: 720px;
    max-width: 100%;
}

.main-content h1 {
    font-size: 32px;
    font-family: tot-shizukago-stdn, sans-serif;
    font-weight: 700;
    color: #2F4664;
    display: block;
    letter-spacing: 0.2em;
    line-height: 150%;
    background-image: url(/image/title-back.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: contain;
    display: block;
    width: 390px;
    max-width: 100%;
    min-height: 75px;
    padding-left: 92px;
    padding-bottom: 16px;
    text-align: center;
    margin: 0 auto;
}

.main-content h1 .title-small {
    display: block;
    font-size: 0.7em;
    line-height: 150%;
    letter-spacing: 0;
}

.main-content h2 {
    font-size: 24px;
    font-family: tot-shizukago-stdn, sans-serif;
    font-weight: 700;
    color: #2F4664;
    display: block;
    letter-spacing: 0.2em;
    line-height: 150%;
    text-align: left;
    padding: 0 0 8px;
    margin-top: 32px;
    margin-bottom: 16px;
    border-bottom: solid 4px #2F4664;
}

.main-content p {
    text-align: left;
}

.howto-list {
    text-align: left;
    margin: 32px auto;
    padding-bottom: 32px;
}

.howto-list li {
    font-size: 24px;
    padding-bottom: 8px;
}

.howto-list li::after{
    content: url(/image/arrow.png);
    margin-left: 16px;
}

/*  文字背景　藍色
.list-num {
    display: inline-block;
    background-color: #2F4664;
    width: 36px;
    font-size: 18px;
    font-family: tot-shizukago-stdn, sans-serif;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    vertical-align: middle;
    line-height: 200%;
    margin-right: 16px;
} */

.list-num {
    display: inline-block;
    background-color: #FFF;
    border: solid 2px #2F4664;
    width: 36px;
    font-size: 18px;
    font-family: tot-shizukago-stdn, sans-serif;
    font-weight: 700;
    color:  #2F4664;
    text-align: center;
    /* vertical-align: middle; */
    line-height: 200%;
    margin-right: 16px;
}

/* 動画ページ */
.video  {
    margin: 32px auto;
    /* width: 720px; */
    max-width: 100%;
    /* height: auto; */
}

/* 動画のアスペクト比固定 */
iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"] {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}

/* 包むものリスト */
.contain-list {
    text-align: left;
    list-style-type: square;
    padding-left: 24px;
}

.contain-list li {
    padding-left: 8px;
}

.contain-list li::marker {
    transform: rotate(45deg);
    color: #2F4664;
}

/* 属性 */
.category {
    text-align: left;
    /* padding-left: 40px;
    list-style-image: url(/image/category03.png); */
}

.category li {
    /* padding-left: 16px; */
    font-size: 24px;
}

.cat-basic::before {
    content: url(/image/category01.png);
    padding-right: 16px;
    vertical-align: sub;
}

.cat-bag::before {
    content: url(/image/category02.png);
    padding-right: 16px;
    vertical-align: sub;
}

.cat-gift::before {
    content: url(/image/category03.png);
    padding-right: 16px;
    vertical-align: sub;
}

.cat-bottle::before {
    content: url(/image/category04.png);
    padding-right: 16px;
    vertical-align: sub;
}

/* 構図 */
.pattern {
    text-align: left;
    padding-bottom: 32px;
}

.pattern li {
    display: inline-block;
    padding-right: 8px;
}

/* バナー部分 */
.banner-area {
    margin: 48px auto;
}

.banner-area img {
    /* padding-bottom: 16px; */
    margin-bottom: 16px;
}

/* フッター部分 */
.back-to-list {
    font-size: 16px;
    margin-top: 32px;
    padding-bottom: 32px;
    display: block;
    text-align: left;
}

.back-to-list::before {
    content: url(/image/arrow_left.png);
    margin-right: 16px;
    vertical-align: middle;
}

/* 構図について */
.pattern-explanation {
    margin: 36px auto;
}

.pattern-explanation li {
    margin-bottom: 16px;
    min-height: 80px;
    text-align: left;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-content: left;
}

.pattern-explanation li img {
    /* display: inline-block; */
    margin-right: 16px;
}

/* .pattern-text {
    display: inline-block;
} */

.pattern-name {
    font-family: tot-shizukago-stdn, sans-serif;
    font-size: 18px;
    color: #2F4664;
}

.pattern-description {
    line-height: 120%;
}


/* pc */
@media (min-width: 769px){
    /* メニュー　*/
    .nav_content {
        width: 50%;
    }

    /* アイコンがクリックされたらメニューを表示 */
    #drawer_input:checked  ~ .nav_content {
        left: 50%;/* メニューを画面に入れる */
    }
    /* メニュー　ここまで　*/

    /* トップページ用 */
    h1.top-tagline {
        width: 40%;
    }

    .top-kv::after {
        content: url(/image/cloud02.png);
        position: absolute;
        top: 36%;
        right: 0px;
    }

    .concept-img, .product-img {
        width: 50%;
        height: auto;
    }
    #concept, #product {
        flex-wrap: nowrap;
    }
    /* トップページ用　ここまで */

    /* コンテンツページ用 */
} 

