@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
/* デフォルトのpaddingを削除 */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
/* デフォルトのmarginを削除 */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
/* bodyのデフォルトを定義 */
body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
/* class属性を持つul、ol要素のリストスタイルを削除 */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
/* classを持たない要素はデフォルトのスタイルを取得 */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
/* img要素の扱いを簡単にする */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Inherit fonts for inputs and buttons */
/* inputやbuttonなどのフォントは継承を定義 */
input,
button,
textarea,
select {
  font: inherit;
  outline: none;
}

/* Remove all animations and transitions for people that prefer not to see them */
/* 見たくない人用に、すべてのアニメーションとトランジションを削除 */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

html {
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  width: 100%;
  -webkit-text-size-adjust: none;
  font-family: "Noto Serif JP", serif;
  font-weight: 200;
  color: #000;
  line-height: 1;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

html,
body {
  overflow-x: hidden;
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}
@keyframes show {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-bold {
  font-weight: bold;
}

.text-white {
  color: #fff;
}

.lh10 {
  line-height: 1em;
}

.lh11 {
  line-height: 1.1em;
}

.lh12 {
  line-height: 1.2em;
}

.lh13 {
  line-height: 1.3em;
}

.lh14 {
  line-height: 1.4em;
}

.lh15 {
  line-height: 1.5em;
}

.lh16 {
  line-height: 1.6em;
}

.lh17 {
  line-height: 1.7em;
}

.lh18 {
  line-height: 1.8em;
}

.lh19 {
  line-height: 1.9em;
}

.lh20 {
  line-height: 2em;
}

.lh21 {
  line-height: 2.1em;
}

.lh22 {
  line-height: 2.2em;
}

.lh23 {
  line-height: 2.3em;
}

.lh24 {
  line-height: 2.4em;
}

.lh25 {
  line-height: 2.5em;
}

.lh26 {
  line-height: 2.6em;
}

.lh27 {
  line-height: 2.7em;
}

.lh28 {
  line-height: 2.8em;
}

.lh29 {
  line-height: 2.9em;
}

.lh30 {
  line-height: 3em;
}

.lh31 {
  line-height: 3.1em;
}

.lh32 {
  line-height: 3.2em;
}

.lh33 {
  line-height: 3.3em;
}

.lh34 {
  line-height: 3.4em;
}

.lh35 {
  line-height: 3.5em;
}

.lh36 {
  line-height: 3.6em;
}

.lh37 {
  line-height: 3.7em;
}

.lh38 {
  line-height: 3.8em;
}

.lh39 {
  line-height: 3.9em;
}

.lh40 {
  line-height: 4em;
}

@media screen and (max-width: 768px) {
  .lhs10 {
    line-height: 1em;
  }
  .lhs11 {
    line-height: 1.1em;
  }
  .lhs12 {
    line-height: 1.2em;
  }
  .lhs13 {
    line-height: 1.3em;
  }
  .lhs14 {
    line-height: 1.4em;
  }
  .lhs15 {
    line-height: 1.5em;
  }
  .lhs16 {
    line-height: 1.6em;
  }
  .lhs17 {
    line-height: 1.7em;
  }
  .lhs18 {
    line-height: 1.8em;
  }
  .lhs19 {
    line-height: 1.9em;
  }
  .lhs20 {
    line-height: 2em;
  }
  .lhs21 {
    line-height: 2.1em;
  }
  .lhs22 {
    line-height: 2.2em;
  }
  .lhs23 {
    line-height: 2.3em;
  }
  .lhs24 {
    line-height: 2.4em;
  }
  .lhs25 {
    line-height: 2.5em;
  }
  .lhs26 {
    line-height: 2.6em;
  }
  .lhs27 {
    line-height: 2.7em;
  }
  .lhs28 {
    line-height: 2.8em;
  }
  .lhs29 {
    line-height: 2.9em;
  }
  .lhs30 {
    line-height: 3em;
  }
  .lhs31 {
    line-height: 3.1em;
  }
  .lhs32 {
    line-height: 3.2em;
  }
  .lhs33 {
    line-height: 3.3em;
  }
  .lhs34 {
    line-height: 3.4em;
  }
  .lhs35 {
    line-height: 3.5em;
  }
  .lhs36 {
    line-height: 3.6em;
  }
  .lhs37 {
    line-height: 3.7em;
  }
  .lhs38 {
    line-height: 3.8em;
  }
  .lhs39 {
    line-height: 3.9em;
  }
  .lhs40 {
    line-height: 4em;
  }
}
.fs10 {
  font-size: 10px;
}

.fs11 {
  font-size: 11px;
}

.fs12 {
  font-size: 12px;
}

.fs13 {
  font-size: 13px;
}

.fs14 {
  font-size: 14px;
}

.fs15 {
  font-size: 15px;
}

.fs16 {
  font-size: 16px;
}

.fs17 {
  font-size: 17px;
}

.fs18 {
  font-size: 18px;
}

.fs19 {
  font-size: 19px;
}

.fs20 {
  font-size: 20px;
}

.fs21 {
  font-size: 21px;
}

.fs22 {
  font-size: 22px;
}

.fs23 {
  font-size: 23px;
}

.fs24 {
  font-size: 24px;
}

.fs25 {
  font-size: 25px;
}

.fs26 {
  font-size: 26px;
}

.fs27 {
  font-size: 27px;
}

.fs28 {
  font-size: 28px;
}

.fs29 {
  font-size: 29px;
}

.fs30 {
  font-size: 30px;
}

.fs31 {
  font-size: 31px;
}

.fs32 {
  font-size: 32px;
}

.fs33 {
  font-size: 33px;
}

.fs34 {
  font-size: 34px;
}

.fs35 {
  font-size: 35px;
}

.fs36 {
  font-size: 36px;
}

.fs37 {
  font-size: 37px;
}

.fs38 {
  font-size: 38px;
}

.fs39 {
  font-size: 39px;
}

.fs40 {
  font-size: 40px;
}

.fs41 {
  font-size: 41px;
}

.fs42 {
  font-size: 42px;
}

.fs43 {
  font-size: 43px;
}

.fs44 {
  font-size: 44px;
}

.fs45 {
  font-size: 45px;
}

.fs46 {
  font-size: 46px;
}

.fs47 {
  font-size: 47px;
}

.fs48 {
  font-size: 48px;
}

.fs49 {
  font-size: 49px;
}

.fs50 {
  font-size: 50px;
}

.fs51 {
  font-size: 51px;
}

.fs52 {
  font-size: 52px;
}

.fs53 {
  font-size: 53px;
}

.fs54 {
  font-size: 54px;
}

.fs55 {
  font-size: 55px;
}

.fs56 {
  font-size: 56px;
}

.fs57 {
  font-size: 57px;
}

.fs58 {
  font-size: 58px;
}

.fs59 {
  font-size: 59px;
}

.fs60 {
  font-size: 60px;
}

.fs61 {
  font-size: 61px;
}

.fs62 {
  font-size: 62px;
}

.fs63 {
  font-size: 63px;
}

.fs64 {
  font-size: 64px;
}

.fs65 {
  font-size: 65px;
}

.fs66 {
  font-size: 66px;
}

.fs67 {
  font-size: 67px;
}

.fs68 {
  font-size: 68px;
}

.fs69 {
  font-size: 69px;
}

.fs70 {
  font-size: 70px;
}

.fs71 {
  font-size: 71px;
}

.fs72 {
  font-size: 72px;
}

.fs73 {
  font-size: 73px;
}

.fs74 {
  font-size: 74px;
}

.fs75 {
  font-size: 75px;
}

.fs76 {
  font-size: 76px;
}

.fs77 {
  font-size: 77px;
}

.fs78 {
  font-size: 78px;
}

.fs79 {
  font-size: 79px;
}

.fs80 {
  font-size: 80px;
}

@media screen and (max-width: 768px) {
  .fss10 {
    font-size: 1.3333333333vw;
  }
  .fss11 {
    font-size: 1.4666666667vw;
  }
  .fss12 {
    font-size: 1.6vw;
  }
  .fss13 {
    font-size: 1.7333333333vw;
  }
  .fss14 {
    font-size: 1.8666666667vw;
  }
  .fss15 {
    font-size: 2vw;
  }
  .fss16 {
    font-size: 2.1333333333vw;
  }
  .fss17 {
    font-size: 2.2666666667vw;
  }
  .fss18 {
    font-size: 2.4vw;
  }
  .fss19 {
    font-size: 2.5333333333vw;
  }
  .fss20 {
    font-size: 2.6666666667vw;
  }
  .fss21 {
    font-size: 2.8vw;
  }
  .fss22 {
    font-size: 2.9333333333vw;
  }
  .fss23 {
    font-size: 3.0666666667vw;
  }
  .fss24 {
    font-size: 3.2vw;
  }
  .fss25 {
    font-size: 3.3333333333vw;
  }
  .fss26 {
    font-size: 3.4666666667vw;
  }
  .fss27 {
    font-size: 3.6vw;
  }
  .fss28 {
    font-size: 3.7333333333vw;
  }
  .fss29 {
    font-size: 3.8666666667vw;
  }
  .fss30 {
    font-size: 4vw;
  }
  .fss31 {
    font-size: 4.1333333333vw;
  }
  .fss32 {
    font-size: 4.2666666667vw;
  }
  .fss33 {
    font-size: 4.4vw;
  }
  .fss34 {
    font-size: 4.5333333333vw;
  }
  .fss35 {
    font-size: 4.6666666667vw;
  }
  .fss36 {
    font-size: 4.8vw;
  }
  .fss37 {
    font-size: 4.9333333333vw;
  }
  .fss38 {
    font-size: 5.0666666667vw;
  }
  .fss39 {
    font-size: 5.2vw;
  }
  .fss40 {
    font-size: 5.3333333333vw;
  }
}
.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mt105 {
  margin-top: 105px !important;
}

.mt110 {
  margin-top: 110px !important;
}

.mt115 {
  margin-top: 115px !important;
}

.mt120 {
  margin-top: 120px !important;
}

.mt125 {
  margin-top: 125px !important;
}

.mt130 {
  margin-top: 130px !important;
}

.mt135 {
  margin-top: 135px !important;
}

.mt140 {
  margin-top: 140px !important;
}

.mt145 {
  margin-top: 145px !important;
}

.mt150 {
  margin-top: 150px !important;
}

.mt155 {
  margin-top: 155px !important;
}

.mt160 {
  margin-top: 160px !important;
}

.mt165 {
  margin-top: 165px !important;
}

.mt170 {
  margin-top: 170px !important;
}

.mt175 {
  margin-top: 175px !important;
}

.mt180 {
  margin-top: 180px !important;
}

.mt185 {
  margin-top: 185px !important;
}

.mt190 {
  margin-top: 190px !important;
}

.mt195 {
  margin-top: 195px !important;
}

.mt200 {
  margin-top: 200px !important;
}

.mt205 {
  margin-top: 205px !important;
}

.mt210 {
  margin-top: 210px !important;
}

.mt215 {
  margin-top: 215px !important;
}

.mt220 {
  margin-top: 220px !important;
}

.mt225 {
  margin-top: 225px !important;
}

.mt230 {
  margin-top: 230px !important;
}

.mt235 {
  margin-top: 235px !important;
}

.mt240 {
  margin-top: 240px !important;
}

.mt245 {
  margin-top: 245px !important;
}

.mt250 {
  margin-top: 250px !important;
}

.mt255 {
  margin-top: 255px !important;
}

.mt260 {
  margin-top: 260px !important;
}

.mt265 {
  margin-top: 265px !important;
}

.mt270 {
  margin-top: 270px !important;
}

.mt275 {
  margin-top: 275px !important;
}

.mt280 {
  margin-top: 280px !important;
}

.mt285 {
  margin-top: 285px !important;
}

.mt290 {
  margin-top: 290px !important;
}

.mt295 {
  margin-top: 295px !important;
}

.mt300 {
  margin-top: 300px !important;
}

@media screen and (max-width: 768px) {
  .mts0 {
    margin-top: 0px !important;
  }
  .mts5 {
    margin-top: 5px !important;
  }
  .mts10 {
    margin-top: 10px !important;
  }
  .mts15 {
    margin-top: 15px !important;
  }
  .mts20 {
    margin-top: 20px !important;
  }
  .mts25 {
    margin-top: 25px !important;
  }
  .mts30 {
    margin-top: 30px !important;
  }
  .mts35 {
    margin-top: 35px !important;
  }
  .mts40 {
    margin-top: 40px !important;
  }
  .mts45 {
    margin-top: 45px !important;
  }
  .mts50 {
    margin-top: 50px !important;
  }
  .mts55 {
    margin-top: 55px !important;
  }
  .mts60 {
    margin-top: 60px !important;
  }
  .mts65 {
    margin-top: 65px !important;
  }
  .mts70 {
    margin-top: 70px !important;
  }
  .mts75 {
    margin-top: 75px !important;
  }
  .mts80 {
    margin-top: 80px !important;
  }
  .mts85 {
    margin-top: 85px !important;
  }
  .mts90 {
    margin-top: 90px !important;
  }
  .mts95 {
    margin-top: 95px !important;
  }
  .mts100 {
    margin-top: 100px !important;
  }
  .mts105 {
    margin-top: 105px !important;
  }
  .mts110 {
    margin-top: 110px !important;
  }
  .mts115 {
    margin-top: 115px !important;
  }
  .mts120 {
    margin-top: 120px !important;
  }
  .mts125 {
    margin-top: 125px !important;
  }
  .mts130 {
    margin-top: 130px !important;
  }
  .mts135 {
    margin-top: 135px !important;
  }
  .mts140 {
    margin-top: 140px !important;
  }
  .mts145 {
    margin-top: 145px !important;
  }
  .mts150 {
    margin-top: 150px !important;
  }
}
.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mb105 {
  margin-bottom: 105px !important;
}

.mb110 {
  margin-bottom: 110px !important;
}

.mb115 {
  margin-bottom: 115px !important;
}

.mb120 {
  margin-bottom: 120px !important;
}

.mb125 {
  margin-bottom: 125px !important;
}

.mb130 {
  margin-bottom: 130px !important;
}

.mb135 {
  margin-bottom: 135px !important;
}

.mb140 {
  margin-bottom: 140px !important;
}

.mb145 {
  margin-bottom: 145px !important;
}

.mb150 {
  margin-bottom: 150px !important;
}

@media screen and (max-width: 768px) {
  .mbs0 {
    margin-bottom: 0px !important;
  }
  .mbs5 {
    margin-bottom: 5px !important;
  }
  .mbs10 {
    margin-bottom: 10px !important;
  }
  .mbs15 {
    margin-bottom: 15px !important;
  }
  .mbs20 {
    margin-bottom: 20px !important;
  }
  .mbs25 {
    margin-bottom: 25px !important;
  }
  .mbs30 {
    margin-bottom: 30px !important;
  }
  .mbs35 {
    margin-bottom: 35px !important;
  }
  .mbs40 {
    margin-bottom: 40px !important;
  }
  .mbs45 {
    margin-bottom: 45px !important;
  }
  .mbs50 {
    margin-bottom: 50px !important;
  }
  .mbs55 {
    margin-bottom: 55px !important;
  }
  .mbs60 {
    margin-bottom: 60px !important;
  }
  .mbs65 {
    margin-bottom: 65px !important;
  }
  .mbs70 {
    margin-bottom: 70px !important;
  }
  .mbs75 {
    margin-bottom: 75px !important;
  }
  .mbs80 {
    margin-bottom: 80px !important;
  }
  .mbs85 {
    margin-bottom: 85px !important;
  }
  .mbs90 {
    margin-bottom: 90px !important;
  }
  .mbs95 {
    margin-bottom: 95px !important;
  }
  .mbs100 {
    margin-bottom: 100px !important;
  }
  .mbs105 {
    margin-bottom: 105px !important;
  }
  .mbs110 {
    margin-bottom: 110px !important;
  }
  .mbs115 {
    margin-bottom: 115px !important;
  }
  .mbs120 {
    margin-bottom: 120px !important;
  }
  .mbs125 {
    margin-bottom: 125px !important;
  }
  .mbs130 {
    margin-bottom: 130px !important;
  }
  .mbs135 {
    margin-bottom: 135px !important;
  }
  .mbs140 {
    margin-bottom: 140px !important;
  }
  .mbs145 {
    margin-bottom: 145px !important;
  }
  .mbs150 {
    margin-bottom: 150px !important;
  }
}
.pt0 {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pt105 {
  padding-top: 105px !important;
}

.pt110 {
  padding-top: 110px !important;
}

.pt115 {
  padding-top: 115px !important;
}

.pt120 {
  padding-top: 120px !important;
}

.pt125 {
  padding-top: 125px !important;
}

.pt130 {
  padding-top: 130px !important;
}

.pt135 {
  padding-top: 135px !important;
}

.pt140 {
  padding-top: 140px !important;
}

.pt145 {
  padding-top: 145px !important;
}

.pt150 {
  padding-top: 150px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pb105 {
  padding-bottom: 105px !important;
}

.pb110 {
  padding-bottom: 110px !important;
}

.pb115 {
  padding-bottom: 115px !important;
}

.pb120 {
  padding-bottom: 120px !important;
}

.pb125 {
  padding-bottom: 125px !important;
}

.pb130 {
  padding-bottom: 130px !important;
}

.pb135 {
  padding-bottom: 135px !important;
}

.pb140 {
  padding-bottom: 140px !important;
}

.pb145 {
  padding-bottom: 145px !important;
}

.pb150 {
  padding-bottom: 150px !important;
}

.c-section-title {
  text-align: center;
}
.c-section-title.white {
  color: #fff;
}
.c-section-title .main {
  padding-bottom: 20px;
  font-size: 32px;
  font-weight: normal;
  font-family: "Bodoni Moda", serif;
  background-image: url("../images/icn-border.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 386px 1px;
}
@media screen and (max-width: 1500px) {
  .c-section-title .main {
    padding-bottom: 1.3333333333vw;
    font-size: 2.1333333333vw;
    background-size: 25.7333333333vw 1px;
  }
}
@media screen and (max-width: 768px) {
  .c-section-title .main {
    padding-bottom: 2.6666666667vw;
    font-size: 6.6666666667vw;
    background-size: 51.4666666667vw 1px;
    line-height: 1.3;
  }
}
.c-section-title .sub {
  margin-top: 20px;
  font-size: 16px;
  font-weight: 200;
}
@media screen and (max-width: 1500px) {
  .c-section-title .sub {
    margin-top: 1.3333333333vw;
    font-size: 1.0666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .c-section-title .sub {
    margin-top: 2.6666666667vw;
    font-size: 3.2vw;
  }
}

/*--------------------------
HOME
----------------------------*/
#globalHeader {
  /*position: fixed;*/
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 140px;
}
@media screen and (max-width: 1200px) {
  #globalHeader {
    height: 11.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #globalHeader {
    height: 13.3333333333vw;
  }
}
#globalHeader .inner {
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  height: 100%;
  padding-inline: 60px;
}
@media screen and (max-width: 1200px) {
  #globalHeader .inner {
    padding-inline: 5vw;
  }
}
@media screen and (max-width: 768px) {
  #globalHeader .inner {
    padding-inline: 4vw;
  }
}
@media screen and (max-width: 1200px) {
  #globalHeader .logo img {
    width: 10.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #globalHeader .logo img {
    width: 16vw;
  }
}
#globalHeader .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  gap: 0 15px;
  width: 305px;
  height: 63px;
  border: 1px solid #fff;
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media (hover: none) {
  #globalHeader .btn a:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  #globalHeader .btn a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1200px) {
  #globalHeader .btn a {
    gap: 0 1.25vw;
    width: 25.4166666667vw;
    height: 5.25vw;
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #globalHeader .btn a {
    gap: 0 2vw;
    width: 50.6666666667vw;
    height: 10.6666666667vw;
    font-size: 3.2vw;
  }
}
#globalHeader .btn a::after {
  content: "";
  width: 26px;
  height: 19px;
  background-image: url("../images/icn-outlink.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
@media screen and (max-width: 1200px) {
  #globalHeader .btn a::after {
    width: 2.1666666667vw;
    height: 1.5833333333vw;
  }
}
@media screen and (max-width: 768px) {
  #globalHeader .btn a::after {
    width: 3.4666666667vw;
    height: 2.5333333333vw;
  }
}

