@charset "utf-8";
body, html {
    position: relative;
    font-family: 'Noto Serif JP', sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    line-height: 1.8;
    color: #000;
    margin: 0;
    padding: 0;
    width: 100%;
    background-color: #083558;
    overflow: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased !important;

  animation: fadeIn 1.5s ease 0s 1 normal;
  -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
}
/*--- 画面全体をフェードイン(animation設定) ---*/
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@keyframes fadeOut {
    0% {opacity: 1}
    100% {opacity: 0}
}
@-webkit-keyframes fadeOut {
    0% {opacity: 1}
    100% {opacity: 0}
}

h2, h3, h4, h5, h6 {
    position: relative;
    font-family: ta-fuga-fude, 'Noto Serif JP', sans-serif;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.02em;
    position: relative;
    margin: 0 auto 2.5rem;
}
h1 {
    font-size: 2.2em;
    letter-spacing: 0.1em;
}
h2 {
    font-size: 3em;
    letter-spacing: 0.1em;
    margin-left: 0;
    padding: 0;
}
h3 {
    font-size: 2em;
    letter-spacing: 0.1em;
    margin-left: 0;
    padding: 0;
}
h4 {
    font-size: 1.6em;
    letter-spacing: 0.1em;
    margin-left: 0;
    padding: 0;
}

p {
    font-weight: normal;
    margin: 0 auto 1em;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
a:hover, a:focus {
    text-decoration: none;
    outline: none;
}
a img {
  opacity: 1;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
a img:hover {
    /*opacity: 0.7;*/
}

.row { margin-left: -2em; margin-right: -2em; }
.row .col-sm-6 { padding-left: 2em; padding-right: 2em; }


/*--- flex 横 ---*/
.flex-box {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.flex1 > div { width: 100%; }
.flex2 > div { width: 50%; }
.flex3 > div { width: calc(100% / 3); }
.flex4 > div { width: 25%; }
.flex5 > div { width: 20%; }

/*--- flex 縦 ---*/
.flex-column {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%;
}

/*--- grid ---*/
.grid-box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 2em;
}
.grid2 { grid-template-columns: 1fr 1fr; }
.grid3 { grid-template-columns: 1fr 1fr 1fr; }

/*--- TEXT OPTION ---*/
.en-txt {
    font-family: 'Bodoni72', 'Noto Sans JP', sans-serif;
    font-size: 1.2em;
}
.tb-num-txt {
    line-height: 1;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
}
.txtblock { display: block; }
.txtinblock { display: inline-block; }
.color-wh { color: #fff; }
.color-bk { color: #000; }
.color-bl { color: #C51C14; }

.box-wh {
    padding: 2.5em 2em;
    background-color: #fff;
}
.arrow01 {
    margin: 2.5em auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 30px 0 30px;
    border-color: #C51C14 transparent transparent transparent;
}

/* --- .full-map --- */
.full-map {
    line-height: 0;
    width: 100%;
    height: 400px;
    overflow: hidden;
}
.full-map iframe {
  width: 100%;
  height: 820px;
  margin-top: -170px;
}

/*----- facebook -----*/
.fb-plugin-responsive, .fb-plugin-responsive iframe {
height: 500px!important;
margin: 0 auto;
}
/* スマホ用（767px以下） */
@media screen and (max-width: 767px) {
.fb-plugin-responsive {
width: 100%;
max-width: 500px;
}
}
/* PC用(768px以上) */
@media screen and (min-width: 768px) {
.fb-plugin-responsive {
width: 500px;
}
}


/* --------------------------------------------
    nav
-------------------------------------------- */
#nav01 {
    position: absolute;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    background-color: transparent;
    z-index: 999;
}
.hd-logo {
    width: 110px;
    display: inline-block;
    margin: 0 auto;
    padding: 0;
    line-height: 1;
    opacity: 0;
}
#drawer-content {
    display: inline-block;
    position: absolute;
    top: 2.5em;
    right: 3em;
    white-space: nowrap;
    -ms-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
}
#drawer-content .nav-box .nav-list {
    display: block;
    width: 100%;
    max-width: 1280px;
    list-style: none;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}
#drawer-content .nav-box .nav-list > li {
    width: auto;
    display: block;
    margin: 0 auto;
    padding: 0.5em 1em;
    text-align: left;
}
#drawer-content .nav-box .nav-list > li a {
    color: #fff;
    font-size: 1.2em;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.2em;
    position: relative;
}
#drawer-content .nav-box .nav-list > li a::before {
    position: absolute;
    top: 0;
    right: -5px;
    content: '';
    width: 1px;
    height: 100%;
    background: #fff;
    transform: scale(1, 0);
    transform-origin: right top;
    transition: transform .3s;
}
#drawer-content .nav-box .nav-list > li a:hover, #drawer-content .nav-box .nav-list > li a:focus {
    text-decoration: none;
    outline: none;
}
#drawer-content .nav-box .nav-list > li a:hover::before, #drawer-content .nav-box .nav-list > li a:focus::before {
    transform-origin: left top;
    transform: scale(1, 1);
}

