﻿@charset "utf-8";
/* 1536 , 1530 × 735 ,1366 *//* ←記画面幅でも崩れていないか確認 */

/* カテゴリリンクの飛び先位置の数値を適宜調整してください */

/* 修正した場合→各項目の一番下に日付をコメントアウトして追記 */


/*■■　ALL　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho&display=swap');

body {
    font-family: "Noto Sans JP","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
}
.font_si, #top_cms .cms_title .title_box h2, .cate_title , .box_title1, h2, h3, h4, h5 {
    font-family: "Shippori Mincho", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    font-weight: 700;
    color: var(--color1);
}

.all_header #logo, .clone-nav #logo {
    width: 16% !important;
}
#logo img{
    width: 100%!important;
}

/* bg_type*/
.bg_type1, #intro{
    background-color: var(--color4);
    background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.015) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.015) 75%), linear-gradient(45deg, rgba(0, 0, 0, 0.015) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.015) 75%);
    background-size: 11px 11px;
    background-position: 0 0, 3px 3px;
}
body {
   --color-A: #f8f8f4;
   --color-B: #f4f4f0;
    }
.bg_type2, #top_cms .cms_title .title_box{
   background-image:
     radial-gradient(circle at 100% 150%, var(--color-B) 24%, var(--color-A) 24%, var(--color-A) 28%, var(--color-B) 28%, var(--color-B) 36%, var(--color-A) 36%, var(--color-A) 40%, transparent 40%, transparent),
     radial-gradient(circle at 0    150%, var(--color-B) 24%, var(--color-A) 24%, var(--color-A) 28%, var(--color-B) 28%, var(--color-B) 36%, var(--color-A) 36%, var(--color-A) 40%, transparent 40%, transparent),
     radial-gradient(circle at 50%  100%, var(--color-A) 10%, var(--color-B) 10%, var(--color-B) 23%, var(--color-A) 23%, var(--color-A) 30%, var(--color-B) 30%, var(--color-B) 43%, var(--color-A) 43%, var(--color-A) 50%, var(--color-B) 50%, var(--color-B) 63%, var(--color-A) 63%, var(--color-A) 71%, transparent 71%, transparent),
     radial-gradient(circle at 100% 50%, var(--color-A) 5%, var(--color-B) 5%, var(--color-B) 15%, var(--color-A) 15%, var(--color-A) 20%, var(--color-B) 20%, var(--color-B) 29%, var(--color-A) 29%, var(--color-A) 34%, var(--color-B) 34%, var(--color-B) 44%, var(--color-A) 44%, var(--color-A) 49%, transparent 49%, transparent),
     radial-gradient(circle at 0    50%,var(--color-A) 5%, var(--color-B) 5%, var(--color-B) 15%, var(--color-A) 15%, var(--color-A) 20%, var(--color-B) 20%, var(--color-B) 29%, var(--color-A) 29%, var(--color-A) 34%, var(--color-B) 34%, var(--color-B) 44%, var(--color-A) 44%, var(--color-A) 49%, transparent 49%, transparent);
   background-size: 99px 46px;
  }

.drawer-hamburger-icon::after, .drawer-hamburger-icon::before {
    background-color: var(--color1)!important;
}

#wrap {
    position: relative;
    overflow: hidden;
}
#wrap::before {
    content: '';
    display: inline-block;
    width: 21vw;
    height: 16vw;
    background-image: url(../img/item2.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 3%;
    bottom: 0;
    z-index: -1;
}
.drawer-nav {
    background-color: rgb(255 255 255 / 96%);
}


/* ---------------------------　タブレット　-------------------------- */
@media screen and (max-width: 768px){
.all_header #logo, .clone-nav #logo{
    width: 24.66667% !important;
}
#wrap::before {
    width: 34vw;
    height: 24vw;
    left: -5%;
    bottom: 0;
}
.bg_type2, #top_cms .cms_title .title_box{
    background-size: 143px 59px;
    background-color: rgb(243 243 239);
}
}

/* --------------------------　スマホ　-------------------------- */
@media screen and (max-width: 667px){
.all_header #logo, .clone-nav #logo {
    width:32.66667% !important;
}
html,body{
    font-size: 15px;
}
#wrap::before {
    width: 65vw;
    height: 44vw;
    left: -10%;
    bottom: 0;
}
#copyright{
    padding-top: 13%;
}
}