.c-caption {
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  width: fit-content;
  height: 30px;
  padding: 0 10px;
  font-size: 12px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
}
.c-caption.exterior {
    right: 70px;
}
@media screen and (max-width: 768px) {
  .c-caption {
    right: 0px;
    height: 6vw;
    padding: 0 2.6666666667vw;
    font-size: 2.1333333333vw !important;
  }
  .c-caption.exterior {
    right: 0px;
  }
}
.c-caption.left {
  right: auto;
  left: 0;
}
.c-caption.center {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}

#sideMenu {
  position: fixed;
  z-index: 5;
  top: 46%;
  right: 40px;
  padding-right: 15px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 60px 0;
}
@media screen and (max-width: 1200px) {
  #sideMenu {
    right: 3.3333333333vw;
    padding-right: 1.25vw;
    gap: 3.3333333333vw 0;
  }
}
@media screen and (max-width: 768px) {
  #sideMenu {
    display: none;
  }
}
#sideMenu::before {
  content: "";
  position: absolute;
  top: 6px;
  right: 0;
  width: 1px;
  height: calc(100% - 12px);
  background-color: #a4a4a4;
  transition: background 0.3s;
}
@media screen and (max-width: 1200px) {
  #sideMenu::before {
    top: 0.5vw;
    height: calc(100% - 1vw);
  }
}
@media screen and (max-width: 768px) {
  #sideMenu::before {
    top: 0.8vw;
    height: calc(100% - 1.6vw);
  }
}
#sideMenu:has(a:nth-of-type(1).active)::before {
  background-color: #fff;
}
#sideMenu:has(a:nth-of-type(1).active) a {
  position: relative;
  color: #fff;
}
#sideMenu:has(a:nth-of-type(1).active) a::before {
  background-color: #fff;
}
#sideMenu:not(:has(a:nth-of-type(1).active)) a.active span {
  position: absolute;
  top: 0;
  right: 10px;
  display: block;
  width: auto;
  height: 200px;
  margin-top: -100px;
  writing-mode: vertical-rl;
  text-align: center;
  transform: scale(-1, -1);
}
#sideMenu:not(:has(a:nth-of-type(1).active)) a:not(.active) span {
  opacity: 0;
}
#sideMenu:has(a:nth-of-type(3).active) a.active span {
  color: #fff;
}
#sideMenu a {
  position: relative;
  font-family: "Bodoni Moda", serif;
  font-size: 14px;
  color: #666;
  text-decoration: none;
  line-height: 1.3;
  text-align: right;
  transition: color 0.3s;
}
@media screen and (max-width: 1200px) {
  #sideMenu a {
    font-size: 1.1666666667vw;
  }
}
#sideMenu a.active::before {
  background-color: #ca9514;
  transition: background 0.3s;
}
#sideMenu a span {
  position: absolute;
  top: 0;
  right: 10px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  width: 200px;
  height: 40px;
  margin-top: -20px;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  #sideMenu a span {
    display: none;
  }
}
#sideMenu a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -20px;
  width: 12px;
  height: 12px;
  border-radius: 9999px;
  background-color: #a4a4a4;
}
@media screen and (max-width: 1200px) {
  #sideMenu a::before {
    right: -1.6666666667vw;
    width: 1vw;
    height: 1vw;
  }
}
@media screen and (max-width: 768px) {
  #sideMenu a::before {
    right: -2.8vw;
    width: 1.7333333333vw;
    height: 1.7333333333vw;
  }
}

