@charset "UTF-8";

/*☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

Parts

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*/
:root {
  --white: #FFFFFF;
  --orange: #F09C05;
  --brown: #553629;
  --light-brown: #F5F0E7;
  --light-brown-secondary: #A89274;
  --light-green: #A4C700;
  --red: #FF491D;
  --black: #333333;
}
img { max-width: 100%; height: auto; vertical-align: bottom; }

/*===================================================================================
通常レイアウト
===================================================================================*/
.d-block { display: block; }
.d-inline { display: inline; }
.d-inline-block { display: inline-block; }
@media screen and (min-width: 600px) {
  .pc_d-block { display: block; }
}
@media screen and (max-width: 599px) {
  .sp_d-block { display: block; }
}

/*===================================================================================
Grid Layout（グリッドレイアウト）
===================================================================================*/
.d-grid { display: grid; }
.gtc-fill-380px-1fr { grid-template-columns: repeat(auto-fill, minmax(min(380px, 100%), 1fr)); }
.gtc-50per-25per-50px { grid-template-columns: 50% 25% 50px; }
.g-ai-center { align-items: center; }
.g-clm-gap40px { column-gap: 40px; }
.g-row-gap30px { row-gap: 30px; }
.g-gap30px-60px { gap: clamp(30px, 2vw, 60px); }
.g-gap20px { gap: 20px; }
.g-gap30px { gap: 30px; }
@media screen and (min-width: 600px) {
  .pc_d-grid { display: grid; }
  .pc_gtc-2clm { grid-template-columns: repeat(2, 1fr); }
  .pc_gtc-3clm { grid-template-columns: repeat(3, 1fr); }
  .pc_gtc-4clm { grid-template-columns: repeat(4, 1fr); }
  .pc_gtr-2row { grid-template-rows: 1fr 1fr; }
  .pc_g-gap30px { gap: 30px; }
}
@media screen and (max-width: 599px) {
  .sp_gtc-1clm { grid-template-columns: 1fr; }
}

/*===================================================================================
Flexbox（フレックスボックス）
===================================================================================*/
.d-flex { display: flex; }
.fd-column { flex-direction: column; }
.jc-between { justify-content: space-between; }
.ai-center { align-items: center; }
.f-gap60px { gap: 60px; }
@media screen and (min-width: 600px) {
  .pc_d-flex { display: flex; }
  .pc_fw-wrap { flex-wrap: wrap; }
  .pc_jc-between { justify-content: space-between; }
  .pc_f-gap30px { gap: 30px; }
}
@media screen and (max-width: 599px) {
  .sp_fd-column { flex-direction: column; }
}

/*===================================================================================
width（横幅）
===================================================================================*/
.min-w60px { min-width: 60px; }
.min-w150px { min-width: 150px; }
.w20px { width: 20px; }
.w30px { width: 30px; }
.w50px { width: 50px; }
@media screen and (min-width: 600px) {
  .pc_w580px { width: 580px; }
  .pc_w790px { width: 790px; }
  .pc_w47per { width: 47%; }
  .pc_w50per { width: 50%; }
  .pc_w60per { width: 60%; }
  .pc_w65per { width: 65%; }
}

/*===================================================================================
height（縦幅）
===================================================================================*/
.min-h60px { min-height: 60px; }
.h50px { height: 50px; }
.h60px { height: 60px; }

/*===================================================================================
margin
===================================================================================*/
/* margin-top */
.mtauto { margin-top: auto; }
.mt5px { margin-top: 5px; }
.mt10px { margin-top: 10px; }
.mt15px { margin-top: 15px; }
.mt20px { margin-top: 20px; }
.mt25px { margin-top: 25px; }
.mt30px { margin-top: 30px; }
.mt35px { margin-top: 35px; }
.mt40px { margin-top: 40px; }
.mt45px { margin-top: 45px; }
.mt50px { margin-top: 50px; }
.mt55px { margin-top: 55px; }
.mt60px { margin-top: 60px; }
.mt65px { margin-top: 65px; }
.mt70px { margin-top: 70px; }
.mt75px { margin-top: 75px; }
.mt80px { margin-top: 80px; }
/* margin-right */
.mr5px { margin-right: 5px; }
.mr10px { margin-right: 10px; }
.mr15px { margin-right: 15px; }
.mr20px { margin-right: 20px; }
.mr25px { margin-right: 25px; }
.mr30px { margin-right: 30px; }
/* margin-bottom */
.mb5px { margin-bottom: 5px; }
.mb10px { margin-bottom: 10px; }
.mb20px { margin-bottom: 20px; }
.mb30px { margin-bottom: 30px; }
/* margin-left */
.ml5px { margin-left: 5px; }
.ml10px { margin-left: 10px; }
.ml20px { margin-left: 20px; }
.ml30px { margin-left: 30px; }
@media screen and (min-width: 600px) {
  /* margin-left */
  .pc_ml5px { margin-left: 15px; }
  .pc_ml10px { margin-left: 10px; }
}
@media screen and (max-width: 599px) {
  /* margin-top */
  .sp_mt10 { margin-top: 10px; }
  /* margin-bottom */
  .sp_mb20px { margin-bottom: 20px; }
}