/*■■　FV　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#main_img {
    max-height: 100%;
    width: 85% !important;
    margin: auto;
    overflow: visible;
}
.swiper-container{
    width: 57%;
    margin-right: 0!important;
}

.fv_txt_wrap {
    width: 40%;
    z-index: 2;
    left: -3%;
}
.fv_txt1 {
    opacity: 1;
    width: 100%;
}
.fv_txt2,
.fv_txt3 {
  opacity: 0;
  width: 100%;
}
.start .fv_txt2 {
   animation: fvFadeInUp 1.0s cubic-bezier(0.25, 1, 0.5, 1) 0.5s forwards; 
}
.start .fv_txt3 {
  animation: fvFadeInUp 1.0s cubic-bezier(0.25, 1, 0.5, 1) 0.8s forwards;
}
@keyframes fvFadeInUp {
  0% {
    opacity: 0;
    transform: translate(-50%, calc(-50% + 30px));
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}
@keyframes fvFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.fv_item1{
    width: min(23%, 284px);
    right: -10%;
    bottom: -10%;
    z-index: 2;
}



/* ---------------------------　タブレット　-------------------------- */
@media screen and (max-width: 768px){
#main_img{
    padding-bottom: 20px;
}
.fv_txt_wrap {
    width: 65%;
    z-index: 2;
    left: 0;
    position: relative;
    height: 320px;
}
.swiper-container {
    width: 77%;
    margin: auto !important;
}
.fv_item1 {
    width: 34%;
    right: -4%;
    bottom: -4%;
    z-index: 2;
}
}

/* --------------------------　スマホ　-------------------------- */
@media screen and (max-width: 667px){
#main_img {
    padding-bottom: 28px;
}
.fv_txt_wrap{
    width: 82%;
    height: 62vw;
}
.swiper-container {
    width: 80%;
}
.fv_item1 {
    width: 41%;
    right: -5%;
    bottom: -4%;
    z-index: 2;
}
}



/*■■　TOP　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#intro {
    height: calc(280px + 202px);
    max-height: calc(280px + 202px);
    text-align: center;
    background-color: var(--color4);
    margin: 0;
    padding: 100px 0;
    box-sizing: border-box;
    max-width: 100%;
    margin-top: 4%;
}
#intro #intro_txt h2 {
    font-size: 30px;
}
#contents h2{
    color: #fff;
    font-weight: 500;
    font-size: 30px;
}

#contents .back_color2{
    background-image: url(../img/contents_bg.jpg)!important;
}
#contents .back_color2 .contents_box.started.ended{
    background-color: rgb(255 255 255 / 84%);
}

#top_cms .cms_title .title_box h2{
    max-height: 289px;
    height: 206px;
}
#top_cms .cms_title .title_box{
    padding: 0;
}

.cms_2-g{
    margin-bottom: 50px;
}
.cms_2-g .box_wrap {
    box-shadow: rgb(0 0 0 / 0%) 0px 5px 15px 0px;
}
.cms_2-g .swiper-pagination, .cms_2-g .swiper-button-next, .cms_2-g .swiper-button-prev{
    display: none;
}
.cms_2-g .box_wrap {
    margin-bottom: 0;
}


/* ---------------------------　タブレット　-------------------------- */
@media screen and (max-width: 768px){
#contents .box h3{
    font-size: 22px;
    width: 100% !important;
}
}

/* --------------------------　スマホ　-------------------------- */
@media screen and (max-width: 667px){
#top_cms .cms_title {
    margin-bottom: 50px;
}
}



/*■■　下層ページ　■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#page8 .line_bnr  {
    width: min(90%,610px);
    margin-bottom: 50px;
    margin-top: -10%;
}
#page_title h2{
    max-height: 167px;
    text-shadow: 0 2px 4px rgb(0 0 0 / 0%);
}
.cate_list li a{
    background-color: var(--color4);
}
.cms_2-g .swiper-slide{
    opacity: 1!important;
}
.cms_2-g .swiper-slide{
    pointer-events: visible!important;
}


/*カテゴリリンクの飛び先位置を調整する*/
/* --- PC・タブレット時 --- */
:root {
--header-height: 120px;
}
/* --- スマートフォン --- */
@media screen and (max-width: 667px){
:root {
--header-height: 80px;
}
}





/* ---------------------------　タブレット　-------------------------- */
@media screen and (max-width: 768px){


}

/* --------------------------　スマホ　-------------------------- */
@media screen and (max-width: 667px){
.tel_wrap {
    width: 100% !important;
    padding: 0;
}
#intro {
    height: 100%;
    max-height: 100%;
    padding: 15px 0;
    margin-top: 6%;
}
#intro #intro_txt h2, #contents h2 {
    font-size: 20px;
}
#contents .box h3{
    font-size: 17px;
}
#page_title {
    height: 222px;
}
#page8 .line_bnr {
    margin-top: -3%;
}
}