.con-mv {
  position: relative;
}
.con-mv .slider .swiper-slide {
  height: 900px;
}
@media screen and (max-width: 1500px) {
  .con-mv .slider .swiper-slide {
    height: 60vw;
  }
}
@media screen and (max-width: 768px) {
  .con-mv .slider .swiper-slide {
    height: 160vw;
  }
}
.con-mv .slider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.con-mv .slider .zoom-target {
  transform: scale(1);
  transition: transform var(--zoom-duration, 5000ms) linear;
  will-change: transform;
}
.con-mv .slider .zooming .zoom-target {
  transform: scale(var(--zoom-scale, 1.08));
}
.con-mv .inner {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  bottom: 0;
  padding-bottom: 65px;
  max-width: 1650px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1920px) {
  .con-mv .inner {
    max-width: 100%;
    padding-inline: 130px;
  }
}
@media screen and (max-width: 1500px) {
  .con-mv .inner {
    padding-bottom: 4.3333333333vw;
    padding-inline: 8.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-mv .inner {
    padding-bottom: 4vw;
    padding-inline: 4vw;
  }
}
.con-mv .inner .message {
  font-size: 24px;
  line-height: 1.8;
}
@media screen and (max-width: 1500px) {
  .con-mv .inner .message {
    font-size: 1.6vw;
  }
}
@media screen and (max-width: 768px) {
  .con-mv .inner .message {
    font-size: 3.2vw;
  }
}
.con-mv .inner .page-title {
  margin-top: 35px;
  font-size: 68px;
  line-height: 1.5;
  font-weight: 200;
}
@media screen and (max-width: 1500px) {
  .con-mv .inner .page-title {
    margin-top: 2.3333333333vw;
    font-size: 4.5333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-mv .inner .page-title {
    margin-top: 4vw;
    font-size: 6.6666666667vw;
  }
}

.con-box01 {
  padding-block: 150px 170px;
  text-align: center;
  background-color: #cecece;
}
@media screen and (max-width: 1500px) {
  .con-box01 {
    padding-block: 18vw 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box01 {
    padding-block: 17.3333333333vw;
  }
}
.con-box01 .inner {
  max-width: 1780px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1920px) {
  .con-box01 .inner {
    max-width: 100%;
    padding-inline: 70px;
  }
}
@media screen and (max-width: 1500px) {
  .con-box01 .inner {
    padding-inline: 4.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box01 .inner {
    padding-inline: 4vw;
  }
}
.con-box01 .text01 {
  margin-top: 110px;
  font-size: 64px;
}
@media screen and (max-width: 1500px) {
  .con-box01 .text01 {
    margin-top: 7.3333333333vw;
    font-size: 4.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box01 .text01 {
    margin-top: 13.3333333333vw;
    font-size: 8vw;
    line-height: 1.5;
  }
}
.con-box01 .text02 {
  margin-top: 90px;
  font-size: 22px;
  line-height: 2.7;
}
@media screen and (max-width: 1500px) {
  .con-box01 .text02 {
    margin-top: 6vw;
    font-size: 1.4666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box01 .text02 {
    margin-top: 13.3333333333vw;
    font-size: 3.4666666667vw;
  }
}
.con-box01 .text03 {
  margin-top: 240px;
  font-size: 14px;
  text-align: right;
}
@media screen and (max-width: 1500px) {
  .con-box01 .text03 {
    margin-top: 16vw;
    font-size: 0.9333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box01 .text03 {
    margin-top: 16vw;
    font-size: 2.6666666667vw;
  }
}

.con-box02 {
  padding-block: 140px 300px;
  background-image: url("../images/recommended-bg.png");
  background-repeat: repeat-y;
  background-position: center top;
  background-size: cover;
}
@media screen and (max-width: 1920px) {
  .con-box02 {
    padding-block: 7.2916666667vw 15.625vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 {
    padding-block: 21.3333333333vw;
    background-repeat: no-repeat;
    background-size: cover;
  }
}
.con-box02 .inner {
  max-width: 1870px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner {
    max-width: 100%;
    padding-inline: 1.3020833333vw 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner {
    padding-inline: 0;
  }
}
.con-box02 .inner-box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  display: -webkit-flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box {
    flex-direction: column;
    padding: 0 !important;
  }
  .con-box02 .inner-box .thumbnail {
    order: -1;
    width: 80% !important;
    margin-inline: auto;
  }
  .con-box02 .inner-box .thumbnail img {
    width: 100%;
  }
}
.con-box02 .inner-box.reverse {
  padding-left: 0;
}
.con-box02 .inner-box.reverse .thumbnail {
  order: -1;
}
.con-box02 .inner-box .content {
  flex-grow: 1;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box .content {
    padding-inline: 5.3333333333vw !important;
  }
}
.con-box02 .inner-box .content .content-headline {
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box .content .content-headline {
    white-space: normal;
  }
}
.con-box02 .inner-box .content .content-headline .main {
  font-size: 48px;
  line-height: 1.5;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box .content .content-headline .main {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box .content .content-headline .main {
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box .content .content-headline .main {
    font-size: 7.3333333333vw;
  }
}
.con-box02 .inner-box .content .content-headline .sub {
  margin-top: 15px;
  font-size: 24px;
  line-height: 1.67;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box .content .content-headline .sub {
    margin-top: 0.78125vw;
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box .content .content-headline .sub {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box .content .content-headline .sub {
    margin-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.con-box02 .inner-box .content p {
  margin-top: 50px;
  font-size: 16px;
  line-height: 2;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box .content p {
    margin-top: 2.6041666667vw;
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box .content p {
    margin-top: 1.6666666667vw;
    font-size: 1.1666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box .content p {
    margin-top: 5.3333333333vw;
    font-size: 3.2vw;
  }
}
.con-box02 .inner-box .thumbnail {
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box .thumbnail figcaption {
    font-size: 0.9333333333vw;
  }
}
.con-box02 .inner-box01 {
  position: relative;
  gap: 0 90px;
  margin-top: 90px;
  padding-left: 275px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 {
    gap: 0 4.6875vw;
    margin-top: 4.6875vw;
    padding-left: 14.3229166667vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 {
    gap: 0 4.1666666667vw;
    padding-left: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 {
    margin-top: 13.3333333333vw;
  }
}
.con-box02 .inner-box01 .content {
  padding-top: 170px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 .content {
    padding-top: 8.8541666667vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .content {
    padding-top: 4.1666666667vw;
  }
}
.con-box02 .inner-box01 .content .box {
  position: absolute;
  z-index: 3;
  top: 550px;
  left: 275px;
  padding: 18px 65px 18px 35px;
  border-radius: 10px;
  box-shadow: 0 0 8px 5px rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 .content .box {
    top: 28.6458333333vw;
    left: 14.3229166667vw;
    padding: 0.9375vw 3.3854166667vw 0.9375vw 1.8229166667vw;
    box-shadow: 0 0 0.4166666667vw 0.2604166667vw rgba(255, 255, 255, 0.3);
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .content .box {
    top: 28.3333333333vw;
    left: 2.5vw;
    padding: 1.5vw 5.4166666667vw 1.5vw 2.9166666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 .content .box {
    position: static;
    margin-top: 6.6666666667vw;
    padding: 4vw;
  }
}
.con-box02 .inner-box01 .content .box .box-headline {
  font-size: 20px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 .content .box .box-headline {
    font-size: 1.0416666667vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .content .box .box-headline {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 .content .box .box-headline {
    font-size: 4.8vw;
  }
}
.con-box02 .inner-box01 .content .box .list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  display: -webkit-flex;
  flex-wrap: nowrap;
  gap: 0 25px;
  margin-top: 15px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 .content .box .list {
    gap: 0 1.3020833333vw;
    margin-top: 0.78125vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .content .box .list {
    gap: 0 2.0833333333vw;
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 .content .box .list {
    gap: 4vw 0;
    margin-top: 6.6666666667vw;
    justify-content: center;
    flex-wrap: wrap;
  }
}
.con-box02 .inner-box01 .content .box .list .list-item {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 .content .box .list .list-item {
    width: 33.3%;
  }
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 .content .box .list .list-item img {
    width: 5.3645833333vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .content .box .list .list-item img {
    width: 5.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 .content .box .list .list-item img {
    width: 80%;
  }
}
.con-box02 .inner-box01 .content .box .list .list-item .item-title {
  position: relative;
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 .content .box .list .list-item .item-title {
    margin-top: 0.5208333333vw;
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .content .box .list .list-item .item-title {
    margin-top: 0.8333333333vw;
    font-size: 1.1666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 .content .box .list .list-item .item-title {
    margin-top: 2.6666666667vw;
    font-size: 2.6666666667vw;
  }
}
.con-box02 .inner-box01 .content .box .list .list-item .item-title span {
  font-size: 12px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 .content .box .list .list-item .item-title span {
    font-size: 0.625vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .content .box .list .list-item .item-title span {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 .content .box .list .list-item .item-title span {
    font-size: 1.8666666667vw;
  }
}
.con-box02 .inner-box01 .content .box .list .list-item .item-title .etc {
  position: absolute;
  top: 0;
  right: -30px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 .content .box .list .list-item .item-title .etc {
    right: -1.5625vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .content .box .list .list-item .item-title .etc {
    right: -1.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 .content .box .list .list-item .item-title .etc {
    right: -2.6666666667vw;
  }
}
.con-box02 .inner-box01 .content .box .caution {
  margin-top: 10px;
  font-size: 12px;
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .content .box .caution {
    margin-top: 0.8333333333vw;
    font-size: 1vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box01 .content .box .caution {
    margin-top: 2.6666666667vw;
    font-size: 2.4vw;
  }
}
.con-box02 .inner-box01 .thumbnail {
  width: 895px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box01 .thumbnail {
    width: 46.6145833333vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box01 .thumbnail {
    width: 41.6666666667vw;
  }
}
.con-box02 .inner-box02 {
  gap: 0 150px;
  margin-top: 365px;
  padding-right: 140px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box02 {
    gap: 0 7.8125vw;
    margin-top: 19.0104166667vw;
    padding-right: 7.2916666667vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box02 {
    gap: 0 4.1666666667vw;
    margin-top: 30vw;
    padding-right: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .inner-box02 {
    margin-top: 26.6666666667vw;
  }
}
.con-box02 .inner-box02 .content {
  padding-top: 230px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box02 .content {
    padding-top: 11.9791666667vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box02 .content {
    padding-top: 4.1666666667vw;
  }
}
@media screen and (min-width: 769px) {
  .con-box02 .inner-box02 .content p {
    white-space: nowrap;
  }
}
.con-box02 .inner-box02 .thumbnail {
  width: 950px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box02 .thumbnail {
    width: 49.4791666667vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box02 .thumbnail {
    width: 41.6666666667vw;
  }
}
.con-box02 .btn {
  margin-top: 90px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .btn {
    margin-top: 4.6875vw;
  }
}
.con-box02 .btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  width: 810px;
  height: 234px;
  margin: 0 auto;
  background-image: url("../images/recommended-box-bg.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media (hover: none) {
  .con-box02 .btn a:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  .con-box02 .btn a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1920px) {
  .con-box02 .btn a {
    width: 42.1875vw;
    height: 12.1875vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .btn a {
    width: 86.6666666667vw;
    height: 37.3333333333vw;
  }
}
.con-box02 .btn a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -80px;
  width: 135px;
  height: 15px;
  background-image: url("../images/recommended-arrow.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
@media screen and (max-width: 1920px) {
  .con-box02 .btn a::before {
    right: -4.1666666667vw;
    width: 7.03125vw;
    height: 0.78125vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .btn a::before {
    content: none;
  }
}
.con-box02 .btn .btn-headline {
  text-align: center;
}
.con-box02 .btn .btn-headline .sub {
  font-size: 20px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .btn .btn-headline .sub {
    font-size: 1.0416666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .btn .btn-headline .sub {
    font-size: 3.4666666667vw;
    line-height: 1.3;
  }
}
.con-box02 .btn .btn-headline .main {
  margin-top: 10px;
  font-size: 32px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .btn .btn-headline .main {
    margin-top: 0.5208333333vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .btn .btn-headline .main {
    margin-top: 1.3333333333vw;
    font-size: 4vw;
  }
}
.con-box02 .btn p {
  margin-top: 20px;
  font-size: 20px;
  line-height: 1.65;
}
@media screen and (max-width: 1920px) {
  .con-box02 .btn p {
    margin-top: 1.0416666667vw;
    font-size: 1.0416666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box02 .btn p {
    margin-top: 2.6666666667vw;
    font-size: 2.6666666667vw;
  }
}
.con-box02 .inner-box03 {
  gap: 0 50px;
  margin-top: 420px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box03 {
    gap: 0 2.6041666667vw;
    margin-top: 21.875vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box03 {
    gap: 0 4.1666666667vw;
    margin-top: 25vw;
  }
}
.con-box02 .inner-box03 .content {
  padding-top: 200px;
  padding-left: 280px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box03 .content {
    padding-top: 10.4166666667vw;
    padding-left: 14.5833333333vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box03 .content {
    padding-top: 3.3333333333vw;
    padding-left: 2.5vw;
  }
}
.con-box02 .inner-box03 .thumbnail {
  width: 890px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box03 .thumbnail {
    width: 46.3541666667vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box03 .thumbnail {
    width: 41.6666666667vw;
  }
}
.con-box02 .inner-box04 {
  gap: 0 110px;
  margin-top: 410px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box04 {
    gap: 0 5.7291666667vw;
    margin-top: 21.3541666667vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box04 {
    gap: 0 4.1666666667vw;
    margin-top: 25vw;
  }
}
.con-box02 .inner-box04 .content {
  padding-top: 200px;
  padding-right: 120px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box04 .content {
    padding-top: 10.4166666667vw;
    padding-right: 6.25vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box04 .content {
    padding-top: 3.3333333333vw;
    padding-right: 2.5vw;
  }
}
.con-box02 .inner-box04 .thumbnail {
  width: 949px;
}
@media screen and (max-width: 1920px) {
  .con-box02 .inner-box04 .thumbnail {
    width: 49.4270833333vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box02 .inner-box04 .thumbnail {
    width: 41.6666666667vw;
  }
}

.con-box03 {
  padding-block: 150px 170px;
  background-color: #cecece;
}
.con-box03 sup {
  font-size: 0.3em;
  vertical-align: top;
}
.con-box03 .list .list-item .item-title sup {
  font-size: 0.5em;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .con-box03 {
    padding: 21.3333333333vw 4vw;
  }
  .con-box03 sup {
  font-size: 0.5em;
  vertical-align: top;
  }
  .con-box03 .list .list-item .item-title sup {
    font-size: 0.8em;
    vertical-align: top;
  }
}
.con-box03 .text01 {
  margin-top: 110px;
  font-size: 56px;
  line-height: 1.3;
  text-align: center;
}
@media screen and (max-width: 1500px) {
  .con-box03 .text01 {
    margin-top: 7.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .text01 {
    margin-top: 14.6666666667vw;
    font-size: 6.6666666667vw;
  }
}
.con-box03 .text02 {
  margin-top: 90px;
  font-size: 20px;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 1500px) {
  .con-box03 .text02 {
    margin-top: 6vw;
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .text02 {
    margin-top: 12vw;
    font-size: 3.4666666667vw;
  }
}
.con-box03 .img {
  margin-top: 40px;
  text-align: center;
}
@media screen and (max-width: 1700px) {
  .con-box03 .img img {
    width: 72.0588235294vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .img img {
    width: 100%;
  }
}
.con-box03 .list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  display: -webkit-flex;
  flex-wrap: nowrap;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  gap: 0 6.35%;
}
.con-box03 .list.list {
  margin-top: 50px;
}
@media screen and (max-width: 1500px) {
  .con-box03 .list {
    max-width: 80vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box03 .list {
    gap: 0 3%;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .list {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 6.6666666667vw 2%;
    max-width: 100%;
    margin-top: 13.3333333333vw;
  }
}
.con-box03 .list .list-item {
  width: 29.1%;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .con-box03 .list .list-item {
    width: 32%;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .list .list-item {
    width: 49%;
  }
}
.con-box03 .list .list-item .thumbnail {
  position: relative;
}
@media screen and (max-width: 1500px) {
  .con-box03 .list .list-item .thumbnail figcaption {
    font-size: 0.9333333333vw;
  }
}
.con-box03 .list .list-item .item-title {
  margin-top: 30px;
  font-size: 28px;
  line-height: 1.4;
}
@media screen and (max-width: 1500px) {
  .con-box03 .list .list-item .item-title {
    margin-top: 2vw;
    font-size: 1.8666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .list .list-item .item-title {
    margin-top: 4vw;
    font-size: 3.4666666667vw;
  }
}
.con-box03 .list .list-item p {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.3;
}
@media screen and (max-width: 1500px) {
  .con-box03 .list .list-item p {
    margin-top: 0.6666666667vw;
    font-size: 0.9333333333vw;
  }
}
@media screen and (max-width: 1200px) {
  .con-box03 .list .list-item p {
    font-size: 1vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .list .list-item p {
    margin-top: 2.6666666667vw;
    font-size: 2.6666666667vw;
  }
}
.con-box03 .text03 {
  margin-top: 140px;
  font-size: 56px;
  text-align: center;
  line-height: 1.3;
}
@media screen and (max-width: 1500px) {
  .con-box03 .text03 {
    margin-top: 9.3333333333vw;
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .text03 {
    margin-top: 18.6666666667vw;
    font-size: 6.6666666667vw;
  }
}
.con-box03 .text04 {
  margin-top: 50px;
  text-align: center;
}
@media screen and (max-width: 1500px) {
  .con-box03 .text04 {
    margin-top: 3.3333333333vw;
  }
}
.con-box03 .text04 .main {
  font-size: 44px;
}
@media screen and (max-width: 1500px) {
  .con-box03 .text04 .main {
    font-size: 2.9333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .text04 .main {
    font-size: 4.3333333333vw;
  }
}
.con-box03 .text04 .main span {
  font-weight: bold;
  color: #7d0000;
}
.con-box03 .text04 .sub {
  margin-top: 15px;
  font-size: 24px;
}
@media screen and (max-width: 1500px) {
  .con-box03 .text04 .sub {
    margin-top: 1vw;
    font-size: 1.6vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .text04 .sub {
    margin-top: 4vw;
    font-size: 3.2vw;
  }
}
.con-box03 .caution {
  max-width: 950px;
  width: 100%;
  margin: 0 auto;
  margin-top: 30px;
}
.con-box03 .caution ul li {
  font-size: 14px;
  line-height: 1.8;
  text-indent: -1.8em;
  text-align: justify;
  text-justify: inter-ideograph;

}
.con-box03 .caution ul li span {
  padding-right: 0.3em;
}
@media screen and (max-width: 1100px) {
  .con-box03 .caution {
    margin-top: 2.9333333333vw;
  }
}
@media screen and (max-width: 930px) {
  .con-box03 .caution {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .caution {
    margin-top: 8vw;
    padding: 0;
  }
}

@media screen and (max-width: 1100px) {
  .con-box03 .caution ul li {
    font-size: 1.2727272727vw;
    text-indent: 0em;
  }
}
@media screen and (max-width: 768px) {
  .con-box03 .caution ul li {
    font-size: 2.9333333333vw;
  }
}

.con-box04 {
  padding-block: 160px;
  background-color: #f2f2f2;
}
@media screen and (max-width: 1500px) {
  .con-box04 {
    padding-block: 10.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box04 {
    padding: 21.3333333333vw 4vw;
  }
}
.con-box04 .list {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  display: -webkit-flex;
  flex-wrap: wrap;
  gap: 70px 75px;
  margin-top: 75px;
}
@media screen and (max-width: 1500px) {
  .con-box04 .list {
    width: 80vw;
    gap: 4.6666666667vw 5vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box04 .list {
    width: 100%;
    gap: 6.6666666667vw 4%;
  }
}
.con-box04 .list .list-item {
  width: 350px;
  background-color: #fff;
}
@media screen and (max-width: 1500px) {
  .con-box04 .list .list-item {
    width: 23.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box04 .list .list-item {
    width: 48%;
  }
}
.con-box04 .list .list-item .img {
  position: relative;
}
@media screen and (max-width: 1500px) {
  .con-box04 .list .list-item .img figcaption {
    font-size: 0.9333333333vw;
  }
}
.con-box04 .list .list-item .item-name {
  margin-top: 35px;
  font-size: 28px;
  text-align: center;
}
@media screen and (max-width: 1500px) {
  .con-box04 .list .list-item .item-name {
    margin-top: 2.3333333333vw;
    font-size: 1.8666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box04 .list .list-item .item-name {
    margin-top: 4.6666666667vw;
    font-size: 4.2666666667vw;
    line-height: 1.3;
  }
}
.con-box04 .list .list-item p {
  margin-top: 15px;
  padding: 0 25px 25px;
  font-size: 16px;
  line-height: 1.75;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 1500px) {
  .con-box04 .list .list-item p {
    margin-top: 1vw;
    padding: 0 1.6666666667vw 1.6666666667vw;
    font-size: 1.0666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box04 .list .list-item p {
    margin-top: 2vw;
    padding: 0 2.6666666667vw 4vw;
    font-size: 3.2vw;
  }
}
.
 .list .list-item p sup {
  font-size: 12px;
  text-align: super;
}
@media screen and (max-width: 1500px) {
  .con-box04 .list .list-item p sup {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box04 .list .list-item p sup {
    font-size: 2.4vw;
  }
}

.con-box05 {
  padding-block: 110px 190px;
}
@media screen and (max-width: 768px) {
  .con-box05 {
    padding: 21.3333333333vw 4vw;
  }
}
.con-box05 .slider {
  position: relative;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  margin-top: 90px;
  padding-inline: 150px;
}
@media screen and (max-width: 1500px) {
  .con-box05 .slider {
    max-width: 1100px;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .slider {
    margin-top: 12vw;
    padding-inline: 16vw;
  }
}
.con-box05 .slider .swiper-slide .img {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  display: -webkit-flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .con-box05 .slider .swiper-slide .img {
    display: block;
    text-align: center;
  }
}
.con-box05 .slider .swiper-slide .item-title {
  margin-top: 30px;
  font-size: 20px;
  text-align: center;
}
@media screen and (max-width: 1100px) {
  .con-box05 .slider .swiper-slide .item-title {
    font-size: 1.8181818182vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .slider .swiper-slide .item-title {
    font-size: 5.3333333333vw;
  }
}
.con-box05 .slider .swiper-prev,
.con-box05 .slider .swiper-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .con-box05 .slider .swiper-prev:hover,
  .con-box05 .slider .swiper-next:hover {
    cursor: pointer;
  }
}
@media screen and (max-width: 1200px) {
  .con-box05 .slider .swiper-prev img,
  .con-box05 .slider .swiper-next img {
    width: 50px;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .slider .swiper-prev img,
  .con-box05 .slider .swiper-next img {
    width: 13.3333333333vw;
  }
}
.con-box05 .slider .swiper-prev {
  left: 100px;
}
@media screen and (max-width: 1500px) {
  .con-box05 .slider .swiper-prev {
    left: 50px;
  }
}
@media screen and (max-width: 1200px) {
  .con-box05 .slider .swiper-prev {
    left: 100px;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .slider .swiper-prev {
    left: 0;
  }
}
.con-box05 .slider .swiper-next {
  right: 100px;
}
@media screen and (max-width: 1500px) {
  .con-box05 .slider .swiper-next {
    right: 50px;
  }
}
@media screen and (max-width: 1200px) {
  .con-box05 .slider .swiper-next {
    right: 100px;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .slider .swiper-next {
    right: 0;
  }
}
.con-box05 .slider .swiper-pagination {
  position: static;
  margin-top: 30px;
}
.con-box05 .slider .swiper-pagination span {
  opacity: 1;
  background-color: #fff;
  border: 1px solid #000;
}
.con-box05 .slider .swiper-pagination span.swiper-pagination-bullet-active {
  background-color: #000;
}
.con-box05 .text {
  margin-top: 60px;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .con-box05 .text {
    margin-top: 5vw;
  }
  .con-box05 .text img {
    width: 73.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .text {
    margin-top: 8vw;
  }
  .con-box05 .text img {
    width: 60vw;
  }
}
.con-box05 .btn {
  margin-top: 100px;
}
.con-box05 .btn p {
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .con-box05 .btn {
    margin-top: 13.3333333333vw;
  }
  .con-box05 .btn p {
    margin-bottom: 15px;
  }
}
.con-box05 .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  gap: 0 15px;
  width: 420px;
  height: 80px;
  margin: 0 auto;
  background-color: #cd9219;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s;
}

@media (hover: none) {
  .con-box05 .btn a:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  .con-box05 .btn a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1500px) {
  .con-box05 .btn a {
    gap: 0 1vw;
    width: 28vw;
    height: 5.3333333333vw;
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .btn a {
    gap: 0 4vw;
    width: 80vw;
    height: 16vw;
    font-size: 4vw;
  }
}
.con-box05 .btn a span {
  font-size: 20px;
}
@media screen and (max-width: 1500px) {
  .con-box05 .btn a span {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .btn a span {
    font-size: 4vw;
  }
}
.con-box05 .btn a::after {
  content: "";
  width: 26px;
  height: 19px;
  background-image: url("../images/icn-outlink.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
@media screen and (max-width: 1500px) {
  .con-box05 .btn a::after {
    width: 1.7333333333vw;
    height: 1.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .btn a::after {
    width: 5.6vw;
    height: 3.7333333333vw;
  }
}
.con-box05 .caution {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  margin-top: 80px;
  font-size: 14px;
  line-height: 2;
}
@media screen and (max-width: 1500px) {
  .con-box05 .caution {
    width: 80vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box05 .caution {
    margin-top: 13.3333333333vw;
    font-size: 2.9333333333vw;
  }
}

.con-box06 {
  padding-block: 200px 90px;
  background-color: #f2f2f2;
}
@media screen and (max-width: 1500px) {
  .con-box06 {
    padding-block: 13.3333333333vw 6vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box06 {
    padding: 21.3333333333vw 4vw;
  }
}
.con-box06 .text01 {
  margin-top: 70px;
  font-size: 20px;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 1500px) {
  .con-box06 .text01 {
    margin-top: 4.6666666667vw;
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box06 .text01 {
    margin-top: 16vw;
    font-size: 3.4666666667vw;
  }
}
.con-box06 .map {
  margin-top: 80px;
  text-align: center;
}
.con-box06 .map img {
  max-width: 1200px;
}
@media screen and (max-width: 1500px) {
  .con-box06 .map {
    margin-top: 5.3333333333vw;
  }
  .con-box06 .map img {
    width: 80vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box06 .map {
    margin-top: 13.3333333333vw;
  }
  .con-box06 .map img {
    width: 100%;
  }
}
.con-box06 .btn {
  margin-top: 70px;
}
@media screen and (max-width: 1500px) {
  .con-box06 .btn {
    margin-top: 4.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box06 .btn {
    margin-top: 13.3333333333vw;
  }
}
.con-box06 .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  gap: 0 15px;
  width: 420px;
  height: 80px;
  margin: 0 auto;
  background-color: #cd9219;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media (hover: none) {
  .con-box06 .btn a:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  .con-box06 .btn a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1500px) {
  .con-box06 .btn a {
    gap: 0 1vw;
    width: 28vw;
    height: 5.3333333333vw;
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box06 .btn a {
    gap: 0 4vw;
    width: 80vw;
    height: 16vw;
    font-size: 4vw;
  }
}
.con-box06 .btn a span {
  font-size: 20px;
}
@media screen and (max-width: 1500px) {
  .con-box06 .btn a span {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box06 .btn a span {
    font-size: 4vw;
  }
}
.con-box06 .btn a::after {
  content: "";
  width: 26px;
  height: 19px;
  background-image: url("../images/icn-outlink.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
@media screen and (max-width: 1500px) {
  .con-box06 .btn a::after {
    width: 1.7333333333vw;
    height: 1.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box06 .btn a::after {
    width: 5.6vw;
    height: 3.7333333333vw;
  }
}
.con-box06 .caution {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  margin-top: 80px;
  font-size: 14px;
  line-height: 2;
}
.con-box06 .caution ul li {
  font-size: 14px;
  line-height: 1.8;
  text-indent: -1em;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 1500px) {
  .con-box06 .caution {
    width: 80vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box06 .caution {
    margin-top: 13.3333333333vw;
    font-size: 2.9333333333vw;
  }
  .con-box06 .caution ul li {
    text-indent: 0em;
    font-size: 2.9333333333vw;
  }
}

.con-box07 .inner {
  position: relative;
  padding-block: 70px;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1500px) {
  .con-box07 .inner {
    padding-block: 4.6666666667vw;
  }
}
@media screen and (max-width: 1240px) {
  .con-box07 .inner {
    padding-left: 35px;
  }
}
@media screen and (max-width: 768px) {
  .con-box07 .inner {
    padding: 13.3333333333vw 4vw 0;
  }
}
.con-box07 .inner ul li {
  font-size: 14px;
  line-height: 2;
  text-indent: -1.2em;
  text-align: justify;
  text-justify: inter-ideograph;
}
.con-box07 .inner ul li span {
  padding-right: 0.1em;
}
@media screen and (max-width: 1500px) {
  .con-box07 .inner ul li {
    font-size: 0.9333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box07 .inner ul li {
    font-size: 2.9333333333vw;
    text-indent: 0em;
  }
}
.con-box07 .inner .img {
  position: absolute;
  bottom: 0;
  right: -320px;
}
@media screen and (max-width: 1500px) {
  .con-box07 .inner .img {
    right: -9.3333333333vw;
  }
  .con-box07 .inner .img img {
    width: 49.6vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box07 .inner .img {
    position: static;
    text-align: right;
  }
  .con-box07 .inner .img img {
    width: 75%;
  }
}

.con-box08 {
  background-color: #666;
}
.con-box08 .inner {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  display: -webkit-flex;
  flex-wrap: nowrap;
  padding-block: 65px;
}

@media screen and (max-width: 1500px) {
  .con-box08 .inner {
    padding-block: 4.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box08 .inner {
    display: block;
    padding: 0 4vw;
  }
}
.con-box08 .btn a {
  width: 420px;
  height: 80px;
  gap: 0 15px;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  margin: 0 auto;
  background-color: #fff;
  color: #666;
  border: 1px solid #fff;
  text-decoration: none;
  font-weight: 600;
  transition: opacity 0.3s;
}
.con-box08 .btn a::after {
  content: "";
  width: 26px;
  height: 19px;
  background-image: url("../images/icn-outlink-gray.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
@media (hover: none) {
  .con-box08 .btn a:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  .con-box08 .btn a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1500px) {
  .con-box08 .btn a {
    gap: 0 1vw;
    width: 28vw;
    height: 5.3333333333vw;
    font-size: 1.3333333333vw;
  }
  .con-box08 .btn a::after {
    width: 1.7333333333vw;
    height: 1.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box08 .btn a {
    gap: 0 4vw;
    width: 80vw;
    height: 16vw;
    font-size: 4vw;
  }
  .con-box08 .btn a::after {
    width: 5.6vw;
    height: 3.7333333333vw;
  }
}
.con-box08 .inner .col {
  width: 600px;
  padding-block: 10px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 1500px) {
  .con-box08 .inner .col {
    width: 40vw;
    padding-block: 0.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box08 .inner .col {
    width: 100%;
    padding: 8vw 0;
  }
}
.con-box08 .inner .col:nth-of-type(1) {
  /* border-right: 1px solid #fff; */
}
@media screen and (max-width: 768px) {
  .con-box08 .inner .col:nth-of-type(1) {
    border-right: none;
    border-bottom: 1px solid #fff;
  }
}
.con-box08 .inner .col .col-headline .main {
  font-size: 28px;
}
@media screen and (max-width: 1500px) {
  .con-box08 .inner .col .col-headline .main {
    font-size: 1.8666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box08 .inner .col .col-headline .main {
    font-size: 4vw;
  }
}
.con-box08 .inner .col .col-headline .sub {
  margin-top: 10px;
  font-size: 16px;
}
@media screen and (max-width: 1500px) {
  .con-box08 .inner .col .col-headline .sub {
    margin-top: 0.6666666667vw;
    font-size: 1.0666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box08 .inner .col .col-headline .sub {
    margin-top: 1.3333333333vw;
    font-size: 3.4666666667vw;
  }
}
.con-box08 .inner .col .tel {
  margin: 25px 0;
  font-size: 40px;
}
@media screen and (max-width: 1500px) {
  .con-box08 .inner .col .tel {
    margin: 1.6666666667vw 0;
    font-size: 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box08 .inner .col .tel {
    margin: 3.3333333333vw 0;
    font-size: 8vw;
  }
}
.con-box08 .inner .col .tel a {
  text-decoration: none;
  color: #fff;
  transition: opacity 0.3s;
}
@media (hover: none) {
  .con-box08 .inner .col .tel a:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  .con-box08 .inner .col .tel a:hover {
    opacity: 0.7;
  }
}

.con-box08 .inner .col .mail {
  margin-top: 25px;
  font-size: 30px;
}
@media screen and (max-width: 1500px) {
  .con-box08 .inner .col .mail {
    margin-top: 1.6666666667vw;
    font-size: 2vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box08 .inner .col .mail {
    margin-top: 3.3333333333vw;
    font-size: 5vw;
  }
}
.con-box08 .inner .col .mail a {
  text-decoration: none;
  color: #fff;
  transition: opacity 0.3s;
}
@media (hover: none) {
  .con-box08 .inner .col .mail a:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  .con-box08 .inner .col .mail a:hover {
    opacity: 0.7;
  }
}

.con-box08 .inner .col p {
  margin-top: 35px;
  font-size: 16px;
  line-height: 2;
}
@media screen and (max-width: 1500px) {
  .con-box08 .inner .col p {
    margin-top: 2.3333333333vw;
    font-size: 1.0666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .con-box08 .inner .col p {
    margin-top: 4.6666666667vw;
    font-size: 3.4666666667vw;
  }
}

#globalFooter {
  padding-block: 60px 70px;
}
@media screen and (max-width: 1500px) {
  #globalFooter {
    padding-block: 4vw 4.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #globalFooter {
    padding: 8vw 4vw;
  }
}
#globalFooter .footer-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  gap: 0 100px;
}
@media screen and (max-width: 1500px) {
  #globalFooter .footer-inner {
    gap: 0 6.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #globalFooter .footer-inner {
    flex-direction: column;
    gap: 2.6666666667vw 0;
  }
}
#globalFooter .footer-inner .col {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  display: -webkit-flex;
  flex-wrap: nowrap;
  gap: 0 40px;
}
@media screen and (max-width: 1500px) {
  #globalFooter .footer-inner .col {
    gap: 0 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #globalFooter .footer-inner .col {
    gap: 0 2.6666666667vw;
  }
}
#globalFooter .footer-inner .col a {
  transition: opacity 0.3s;
}
@media (hover: none) {
  #globalFooter .footer-inner .col a:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  #globalFooter .footer-inner .col a:hover {
    opacity: 0.7;
  }
}
#globalFooter .footer-inner .col .img01 {
  width: 140px;
}
@media screen and (max-width: 1500px) {
  #globalFooter .footer-inner .col .img01 {
    width: 9.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #globalFooter .footer-inner .col .img01 {
    width: 32vw;
  }
}
#globalFooter .footer-inner .col .img02 {
  width: 120px;
}
@media screen and (max-width: 1500px) {
  #globalFooter .footer-inner .col .img02 {
    width: 8vw;
  }
}
@media screen and (max-width: 768px) {
  #globalFooter .footer-inner .col .img02 {
    width: 26.6666666667vw;
  }
}
#globalFooter .footer-inner .col .img03 {
  width: 240px;
}
@media screen and (max-width: 1500px) {
  #globalFooter .footer-inner .col .img03 {
    width: 16vw;
  }
}
@media screen and (max-width: 768px) {
  #globalFooter .footer-inner .col .img03 {
    width: 58.6666666667vw;
  }
}
#globalFooter .footer-inner .col .col-headline {
  font-size: 16px;
}
@media screen and (max-width: 1500px) {
  #globalFooter .footer-inner .col .col-headline {
    font-size: 1.0666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #globalFooter .footer-inner .col .col-headline {
    font-size: 3.4666666667vw;
  }
}
#globalFooter .copyright {
  margin-top: 50px;
  text-align: center;
  font-size: 14px;
}
@media screen and (max-width: 1500px) {
  #globalFooter .copyright {
    margin-top: 3.3333333333vw;
    font-size: 0.9333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #globalFooter .copyright {
    margin-top: 6.6666666667vw;
    font-size: 3.2vw;
  }
}

.empty-room {
  position: fixed;
  z-index: 5;
  bottom: 100px;
  right: 15px;
  transition: opacity 0.3s;
}
@media (hover: none) {
  .empty-room:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  .empty-room:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1200px) {
  .empty-room {
    bottom: 13.3333333333vw;
    right: 1.25vw;
  }
  .empty-room img {
    width: 11.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .empty-room {
    bottom: 42.6666666667vw;
    right: 5.3333333333vw;
  }
  .empty-room img {
    width: 18.6666666667vw;
  }
}

.to-top {
  position: fixed;
  z-index: 20;
  right: 40px;
  bottom: 15px;
  transition: opacity 0.3s;
}
@media (hover: none) {
  .to-top:active {
    opacity: 0.7;
  }
}
@media (hover: hover) {
  .to-top:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1200px) {
  .to-top {
    right: 3.9166666667vw;
    bottom: 4.1666666667vw;
  }
  .to-top img {
    width: 6.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .to-top {
    right: 9.3333333333vw;
    bottom: 24vw;
  }
  .to-top img {
    width: 10.6666666667vw;
  }
}