/*===================================================================================
padding（パディング）
===================================================================================*/
.pd5px { padding: 5px; }
.pd10px { padding: 10px; }
.pd15px { padding: 15px; }
.pd20px { padding: 20px; }
.pd25px { padding: 25px; }
.pd30px { padding: 30px; }
.pd35px { padding: 35px; }
.pd40px { padding: 40px; }
.pd45px { padding: 45px; }
.pd50px { padding: 50px; }
/* top */
.pt5px { padding-top: 5px; }
.pt10px { padding-top: 10px; }
.pt15px { padding-top: 15px; }
.pt20px { padding-top: 20px; }
.pt25px { padding-top: 25px; }
.pt30px { padding-top: 30px; }
.pt35px { padding-top: 35px; }
.pt40px { padding-top: 40px; }
.pt45px { padding-top: 45px; }
.pt50px { padding-top: 50px; }
.pt55px { padding-top: 55px; }
.pt60px { padding-top: 60px; }
.pt65px { padding-top: 65px; }
.pt70px { padding-top: 70px; }
.pt75px { padding-top: 75px; }
.pt80px { padding-top: 80px; }
.pt100px { padding-top: 100px; }
.pt200px { padding-top: 200px; }
/* bottom */
.pb5px { padding-bottom: 5px; }
.pb10px { padding-bottom: 10px; }
.pb15px { padding-bottom: 15px; }
.pb20px { padding-bottom: 20px; }
.pb25px { padding-bottom: 25px; }
.pb30px { padding-bottom: 30px; }
.pb35px { padding-bottom: 35px; }
.pb40px { padding-bottom: 40px; }
.pb45px { padding-bottom: 45px; }
.pb50px { padding-bottom: 50px; }
.pb55px { padding-bottom: 55px; }
.pb60px { padding-bottom: 60px; }
.pb65px { padding-bottom: 65px; }
.pb70px { padding-bottom: 70px; }
.pb75px { padding-bottom: 75px; }
.pb80px { padding-bottom: 80px; }
.pb100px { padding-bottom: 100px; }

/* left */
.pl5px { padding-left: 5px; }
.pl10px { padding-left: 10px; }
.pl15px { padding-left: 15px; }
.pl20px { padding-left: 20px; }
.pl25px { padding-left: 25px; }
.pl30px { padding-left: 30px; }
.pl35px { padding-left: 35px; }
.pl40px { padding-left: 40px; }
.pl45px { padding-left: 45px; }
.pl50px { padding-left: 50px; }
.pl55px { padding-left: 55px; }
.pl60px { padding-left: 60px; }
.pl65px { padding-left: 65px; }
.pl70px { padding-left: 70px; }
.pl75px { padding-left: 75px; }
.pl80px { padding-left: 80px; }
.pl85px { padding-left: 85px; }
.pl90px { padding-left: 90px; }
.pl95px { padding-left: 95px; }
.pl100px { padding-left: 100px; }

.pl10per { padding-left: 10%; }
.pl20per { padding-left: 20%; }
.pl30per { padding-left: 30%; }
.pl40per { padding-left: 40%; }
.pl50per { padding-left: 50%; }

.pl1em { padding-left: 1em; }
.pl1\.5em { padding-left: 1.5em; }
.pl2em { padding-left: 2em; }
.pl3em { padding-left: 3em; }
.pl4em { padding-left: 4em; }
.pl5em { padding-left: 5em; }