/*　上に上がる動き　*/
#nav01.UpMove{ animation: UpAnime 0.5s forwards; }
@keyframes UpAnime{
    from { opacity: 1; top: 0; }
    to { opacity: 0; top: -100px; }
}
/*　下に下がる動き　*/
#nav01.DownMove{ animation: DownAnime 0.5s forwards; }
@keyframes DownAnime{
    from { opacity: 0; top: -100px; }
    to { opacity: 1; top: 0; }
}

/* スクロールしたら変形 */
#drawer-icon, #drawer-checkbox, #drawer-close { display: none; }
#nav01.fixed {
    position: fixed;
    top: 0;
    opacity: 1;
    height: 70px;
    background-color: #fff;
    -webkit-filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.3));
    -moz-filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.3));
    -ms-filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.3));
    filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.3));
}
.fixed .hd-logo { opacity: 1; margin: 0; }

/*----------*/
.fixed #drawer-content {
    display: block;
    width: 100%;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
}
.fixed #drawer-content .nav-box {
    display: flex;
    justify-content: space-between;
    width: 96%;
    margin: 0.55em auto;
}
.fixed #drawer-content .nav-box .nav-list {
    display: flex;
    width: 37em;
    margin: 0;
}
.fixed #drawer-content .nav-box .nav-list > li a {
    color: #000;
    font-size: 1em;
    letter-spacing: 0.02em;
}


/* --------------------------------------------
    header
-------------------------------------------- */
#hd01 {
    position: relative;
}
.main-slider {
    position: relative;
    z-index: 10;
}
.img-main01 img { width: 100%; }
.main-slider .slide-item img { width: 100%; height: auto; }
.main-cover {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
    width: 100%;
    max-width: 1280px;
    height: auto;
}