.pl1rem { padding-left: 1rem; }
.pl2rem { padding-left: 2rem; }
.pl3rem { padding-left: 3rem; }
.pl4rem { padding-left: 4rem; }
.pl5rem { padding-left: 5rem; }

/* right */
.pr5px { padding-right: 5px; }
.pr10px { padding-right: 10px; }
.pr15px { padding-right: 15px; }
.pr20px { padding-right: 20px; }
.pr25px { padding-right: 25px; }
.pr30px { padding-right: 30px; }
.pr35px { padding-right: 35px; }
.pr40px { padding-right: 40px; }
.pr45px { padding-right: 45px; }
.pr50px { padding-right: 50px; }
.pr55px { padding-right: 55px; }
.pr60px { padding-right: 60px; }
.pr65px { padding-right: 65px; }
.pr70px { padding-right: 70px; }
.pr75px { padding-right: 75px; }
.pr80px { padding-right: 80px; }
.pr85px { padding-right: 85px; }
.pr90px { padding-right: 90px; }
.pr95px { padding-right: 95px; }
.pr100px { padding-right: 100px; }

.pr10per { padding-right: 10%; }
.pr20per { padding-right: 20%; }
.pr30per { padding-right: 30%; }
.pr40per { padding-right: 40%; }
.pr50per { padding-right: 50%; }

.pr1em { padding-right: 1em; }
.pr1\.5em { padding-right: 1.5em; }
.pr2em { padding-right: 2em; }
.pr3em { padding-right: 3em; }
.pr4em { padding-right: 4em; }
.pr5em { padding-right: 5em; }

.pr1rem { padding-right: 1rem; }
.pr2rem { padding-right: 2rem; }
.pr3rem { padding-right: 3rem; }
.pr4rem { padding-right: 4rem; }
.pr5rem { padding-right: 5rem; }
@media screen and (min-width: 600px) {
  .pc_pd5px { padding: 5px; }
  .pc_pd10px { padding: 10px; }
  .pc_pd15px { padding: 15px; }
  .pc_pd20px { padding: 20px; }
  .pc_pd25px { padding: 25px; }
  .pc_pd30px { padding: 30px; }
  .pc_pd35px { padding: 35px; }
  .pc_pd40px { padding: 40px; }
  .pc_pd45px { padding: 45px; }
  .pc_pd50px { padding: 50px; }
  .pc_pl5px { padding-left: 5px; }
  .pc_pl10px { padding-left: 10px; }
  .pc_pl20px { padding-left: 20px; }
  .pc_pl30px { padding-left: 30px; }
}
@media screen and (max-width: 599px) {
  .sp_pd5px { padding: 5px; }
  .sp_pd10px { padding: 10px; }
  .sp_pd15px { padding: 15px; }
  .sp_pd20px { padding: 20px; }
  .sp_pd25px { padding: 25px; }
  .sp_pd30px { padding: 30px; }
  .sp_pd35px { padding: 35px; }
  .sp_pd40px { padding: 40px; }
  .sp_pd45px { padding: 45px; }
  .sp_pd50px { padding: 50px; }
}

/*===================================================================================
color
===================================================================================*/
.col-white, .col-white-ul .item::before, .col-white-dl .item::before { color: var(--white); }
.col-brown, .col-brown-ul .item::before, .col-brown-dl .item::before { color: var(--brown); }
.col-orange, .col-orange-ul .item::before, .col-orange-dl .item::before { color: var(--orange); }
.col-light-green, .col-light-green-ul .item::before, .col-light-green-dl .item::before { margin-right: 0.5em; color: var(--light-green); }
.col-red { color: var(--red); }

/*===================================================================================
font-size
===================================================================================*/
.fs16px { font-size: 16px; }
.fs16px { font-size: 16px; }
.fs17px { font-size: 17px; }
.fs18px { font-size: 18px; }
.fs19px { font-size: 19px; }
.fs20px { font-size: 20px; }
.fs21px { font-size: 21px; }
.fs22px { font-size: 22px; }
.fs23px { font-size: 23px; }
@media screen and (min-width: 600px) {
  .pc_fs22px { font-size: 22px; }
}
@media screen and (max-width: 599px) {
  .sp_fs19px { font-size: 19px; }
}

/*===================================================================================
font-weight
===================================================================================*/
.fw400 { font-weight: 400; }
.fw700 { font-weight: 700; }

/*===================================================================================
writing-mode
===================================================================================*/
.wm-rl { writing-mode: vertical-rl; }

/*===================================================================================
インデント（text-indent）
===================================================================================*/
.ti-m1\.5em { text-indent: -1.5em; }

/*===================================================================================
background-color
===================================================================================*/
.bg1col-white { background-color: var(--white); }
.bgcol-brown { background-color: var(--brown); }
.bgcol-light-brown { background-color: var(--light-brown); }
.bgcol-light-green { background-color: var(--light-green); }
.bgcol-light-green-secondary { background-color: var(--light-green-secondary); }
.bgcol-lightorange { background-color: #ffe2ab; }

/*===================================================================================
border
===================================================================================*/
.bod1px-brown { border: 1px solid var(--brown); }
.bod-none { border: none; }

/*===================================================================================
text-align
===================================================================================*/
.ta-center { text-align: center; }
.ta-left { text-align: left; }
.ta-right { text-align: right; }
@media screen and (min-width: 600px) {
  .pc_ta-right { text-align: right; }
}

/*===================================================================================
text-decoration
===================================================================================*/
.td-underline { text-decoration: underline; }
.td-dotted { text-decoration: dotted; }
.td-double { text-decoration: double; }

/*===================================================================================
headline
===================================================================================*/
h1, h2, h3, h4 { line-height: 1.2; }
.brown-icon::before { content: ""; display: inline-block; background: url(images/icon_title.png) no-repeat top center / 30px 30px; width: 30px; height: 30px; }

/*===================================================================================
button
===================================================================================*/
.button01 { display: inline-block; max-width: 360px; width: 100%; padding: 1.5em; color: #FFF; background-color: var(--brown); border: 1px solid var(--brown); line-height: 1; transition: .3s ease-out; }
@media (hover: hover) {
  .button01:hover { color: var(--brown); background-color: #FFF; }
}
.button02 { display: block; padding: 1em; color: #FFF; background-color: var(--brown); border: 1px solid var(--brown); line-height: 1; transition: .3s ease-out; }

/*===================================================================================
table
===================================================================================*/
.table01 { border-collapse: collapse; width: 100%; }
.table01 th, .table01 td { padding: 1em; border: 1px solid #000; }
.table01 th { color: var(--white); background-color: var(--light-brown-secondary); }
@media screen and (max-width: 599px) {
  .table01 th, .table01 td { display: block; }
  .table01 th, .table01 td { border-top: none; }
  .table01 tr:nth-of-type(1) th { border-top: 1px solid #000; }
}

.table02 { border-collapse: collapse; width: 100%; }
.table02 th, .table02 td { padding: 1em; border: 1px solid #000; }
.table02 th { color: var(--white); background-color: var(--light-brown-secondary); }

.table03 { border-collapse: collapse; width: 100%; }
.table03 th, .table03 td { padding: 1em; border: 1px solid #000; }
.table03 th { color: var(--white); background-color: var(--light-brown-secondary); }
@media screen and (max-width: 599px) {
  .table03 th, .table03 td { padding: 1em 0.2em; font-size: 14px; }
}



/*☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

Costom

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆*/
/*===================================================================================
ヘッダー
===================================================================================*/
@media screen and (min-width: 600px) {
  header .rig{ margin-top: 25px; margin-left: 15px; }
}
@media screen and (max-width: 599px) {
  #headerSp .fbCom1 div:nth-of-type(1) { width: 60%; }
  #headerSp .fbCom1 div:nth-of-type(2) { width: 40%; }
}

/*===================================================================================
トップ
===================================================================================*/
.trk3 { top: 470px; right: -60px; }

/*===================================================================================
多焦点レンズ
===================================================================================*/
.tashoten_eye-distance__body .text { width: calc(100% - 85px); color: var(--white); font-size: 1rem; }

/*===================================================================================
動画埋込レスポンシブ
===================================================================================*/
div.vid_contents {
width: 100%;/*背景色を横幅いっぱいに広げる*/
text-align: center;
padding: 4% 4% 4% 4%;/*ここで動画の周りの余白を調整*/
/*background-color: var(--light-brown);*//*余白の背景色*/
}
video.vid_main {
width: 100%;
max-width: 1100px;/*PC版での最大幅*/
}

video  {
  vertical-align: bottom;
}