/* --------------------------------------------
    コンテンツ
-------------------------------------------- */
section {
    position: relative;
    width: calc(100% + 30px);
    margin: 0 -15px;
    padding: 0;
}
.section-cloud {
    background-image: url(../img/bg-img01.png);
    background-position: center;
    background-repeat: repeat-y;
    background-size: contain;
}
.section-shop {
    background-image: url(../img/bg-img02.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.section-check {
    background-image: url(../img/bg-img03.jpg);
    background-position: top center;
    background-repeat: repeat;
    background-size: 1000px auto;
}
.section-bk { background-color: #000; }

.content-wrap {
    width: 82%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 6em 0;
    position: relative;
    z-index: 10;
}
.w90 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.content-wrap p {
    margin: 0 auto 1em;
	padding: 0;
    line-height: 1.8;
    letter-spacing: 0.02em;
}

.full-img {
    position: relative;
    display: block;
    height: 50vh; 
    overflow: hidden;
}
.full-img img {
    width: 100%;
    object-fit: cover;
}

/*----- sec01 -----*/
#sec01::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50vw;
    height: 50vw;
    z-index: 0;
    background-image: url(../img/sec01-hd01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
}
#sec01::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50vw;
    height: 50vw;
    z-index: 0;
    background-image: url(../img/sec01-hd02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
}
.sec01-wrap {
    color: #fff;
    padding-bottom: 2em;
}
.sec01-wrap h2 {
    width: 10em;
    margin-left: auto;
    margin-right: auto;
}
.sec01-wrap .sec01-box { position: relative; }
.sec01-wrap::after {
    content: '';
    position: absolute;
    top: 48vw;
    right: 89%;
    width: 25vw;
    max-width: 400px;
    min-width: 250px;
    height: 190px;
    z-index: 0;
    background-image: url(../img/sec01-icon01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center left;
}
.sec01-wrap .box01 .sec01-img { position: relative; z-index: 10; }
.sec01-wrap .box01 .sec01-img img { width: 52vw; }
.sec01-wrap .box01 .sec01-txt { position: relative; z-index: 20; width: 100%; max-width: 450px; }

.sec01-wrap .box02::before {
    content: '';
    position: absolute;
    top: 3em;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100vh;
    z-index: 0;
    background-image: url(../img/sec01-bg01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top center;
}
.sec01-wrap .box02::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 48vw;
    height: 50vw;
    z-index: 0;
    background-image: url(../img/sec01-icon02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right;
}
.sec01-wrap .box02 .sec01-tit { margin-bottom: 5vw; }
.sec01-wrap .box02 .txt-wrap { width: 100%; max-width: 400px; margin-left: auto; }

.sec01-ft {
    max-width: 100%;
    min-width: 1100px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
}


/*----- sec02 -----*/
#sec02::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 55vw;
    height: 50vw;
    z-index: 0;
    background-image: url(../img/sec02-hd01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
}
#sec02::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 30vw;
    height: 50vw;
    z-index: 0;
    background-image: url(../img/sec02-hd02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
}
.sec02-wrap {
    font-family: ta-fuga-fude, 'Noto Serif JP', sans-serif;
    position: relative;
    z-index: 10;
    max-width: 1080px;
}
.sec02-wrap h2 {
    width: 6em;
    margin-left: auto;
    margin-right: auto;
}

/*- menu 01 -*/
.menu-one {
    text-align: center;
    margin-bottom: 6em;
}
.menu-one .menu-tit {
    margin-bottom: 15px;
}
.menu-one .menu-txt {
    font-size: 1.1em;
    margin-bottom: 1em;
}

/*- menu 02 -*/
.menu-box {
    margin-bottom: 4em;
}
.menu-box .menu-img {
    width: calc(85% - 550px);
    min-width: 300px;
    margin-left: 1.5em;
}
.menu05 img {
    width: 38vw;
    min-width: 400px;
}

.menu-box .menu-list {
    flex: auto;
}
.menu-box table.ml-auto { margin-left: auto; }
.menu-box .menu-tit {
    position: relative;
    width: 8em;
    margin-bottom: 1em;
}
.menu-box .menu-tit .menu-cp {
    font-size: 18px;
    letter-spacing: 0.05em;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.menu-box .menu-tit .menu-cp06 { width: 11em; left: 9em; }
.menu-box .menu-tit .menu-cp10 { width: 13em; left: 13em; }
.menu-box .menu-txt {
    font-size: 1.1em;
}

table {
    width: 95%;
    max-width: 500px;
    font-size: 1.3em;
    letter-spacing: -0.03em;
    margin-bottom: 1em;
}

.table-col3 td img {
    width: 3em;
}

.wrap-full {
    width: 100%!important;
}


/*----- sec03 -----*/
#sec03::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50vw;
    height: 50vw;
    z-index: 0;
    background-image: url(../img/sec03-hd01.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top left;
}
#sec03::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50vw;
    height: 50vw;
    z-index: 0;
    background-image: url(../img/sec03-hd02.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
}
.sec03-wrap h2 {
    width: 8em;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
}

/*----- sec04 -----*/
.sec04-wrap { color: #fff; }
.sec04-wrap h2 {
    width: 8em;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
}
.sec04-img {
    margin-bottom: 1.2em;
}
.sec04-txt {
    margin-bottom: 2em;
}
.sec04-txt .sec04-tit {
    position: relative;
    margin-bottom: 1.2rem;
}
.sec04-txt .sec04-tit img {
    width: 5em;
    margin-bottom: 1.2rem;
}
.map-icon {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    width: 3.5rem;
    line-height: 1;
}
.sec04-map > div {
    line-height: 0;
    height: 320px;
    overflow: hidden;
}
.sec04-map > div iframe {
  width: 100%;
  height: 100%;
/*
  height: 640px;
  margin-top: -150px;
*/
}


/*----- sec05 & sec06 -----*/
.sec05-wrap, .sec06-wrap {
    width: 90%;
    max-width: 50em;
    margin: 0 auto;
    padding: 3em;
}
.sec05-wrap { color: #fff; }
.sec05-wrap h3, .sec06-wrap h3 {
    width: 6em;
    margin-bottom: 0;
}
.sec05-wrap p, .sec06-wrap p {
    margin-bottom: 0;
}
.sec05-wrap .grid-box, .sec06-wrap .grid-box {
    grid-gap: 0;
}
.sec05-wrap .grid-item, .sec06-wrap .grid-item {
    align-self: center;
    justify-self: center;
}


/* --------------------------------------------
    pageTop
-------------------------------------------- */
.topBtn {
    position: fixed;
    bottom: 0;
    right: -70px;
    z-index: 1000;
    display: inline-block;
    margin: 0;
    padding: 0;

    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}
.topBtn img {
    width: 180px;
    height: auto;
}
.topBtn:hover {
    transform:rotate(15deg);
    bottom: 1em;
    right: -30px;
}
.topBtn a:hover img {
    opacity: 1;
}



/* --------------------------------------------
    footer
-------------------------------------------- */
#ft01 {
    color: #fff;
    display: block;
    width: 100%;
    text-align: center;
    background-color: #083558;
}
#ft01 .ft-wrap {
    font-size: 0.9em;
    width: 86%;
    max-width: 1350px;
    margin: 0 auto;
    padding: 3em 0 2em;
}
#ft01 .ft-cp {
    color: #fff;
    font-size: 15px;
    letter-spacing: 0.05em;
    margin: 0 auto;
    padding: 15px;
    text-align: center;
}

/* --------------------------------------------
    Responsive
-------------------------------------------- */
@media screen and (max-width: 992px) {
  body { font-size: 17px; }
  h2, h3, h4, h5, h6 { letter-spacing: 0.1em; }
  h2 { font-size: 2.4em; }
  h3 { font-size: 2em; }
  h4 { font-size: 1.8em; }

    /*--- nav ---*/
    #nav01.fixed { background-color: transparent; }
    #nav01 .hd-logo { opacity: 0; position: relative; z-index: 1000; }
    #nav01 #drawer-icon {
        display: inline-block;
        width: 70px;
        height: 70px;
        background-color: transparent;
        margin: 0 auto;
        padding: 15px;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 999;
        cursor: pointer;
    }
    #nav01 #drawer-checkbox:checked ~ #drawer-icon::before {
      content: "";
    }
    #nav01 #drawer-icon span {
        background: #fff;
        border-radius: 0px;
        display: block;
        width: 28px;
        height: 2px;
        margin: 0;
        position: absolute;
        top: 50%;
        left: 50%;
        border-radius: 16px;
        transform: translate(-50%, -50%);
        transition: all 0.3s ease-in-out;
    }
    #nav01 #drawer-icon span::before,
    #nav01 #drawer-icon span::after {
      -webkit-transform: rotate(0);
      background: #fff;
      border-radius: 0px;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
        position: absolute;
        right: 0;
      margin: 0;
        border-radius: 20px;
      transform: rotate(0);
      transition: all 0.3s ease-in-out;
    }
    #nav01 #drawer-icon span::before { margin-top: -15px; }
    #nav01 #drawer-icon span::after { margin-top: 15px; }
    #nav01 #drawer-checkbox:checked ~ #drawer-icon { background-color: transparent; }
    #nav01 #drawer-checkbox:checked ~ #drawer-icon span {
      background: rgba(51, 51, 51, 0);
      top: 50%;
    }
    #nav01 #drawer-checkbox:checked ~ #drawer-icon span::before,
    #nav01 #drawer-checkbox:checked ~ #drawer-icon span::after {
      content: "";
      display: block;
      width: 150%;
      height: 100%;
      position: absolute;
    }
    #nav01 #drawer-checkbox:checked ~ #drawer-icon span::before {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      margin-top: 0;
    }
    #nav01 #drawer-checkbox:checked ~ #drawer-icon span::after {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      margin-top: 0;
    }
    /*--- メニューコンテンツ ---*/
    #nav01 #drawer-content {
        display: none;
        opacity: 0;
        color: #000;
        overflow: hidden;
        width: 100%;
        max-width: 100%;
        height: 100vh;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 10;
        background-color: #fff;
        transition: all 0.3s ease-in-out 0s;
    }
    #nav01 #drawer-content .nav-box, #nav01 #drawer-content .nav-box .nav-list { display: block; }
    #nav01 #drawer-content .nav-box {
        width: 100%;
        padding: calc(70px + 3.5rem) 1rem 3.5rem;
        position: relative;
        z-index: 10;
    }
    #nav01 #drawer-content .nav-box .nav-list { margin: 0 auto; width: 100%; }
    #nav01 #drawer-content .nav-box .nav-list > li { text-align: center; padding: 1em; }
    #nav01 #drawer-content .nav-box .nav-list > li a {
        color: #000;
        font-family: ta-fuga-fude, 'Noto Serif JP', sans-serif;
        font-weight: 400;
        font-size: 1.4em;
        line-height: 1.3;
    }

    #nav01 #drawer-checkbox:checked ~ #drawer-content {
        display: block;
        opacity: 1;
    }
    #nav01 #drawer-close {
      display: none;
      position: relative;
      z-index: 100;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #fff;
      opacity: 1;
      transition: all 0.3s ease-in-out 0s;
    }
    #nav01.scrolled { background-color: #fff!important; }
    #nav01.scrolled .hd-logo { opacity: 1!important; margin: 11px 15px; }
    #nav01.scrolled #drawer-icon span { background: #000; }
    #nav01.scrolled #drawer-icon span::before, #nav01.scrolled #drawer-icon span::after { background: #000; }
    #nav01.scrolled #drawer-checkbox:checked ~ #drawer-content { height: 100vh; }

    .content-wrap { width: 86%; padding: 5em 0; }
    .row { margin-left: -1em; margin-right: -1em; }
    .row .col-sm-6 { padding-left: 1em; padding-right: 1em; }
    .sec01-wrap .box02::after { top: 12vw; width: 65vw; }
    .sec01-wrap .box02 .col-sm-6:first-of-type { margin-bottom: 3em; }
    #sec02::after { right: -3em; width: 40vw; }
    .menu-box { display: block; }
    .menu-box > div { width: 100%; }
    .menu-box .menu-img { display: flex; width: 100%; min-width: inherit; margin-left: 0; }
    .menu-box table.ml-auto { margin-left: 0; }
    .menu-box .menu-txt-col2 { margin-bottom: 4em; }
    .menu-box .menu-tit .menu-cp { font-size: 15px; }
    .menu-box .menu-tit .menu-cp06 { left: 8em; }
    .menu-box .menu-tit .menu-cp10 { left: 11em; }
    #ft01 .ft-wrap { width: 90%; }
}
@media screen and (max-width: 767px) {
    h2, h3, h4, h5, h6 { letter-spacing: 0.05em; }
    h2 { font-size: 1.8em; }
    h3 { font-size: 1.5em; }
    h4 { font-size: 1.2em; }
    .section-bl {
        background-image: url(../img/bg-img01_s.jpg);
        background-position: top center;
        background-repeat: repeat-y;
        background-size: contain;
    }
    .section-check { background-image: url(../img/bg-img03.jpg); background-size: 600px auto; }
    #tpage #nav01 { top: 0; opacity: 1; background: none; }
    #tpage .fixed .hd-logo { display: none; }
    .menu-logo { width: 155px; position: absolute; top: 1em; left: 1em; }
    #tpage #drawer-content { display: none; white-space: normal; -ms-writing-mode: rl-tb; writing-mode: horizontal-tb; }
    #tpage #drawer-content::before, #tpage #drawer-content::after { display: none; }
    #tpage #drawer-content .nav-box { padding: 6rem 2rem; }
    #tpage #drawer-content .nav-box .nav-list > li { padding: 1em 0; text-align: center; }
    #tpage #drawer-icon { display: block!important; opacity: 1!important; height: 70px!important; margin-right: 0; }
    .fixed #drawer-icon span, .fixed #drawer-icon span::before, .fixed #drawer-icon span::after { background-color: #fff; }
    #drawer-icon .midnightHeader.black span, #drawer-icon .midnightHeader.black span::before, #drawer-icon .midnightHeader.black span::after { background-color: #000; }
    #drawer-checkbox:checked ~ #drawer-icon span::before, #drawer-checkbox:checked ~ #drawer-icon span::after { background-color: #000!important; }
    #tpage .xs-logo { width: 95px; position: absolute; top: 43%; left: 55%; transform: translate(-50%, -50%); }
  /* flex-box */
  .flex-box {
    display: -webkit-block;
    display: -moz-block;
    display: -ms-block;
    display: block;
  }
    .grid-box { grid-template-columns: 1fr; }
  .full-img { height: 15em; }
    table { width: 100%; font-size: 1.2em; }
    table td { line-height: 1.4; padding-bottom: 15px; }

    .content-wrap { width: 88%; padding: 3em 0; }
    .content-wrap p { line-height: 1.6; letter-spacing: 0; }
    #sec01::before, #sec01::after { display: none; }
    .sec01-wrap::after { top: 67vw; right: 67%; width: 45vw; min-width: 180px; }
    .sec01-wrap .box01 .sec01-txt, .sec01-wrap .box02 .txt-wrap { margin: 0 auto 2.5em; }
    .sec01-wrap .box01 .sec01-img img { width: 100%; }
    .sec01-wrap .box01 .sec01-tit { position: relative; }
        .sec01-wrap .box01 .sec01-tit::before {
        content: '';
        position: absolute;
        bottom: 0;
        right: -12%;
        width: 47vw;
        max-width: 400px;
        min-width: 180px;
        height: 190px;
        z-index: 0;
        background-image: url(../img/sec01-msgicon01_s.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: bottom left;
    }
    .sec01-tit { width: 280px; margin: 0 auto 1.5em; }
    
    .sec01-ft { min-width: 800px; }
    .sec01-wrap .box02::after { display: none; }
    .sec01-wrap .box02::before { top: 4.5em; background-image: url(../img/sec01-bg01_s.png); }
    #sec02::after { display: none; }
    #sec02::before { background-image: url(../img/sec02-hd01_s.png); width: 100vw; height: 100vw; }
    .menu-one { margin-bottom: 3.5em; }
    .menu-box .menu-img { display: block; }
    .menu05 img { width: 100%; min-width: 112%; }
    .sec04-map { /*line-height: 0; height: 320px; overflow: hidden;*/ margin-bottom: 3.5em; }
    .sec04-map iframe { width: 100%; height: 320px; /*height: 640px; margin-top: -150px;*/ }
    .sec05-wrap h3, .sec06-wrap h3 { margin-bottom: 1em; }
    .sec05-wrap, .sec06-wrap { width: 90%; padding: 3em 1.5em; }
    #ft01 .ft-cp { font-size: 13px; }
}
