@charset "utf-8";

/* ----------------------------------------------------------
    リセット / 新要素設定
------------------------------------------------------------- */
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, p, blockquote, pre, code, form, fieldset, legend, table, th, td, caption, a, article, aside, nav, section, figure, figcaption, footer, header, main, audio, canvas, video, menu, details {
    margin: 0;
    padding: 0;
    background: transparent;
    font-size: 100%;
    vertical-align: baseline;
}
fieldset, legend, img { border: 0; }
article, aside, nav, section, figure, figcaption, footer, header, main, menu, details { display: block; }
video, audio, canvas {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}
audio:not([controls]) { display: none; }
[hidden] { display: none; }

/* ----------------------------------------------------------
    ベース
------------------------------------------------------------- */
html {
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}
body {
    background: #fff;
    color: #222;
    font: 14px/1.4 Helvetica, Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
    -moz-font-feature-settings: "pkna";
    -webkit-font-feature-settings: "pkna";
    font-feature-settings: "pkna";
    letter-spacing: .01em;
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
}

/* ----------------------------------------------------------
    要素
------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    max-height: 100%;
    font-weight: normal;
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    line-height: 1.2;
    color: #222;
}
p {
    max-height: 100%;
    margin: 0 0 1em;
}
ul {
    max-height: 100%;
    list-style: none;
}
ol {
    max-height: 100%;
    list-style: none;
}
dt {
    max-height: 100%;
    font-weight: bold;
}
dd { max-height: 100%; }
hr {
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ccc;
}
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}
pre {
    font-family: monospace, serif;
    white-space: pre-wrap;
    word-wrap: break-word;
}

figure { margin: 0 0 1em; }

a { color: #04c; }
a:link, a.visited { text-decoration: underline; }
a:hover, a.active { text-decoration: none; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

img { vertical-align: middle; }

address, cite, em, dfn, i, var { font-style: normal; }
em { font-weight: bold; }
strong, b { font-weight: bold; }
code, samp, kbd { font-family: monospace, sans-serif; }
abbr {
    border: 0;
    font-variant: normal;
}
abbr[title], dfn[title] {
    cursor: help;
    border-bottom: 1px dotted;
}
sup { vertical-align: text-top; }
sub { vertical-align: text-bottom; }
del { text-decoration: line-through; }
mark {
    background-color: #ff0;
    color: #333;
    font-style: italic;
    font-weight: bold;
}
br { *letter-spacing: 0; }


table {
    border-collapse: collapse;
    border-spacing: 0;
}
th, td {
    font-weight: normal;
    text-align: left;
}
th { font-weight: bold; }
caption {
    font-weight: normal;
    text-align: left;
}

/* ----------------------------------------------------------
    フォーム系
------------------------------------------------------------- */
input, textarea, select {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    *font-size: 14px;
}
input, button {
    line-height: normal;
    vertical-align: middle;
}

input[type=text],
input[type=password],
textarea {
    width : 380px ;
    padding: 5px;
    background: #fff;
    border: 1px solid #ddd;
    -moz-box-shadow: inset 3px 3px 0 0 rgba(0,0,0,0.03);
    -webkit-box-shadow: inset 3px 3px 0 0 rgba(0,0,0,0.03);
    box-shadow: inset 3px 3px 0 0 rgba(0,0,0,0.03);
}
input[type=text]:focus,
input[type=password]:focus,
textarea:focus { border: 1px solid #209dd9; }

input[type=button] { cursor: pointer; }

.box__ttl input[type=button] {
    margin-right: 5px;
    height: 26px;
    line-height: 26px;
}

input[type=submit] {
    padding: 5px 8px;
    cursor: pointer;
}

input[type=checkbox] { cursor: pointer; }

input[type=submit]:disabled,
input[type=button]:disabled,
input[type=checkbox]:disabled { cursor: default; }

textarea {
    width : 410px ;
    overflow: auto;
    vertical-align: top;
}
select {
    padding: 2px;
    line-height: normal;
    background: #fff;
}
label { cursor: pointer; }
legend {
    *margin-left: -7px;
    color: #333;
}

/* ----------------------------------------------------------
    汎用
------------------------------------------------------------- */
/* マージン系 */
.m0 { margin: 0 !important; }
.m5 { margin: 5px !important; }
.m10 { margin: 10px !important; }
.m15 { margin: 15px !important; }
.m20 { margin: 20px !important; }
.m25 { margin: 25px !important; }
.m30 { margin: 30px !important; }
.m35 { margin: 35px !important; }
.m40 { margin: 40px !important; }
.m44 { margin: 44px !important; }
.m40 { margin: 40px !important; }
.mt0 { margin-top: 0 !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; }
.mb0 { margin-bottom: 0 !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; }
.ml0 { margin-left: 0 !important; }
.ml5 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }
.mr0 { margin-right: 0 !important; }
.mr5 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }

/* パディング系 */
.p0 { padding: 0 !important; }
.p5 { padding: 5px !important; }
.p10 { padding: 10px !important; }
.p15 { padding: 15px !important; }
.p20 { padding: 20px !important; }
.p25 { padding: 25px !important; }
.p30 { padding: 30px !important; }
.p35 { padding: 35px !important; }
.p40 { padding: 40px !important; }
.p45 { padding: 45px !important; }
.p50 { padding: 50px !important; }
.pt0 { padding-top: 0 !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; }
.pb0 { padding-bottom: 0 !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; }
.pl0 { padding-left: 0 !important; }
.pl5 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
.pl50 { padding-left: 50px !important; }
.pr0 { padding-right: 0 !important; }
.pr5 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pr45 { padding-right: 45px !important; }
.pr50 { padding-right: 50px !important; }

/* 幅指定(%) */
.w5per { width: 5% !important; }
.w10per { width: 10% !important; }
.w15per { width: 15% !important; }
.w20per { width: 20% !important; }
.w25per { width: 25% !important; }
.w30per { width: 30% !important; }
.w35per { width: 35% !important; }
.w40per { width: 40% !important; }
.w45per { width: 45% !important; }
.w50per { width: 50% !important; }
.w55per { width: 55% !important; }
.w60per { width: 60% !important; }
.w65per { width: 65% !important; }
.w70per { width: 70% !important; }
.w75per { width: 75% !important; }
.w80per { width: 80% !important; }
.w85per { width: 85% !important; }
.w90per { width: 90% !important; }
.w95per { width: 95% !important; }
.w100per { width: 100% !important; }

/* フロート */
.fl { float: left !important; }
.fr { float: right !important; }

/* テキスト系 */
.tal { text-align: left !important; }
.tar { text-align: right !important; }
.tac { text-align: center !important; }
.breakAll { word-break: break-all !important; }

/* 表示系 */
.dispN { display: none !important; }
.dispI { display: inline !important; }
.dispIB { display: inline-block !important; }
.dispB { display: block !important; }
.dispF { display: flex !important; }

/* フォント系 */
.fontNormal { font-weight: normal !important; }
.fontBold { font-weight: bold !important; }
.font10 { font-size: 10px !important; }
.font12 { font-size: 12px !important; }
.font14 { font-size: 14px !important; }

/* カラー系 */
.colorBlack { color: #000; }

/* Clearfix */
.clear, .cf { clear: both; }
.clearfix:before, .clearfix:after,
.cf:before, .cf:after {
    content: " ";
    display: table;
}
.clearfix:after, .cf:after { clear: both; }
.clearfix, .cf { *zoom: 1; }

/* ボタンを囲うclassタグ */
.button_box {
	clear : both ;
	padding : 8px ;
	text-align : center ;
}

/* 左詰の文字を表示するためのclassタグ */
.left_txt {
	text-align : left;
}

/* 説明文を表示するためのタグ */
#txt_explain {
	color: #000000;
}

/* ----------------------------------------------------------
    メインコンテンツ
------------------------------------------------------------- */
#wrapper {
    width : 720px ;
    margin: 20px auto 0;
    -webkit-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
    background : #ffffff;
    border-left : 1px solid #b3b3b3 ;
    border-right : 1px solid #b3b3b3 ;
    border-bottom : 1px solid #b3b3b3 ;
}

#header { padding: 40px 25px 40px; }

.red_txt {
    color: #ff3333;
}

/* 説明文を表示するためのタグ */
#txt_explain {
    color: #000000;
}

#footer {
    margin-top: 40px;
    padding: 15px 0;
    background: #222;
    color: #fff;
    text-align: center;
    font-size: 12px;
}

#main { padding: 25px; }

.section { margin-bottom: 40px; }
.section:last-child { margin-bottom: 0; }
.section__ttl {
    padding: 10px;
    margin-bottom: 20px;
    font-weight: bold;
    color:#fff;
    background : #ff6600;
    
    font-size: 18px;
}
.section__body { padding: 0 30px; }

.block { margin-bottom: 15px; }
.block:last-child { margin-bottom: 0; }
.block__ttl {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
}
.block__body {}

.table {
    width: 100%;
    margin-bottom: 15px;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}
.table th {
    padding: 15px;
    background : #444444;
    color: #ffffff;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    font-weight: bold;
    font-size: 13px;
}
.table td {
    padding: 15px;
    background: #fff;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    color: #222;
    font-size: 13px;
}

/* base */
@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html,
body {
  height: 100%;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

/* input,
button,
textarea,
select {
  font: inherit;
} */

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}

ul,
ol {
  list-style: none;
  padding: 0;
}

html,
body {
  height: 100%;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

img {
  display: block;
  max-width: 100%;
  width: 100%;
}

/* input,
button,
textarea,
select {
  font: inherit;
} */

img:not([alt]) {
  filter: blur(10px);
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

/*** The new CSS reset - version 1.5.1 (last updated 1.3.2022) ***/
*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  /*all: unset;
  display: revert*/
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a,
button {
  cursor: revert;
}

ol,
ul,
menu {
  list-style: none;
}

ul,
li {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
}

table {
  border-collapse: collapse;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* input,
button,
select,
textarea {
  font: inherit;
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
} */

/* textarea {
  resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
} */

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

@media screen and (max-width: 1025px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
html {
  font-size: 16px;
}

body {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

a {
  text-decoration: none;
  color: #1A1311;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 1;
}

.footer-nav__item--link,
.header-nav__link {
  position: relative;
  padding-bottom: 5px;
}

.footer-nav__item--link::after,
.header-nav__link::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #000000;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: right top;
  /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
  transition: transform 0.3s;
  /*変形の時間*/
}

.footer-nav__item--link:hover::after,
.header-nav__link:hover::after {
  transform: scale(1, 1);
  /*ホバー後、x軸方向に1（相対値）伸長*/
  transform-origin: left top;
  /*左から右に向かう*/
}

.scroll-down__area {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 90px;
  height: 140px;
  margin-inline: auto;
  margin-top: -60px;
}

.scroll-down__text {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  z-index: 2;
  text-align: center;
}

.scroll-down__area:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
}

.scroll-down__area a {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 13px;
  padding: 10px 10px 110px;
  color: #C62D12;
  font-size: 14px;
  font-family: "Josefin Sans", sans-serif;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: 0.2s;
  overflow: hidden;
  margin: auto;
}

.scroll-down__area a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 100px;
  background: #ddd;
}

.scroll-down__area a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: 100px;
  background: #C62D12;
}

.scroll-down__area a:hover {
  opacity: 0.5;
}

#type01 a:after {
  animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.header {
  height: 95px;
}
@media screen and (max-width: 1024px) {
  .header {
    height: 80px;
  }
}

.header__inner {
  padding: 30px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .header__inner {
    padding: 22px 0 22px 30px;
  }
}

.header__logo {
  max-width: 136px;
}

.header-nav {
  display: flex;
  align-items: center;
  gap: 20px;
}

.header-nav__list {
  display: flex;
  gap: 20px;
}

.header-nav__link {
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #1A1311;
  text-decoration: none;
}
.header-nav__link .arrow {
  padding-left: 10px;
  top: -5px;
}

.header-nav__contact--link {
  display: block;
  background-color: #C62D12;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 900;
  color: #fff;
  padding: 7px 27px;
  text-decoration: none;
  text-align: center;
  border-radius: 50px;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: 0.5s;
  box-sizing: border-box;
}
.header-nav__contact--link:hover {
  transition: 0.5s;
  background-color: #F5F4F0;
}
.header-nav__contact--link:hover .header-nav__contact--text {
  transition: 0.5s;
  color: #C62D12;
}
.header-nav__contact--link:hover .ori {
  transition: 0.5s;
  fill: #F5F4F0;
}
.header-nav__contact--link:hover .kami {
  transition: 0.5s;
  fill: #C62D12;
}

.humbarger-box {
  position: absolute;
  z-index: 99;
  right: 0;
  top: 0;
}

.header__nav-area__inner .inside-menu__item .inside-menu__item-link {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__nav-area__inner .inside-menu__item .arrow {
  display: block;
}
.header__nav-area__inner .header-nav__contact--link {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* footer */
.footer {
  background-color: #F5F4F0;
}

.footer__inner {
  max-width: 1140px;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}

.footer__contents {
  padding-top: 120px;
  padding-bottom: 120px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .footer__contents {
    flex-direction: column-reverse;
  }
}

.footer-info {
  max-width: 283px;
}
@media screen and (max-width: 1024px) {
  .footer-info {
    padding-top: 140px;
    max-width: 100%;
    margin-inline: auto;
  }
}

.footer-info__details-text {
  display: block;
  padding-top: 40px;
  font-family: "Zen Old Mincho", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .footer-info__details-text {
    text-align: center;
  }
}

.footer-nav {
  max-width: 510px;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .footer-nav {
    max-width: 100%;
    margin-inline: auto;
  }
}

.footer-nav__list {
  display: flex;
  gap: 30px;
  padding-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  .footer-nav__list {
    gap: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    row-gap: 10px;
  }
}

@media screen and (max-width: 1024px) {
  .footer-nav__item {
    width: 30%;
    text-align: center;
  }
  .footer-nav__item:first-child {
    width: 100%;
  }
}

.footer-nav__item--link {
  font-family: "Zen Old Mincho", serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-decoration: none;
  color: #1A1311;
}
.footer-nav__item--link .arrow {
  padding-left: 10px;
  top: -5px;
}

@media screen and (max-width: 1024px) {
  .footer-nav__contact {
    margin-top: -230px;
  }
}

.footer-nav__contact--link {
  display: block;
  background-color: #C62D12;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: #fff;
  padding: 15px 40px;
  text-decoration: none;
  text-align: center;
  border: 1px solid #C62D12;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  transition: 0.5s;
}
.footer-nav__contact--link:hover {
  transition: 0.5s;
  background-color: #F5F4F0;
}
.footer-nav__contact--link:hover .footer-nav__contact--text {
  transition: 0.5s;
  color: #C62D12;
}
.footer-nav__contact--link:hover .ori {
  transition: 0.5s;
  fill: #F5F4F0;
}
.footer-nav__contact--link:hover .kami {
  transition: 0.5s;
  fill: #C62D12;
}
@media screen and (max-width: 1024px) {
  .footer-nav__contact--link {
    border-radius: 10px;
  }
}

.footer-nav__contact--text .pc {
  display: inline-block !important;
}
@media screen and (max-width: 1024px) {
  .footer-nav__contact--text .pc {
    display: none !important;
  }
}

.footer__bottom {
  border-top: 1px solid #DEDDDA;
  padding-top: 30px;
  padding-bottom: 30px;
}

.copyright {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
}

.hamburger {
  display: block;
  width: 80px;
  height: 80px;
  margin-left: auto;
  position: relative;
  z-index: 10;
  border: none;
  background-color: #1A1311;
}

.hamburger.-active .hamburger__line {
  background-color: transparent;
}

.hamburger.-active .hamburger__line::before {
  top: 0;
  transform: rotate(45deg);
}

.hamburger.-active .hamburger__line::after {
  top: 0;
  transform: rotate(-45deg);
}

.hamburger__label {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 9px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #fff;
  font-weight: 600;
  content: "";
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hamburger__line {
  height: 1px;
  position: absolute;
  top: 35px;
  /* 中央位置 */
  left: 50%;
  transform: translateX(-50%);
  width: 26px;
  background-color: #fff;
  /* 見えなくする */
  transition: 0.4s;
  z-index: 999;
}

.hamburger__line:before,
.hamburger__line:after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  background-color: #fff;
  transition: inherit;
}

.hamburger.-active .hamburger__line:before,
.hamburger.-active .hamburger__line:after {
  background-color: #fff;
}

.cart__svg.-active path,
.cart__svg.-active circle {
  stroke: #1A1311;
}

.hamburger__line:before {
  top: -6px;
}

.hamburger__line:after {
  top: 6px;
}

.header__nav-area {
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 9;
  width: 100%;
  visibility: hidden;
  background-color: #fff;
  transition: 0.4s;
  border-left: 1px solid #DCE3E7;
  height: 100vh;
}

.header__nav-area__inner {
  margin: 95px 0 80px;
  height: calc(100vh - 140px);
}
@media screen and (max-width: 1024px) {
  .header__nav-area__inner {
    margin: 80px 0;
  }
}

.header__nav-area.-active {
  right: 0;
  visibility: visible;
  max-height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.header__nav-area--logo {
  position: absolute;
  left: 30px;
  top: 31px;
}

.header__nav-area__product-list {
  width: 100%;
  max-height: 300px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  border-top: 1px solid #DCE3E7;
  border-bottom: 1px solid #DCE3E7;
}

.header__nav-area__product-item {
  width: 50%;
}

.header__nav-area__product-link {
  display: block;
  padding: 20px 0 0;
}
@media screen and (max-width: 1024px) {
  .header__nav-area__product-link {
    padding: 0;
  }
}

.header__nav-area__product-image {
  width: 100%;
  max-width: 90px;
  margin-inline: auto;
}

.header__nav-area__product-brand-name {
  display: block;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 9px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  letter-spacing: 0.15em;
  text-align: center;
}

.header__nav-area__product-name {
  display: block;
  margin-top: 8px;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}

.inside-menu {
  padding: 60px 60px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: column;
}
@media screen and (max-width: 1024px) {
  .inside-menu {
    padding: 35px 30px;
  }
}

.inside-menu__list {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.inside-menu__item {
  width: 100%;
}

.inside-menu__item-link {
  display: block;
  padding-top: 30px;
  padding-bottom: 30px;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #DEDDDA;
}

.header__nav-area .header-nav__contact {
  padding-top: 20px;
  width: 100%;
}
.header__nav-area .header-nav__contact .header-nav__contact--link {
  border-radius: 10px;
  width: 100%;
  font-size: 18px;
  font-weight: 600;
  padding-top: 25px;
  padding-bottom: 25px;
}
.header__nav-area .header-nav__contact .header-nav__contact--text {
  font-size: 18px;
  font-weight: 600;
}

.menu-bottom {
  min-height: 30%;
  width: 100%;
  padding: 0 30px;
  margin: auto 0 0 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .menu-bottom {
    min-height: 20%;
  }
}

.sub-navigation__item + .sub-navigation__item {
  margin-top: 15px;
}
@media screen and (max-width: 1024px) {
  .sub-navigation__item + .sub-navigation__item {
    margin-top: 8px;
  }
}

.sub-navigation__link {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}

.copyright {
  display: block;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 9px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}

.icon-link::after {
  display: inline-block;
  content: "";
  background: url(../img/icon-link_blue.svg) center center no-repeat;
  background-size: contain;
  width: 13px;
  height: 12px;
  margin-left: 10px;
  vertical-align: middle;
}

.footer .icon-link::after {
  display: inline-block;
  content: "";
  background: url(../img/icon-link.svg) center center no-repeat;
  background-size: contain;
  width: 13px;
  height: 12px;
  margin-left: 10px;
  vertical-align: middle;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.3);
  /* 背景を薄暗く */
  z-index: 9;
  /* メニューの下、他の要素の上に表示 */
  display: none;
  /* 初期状態では非表示 */
  pointer-events: none;
  /* クリックイベントを無効化 */
}

.overlay.-active {
  display: block;
  /* アクティブ時に表示 */
  pointer-events: auto;
  /* クリックイベントを有効化 */
}

.footer-nav__list li a {
  /*線の基点とするためrelativeを指定*/
  position: relative;
  padding-left: 3px;
  padding-right: 3px;
}

.footer-nav__list li a::after {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: -10%;
  left: 0;
  /*線の形状*/
  width: 100%;
  height: 1px;
  background: #1A1311;
  /*アニメーションの指定*/
  transition: all 0.3s;
  transform: scale(0, 1);
  /*X方向0、Y方向1*/
  transform-origin: left top;
  /*左上基点*/
}

/*現在地とhoverの設定*/
.footer-nav__list li.current a::after,
.footer-nav__list li a:hover::after {
  transform: scale(1, 1);
  /*X方向にスケール拡大*/
}

.header__nav-area__product-item a,
.sub-navigation__item a {
  transition: opacity 0.5s;
}
.header__nav-area__product-item a:hover,
.sub-navigation__item a:hover {
  opacity: 0.3;
}

.header__nav-area--logo {
  transition: opacity 0.5s;
}
.header__nav-area--logo:hover {
  opacity: 0.3;
}

/* top start */
html {
  color: #1A1311;
  scroll-behavior: smooth;
}

.fv {
  position: relative;
  width: 100%;
  /* 全画面に表示 */
  overflow: hidden;
}

.fv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 縦横比を保ったままトリミング */
  display: block;
}

.fv .overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  text-align: center;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

@media screen and (max-width: 1024px) {
  .floating-banner {
    opacity: 0;
    position: fixed;
    right: 0;
    z-index: 10;
    width: 35px;
    top: 50%;
    right: 0;
    transition: opacity 0.5s ease;
  }
}

#floating-banner.show {
  opacity: 1;
  pointer-events: auto;
}

.section__title {
  font-family: "Zen Old Mincho", serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-weight: 900;
}
@media screen and (max-width: 1024px) {
  .section__title {
    font-size: 28px;
  }
}

.section__sub-title {
  display: block;
  padding-top: 10px;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  line-height: 2;
}

.arrow {
  position: relative;
  display: inline-block;
}

.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 5px;
  height: 1px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: 100% 50%;
}

.arrow::before {
  transform: rotate(45deg);
}

.arrow::after {
  transform: rotate(-45deg);
}

.top-read {
  padding: 100px 0 80px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .top-read {
    padding: 80px 0 60px;
  }
}

.top-read__inner {
  width: max-content;
  margin-inline: auto;
  padding: 30px;
}
@media screen and (max-width: 1024px) {
  .top-read__inner {
    width: 100%;
    padding: 40px 20px;
  }
}

.top-read__text {
  padding-top: 60px;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  line-height: 2;
  letter-spacing: 0.08em;
}

.top-read__copy {
  display: block;
  padding-top: 30px;
  font-family: "Zen Old Mincho", serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  padding-top: 30px;
  line-height: 2;
  letter-spacing: 0.2em;
}

.top-products {
  padding: 60px 0;
}
@media screen and (max-width: 1024px) {
  .top-products {
    padding: 30px 0;
  }
}

.top-products__inner {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: #fff;
  position: relative;
}

.slider-box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  overflow: hidden;
  /* スライドの動き等速 */
  /* 画像のサイズ調整 */
}
.slider-box .swiper-wrapper {
  transition-timing-function: linear;
}
.slider-box .swiper-slide img {
  height: auto;
  width: 100%;
}

.top-products-box {
  max-width: 460px;
  margin-inline: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .top-products-box {
    max-width: 100%;
    position: static;
    transform: initial;
  }
}

.top-products-box--heading {
  background-color: #AD2710;
  padding: 50px 0 30px;
}

.top-products-box--body {
  background-color: #C62D12;
  padding: 50px 30px 60px;
}

.top-products__title {
  color: #fff;
  text-align: center;
  background-color: #AD2710;
}

.top-products__sub-title {
  color: #fff;
  text-align: center;
}

.top-products__text {
  text-align: center;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  padding-bottom: 40px;
}

.top-products__link {
  display: block;
  background-color: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  max-width: 300px;
  margin-inline: auto;
  border-radius: 50px;
  color: #C62D12;
  text-decoration: none;
  text-align: center;
  transition: 0.5s;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.35);
}
.top-products__link:hover {
  background-color: #C62D12;
  border: #fff;
  transition: 0.5s;
}
.top-products__link:hover .top-products__link--text {
  color: #fff;
  transition: 0.5s;
}

.top-products__link--text {
  display: block;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #C62D12;
  font-weight: 600;
}

.top-company {
  padding: 60px 0;
  max-width: 1280px;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .top-company {
    padding: 30px 0 0;
  }
}

.top-company__inner {
  padding-left: 30px;
}
@media screen and (max-width: 1024px) {
  .top-company__inner {
    padding-left: 0;
  }
}

.top-company__title {
  text-align: center;
}

.top-company__sub-title {
  text-align: center;
}

.top-company__contents {
  padding-top: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
}
@media screen and (max-width: 1024px) {
  .top-company__contents {
    padding-top: 40px;
    flex-direction: column;
  }
}

.top-company__texts {
  min-width: 470px;
}
@media screen and (max-width: 1024px) {
  .top-company__texts {
    min-width: 100%;
  }
}

@media screen and (max-width: 1024px) {
  .top-company__list {
    padding-right: 30px;
    padding-left: 30px;
  }
}

.row {
  display: flex;
  padding-top: 20px;
}
@media screen and (max-width: 1024px) {
  .row {
    flex-direction: column;
    padding-bottom: 20px;
    border-bottom: 1px solid #DEDDDA;
    position: relative;
  }
  .row:after {
    position: absolute;
    content: "";
    border-bottom: 1px solid #1A1311;
    left: 0;
    bottom: 0;
    width: 30px;
  }
}

.top-company__list--title {
  width: 120px;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-bottom: 20px;
  border-bottom: 1px solid #1A1311;
  flex-shrink: 1;
}
@media screen and (max-width: 1024px) {
  .top-company__list--title {
    border-bottom: none;
    padding-bottom: 8px;
  }
}

.top-company__list--data {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #DEDDDA;
  padding-left: 20px;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .top-company__list--data {
    border-bottom: none;
    padding-left: 0;
  }
}

.top-company__image {
  max-width: 640px;
  box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
  .top-company__image {
    max-width: initial;
    width: 100%;
    padding-right: 30px;
    padding-left: 30px;
    background: linear-gradient(180deg, #fff 0%, #fff 50%, #f5f4f1 50%, #f5f4f1 100%);
  }
}
@media screen and (max-width: 1024px) {
  .top-company__image img {
    max-width: 80%;
    margin-inline: auto;
  }
}

.top-access {
  padding: 60px 0;
}
@media screen and (max-width: 1024px) {
  .top-access {
    padding: 0 0 60px;
  }
}

.top-access__inner {
  background-color: #F5F4F0;
}

.top-access__contents {
  max-width: 1280px;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
@media screen and (max-width: 1024px) {
  .top-access__contents {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding-bottom: 60px;
  }
}

.top-access__texts {
  padding: 140px 100px;
}
@media screen and (max-width: 1024px) {
  .top-access__texts {
    padding: 60px 40px 30px;
  }
}

@media screen and (max-width: 1024px) {
  .top-access__title {
    text-align: center;
  }
}

@media screen and (max-width: 1024px) {
  .top-access__sub-title {
    text-align: center;
  }
}

.top-access__details {
  display: block;
  padding-top: 60px;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  line-height: 2.2;
  padding-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .top-access__details {
    text-align: center;
  }
}

.top-access__link {
  display: block;
  border: 1px solid #D1D0CD;
  border-radius: 50px;
  min-width: 290px;
  margin-inline: auto;
  padding: 20px;
  color: #1A1311;
  text-decoration: none;
  text-align: center;
  transition: 0.5s;
}
.top-access__link:hover {
  transition: 0.5s;
  background-color: #fff;
}
@media screen and (max-width: 1024px) {
  .top-access__link {
    min-width: none;
  }
}

.top-access__link--text {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  display: block;
  font-weight: 600;
}

.top-access__maps {
  margin-top: -60px;
  max-width: 745px;
  margin-left: auto;
}

.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  /* 16:9のアスペクト比 */
}
@media screen and (max-width: 1024px) {
  .map {
    padding-top: 66.66%;
    margin-inline: auto;
  }
}

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.top-contact {
  padding-top: 140px;
  padding-bottom: 120px;
}
@media screen and (max-width: 1024px) {
  .top-contact {
    padding-top: 60px;
  }
}

.top-contact__inner {
  max-width: 1140px;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media screen and (max-width: 1024px) {
  .top-contact__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.top-contact__contents {
  border: 1px solid #DEDDDA;
  padding: 100px 60px;
}
@media screen and (max-width: 1024px) {
  .top-contact__contents {
    padding: 100px 0 0;
  }
}

.top-contact__titles {
  width: max-content;
  margin-inline: auto;
  margin-top: -24px;
  background-color: #fff;
  padding-right: 66px;
  padding-left: 66px;
}
@media screen and (max-width: 1024px) {
  .top-contact__titles {
    margin-top: -140px;
    padding-right: 50px;
    padding-left: 50px;
  }
}

.top-contact__title {
  text-align: center;
}

.top-contact__sub-title {
  text-align: center;
}

.top-contact__text {
  padding-top: 60px;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  padding-bottom: 60px;
}
@media screen and (max-width: 1024px) {
  .top-contact__text {
    text-align: left;
    padding-right: 30px;
    padding-left: 30px;
  }
}

.contact-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  padding-right: 40px;
  padding-left: 40px;
}
@media screen and (max-width: 1024px) {
  .contact-box {
    width: 100%;
    flex-direction: column;
    padding-right: 0;
    padding-left: 0;
  }
}
.contact-box::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-right: 1px solid #DEDDDA;
  height: 80%;
}
@media screen and (max-width: 1024px) {
  .contact-box::after {
    content: none;
  }
}

.contact-box__tel {
  padding-left: 30px;
  padding-right: 30px;
}
@media screen and (max-width: 1024px) {
  .contact-box__tel {
    width: 100%;
    padding: 40px 0;
    border-top: 1px solid #DEDDDA;
  }
}

@media screen and (max-width: 1024px) {
  .contact-box__child {
    width: 100%;
    padding: 40px 0;
    border-top: 1px solid #DEDDDA;
  }
}

.contact-box__label {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  letter-spacing: 0.2em;
  line-height: 2;
  font-weight: 500;
  text-align: center;
}

.contact-box__tel--link {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-decoration: none;
  color: #1A1311;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
  .contact-box__tel--link {
    text-align: center;
  }
}

.contact-box__hour {
  display: block;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}

.contact-box__web {
  display: flex;
  flex-direction: column;
  gap: 25px;
  padding-left: 30px;
  padding-right: 30px;
}
@media screen and (max-width: 1024px) {
  .contact-box__web {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.contact-box__web--link {
  display: block;
  min-width: 340px;
  margin-inline: auto;
  padding: 20px 40px;
  border: 1px solid #DEDDDA;
  border-radius: 50px;
  text-decoration: none;
  text-align: center;
  color: #1A1311;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 600;
  transition: 0.5s;
}
@media screen and (max-width: 1024px) {
  .contact-box__web--link {
    min-width: initial;
    padding: 20px 38px;
  }
}
.contact-box__web--link:hover {
  transition: 0.5s;
  background-color: #F5F4F0;
}
.contact-box__web--link .arrow {
  padding-left: 10px;
  top: -5px;
  right: -20px;
}
@media screen and (max-width: 768px) {
  .contact-box__web--link .arrow {
    right: -10px;
  }
}

/* top end */
main.contact .page-title {
  padding-top: 90px;
  padding-bottom: 90px;
}
main.contact .page-title__sub-title {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400;
  text-align: center;
}
main.contact .page-title__title {
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-size: 31px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  letter-spacing: 0.25em;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}
main.contact .form-area {
  padding-top: 30px;
  padding-bottom: 120px;
}

form {
  max-width: 880px;
  margin-inline: auto;
  padding: 30px;
  border-radius: 10px;
}

.form-group {
  display: flex;
  gap: 90px;
  padding-top: 30px;
  padding-bottom: 30px;
  border-top: 1px solid #DEDDDA;
}
@media screen and (max-width: 1024px) {
  .form-group {
    flex-direction: column;
    gap: 5px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.form-label {
  width: 40%;
  font-weight: bold;
  display: flex;
  align-items: center;
  margin-bottom: 8px;
  flex-shrink: 1;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
  .form-label {
    width: 100%;
  }
}

.form-label .required {
  background-color: #E52D0C;
  color: #fff;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 900;
  letter-spacing: 0.2em;
  padding: 2px 10px;
  margin-right: 8px;
}

.form-label .optional {
  background-color: #ACACAC;
  color: #fff;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  padding: 2px 10px;
  font-weight: 900;
  letter-spacing: 0.2em;
  margin-right: 8px;
}

input[type=text],
input[type=email],
textarea {
  width: 100%;
  padding: 15px 28px;
  font-size: 16px;
  border-radius: 5px;
  background-color: #f2f2f2;
  color: #1A1311;
  font-size: 15px;
}

textarea {
  height: 100px;
}

.checkbox-group {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.checkbox-group .check-label {
  width: 50%;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 1024px) {
  .checkbox-group .check-label {
    width: 100%;
  }
}
.checkbox-group .custom-checkmark {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 1px solid black;
  background: white;
}
.checkbox-group .custom-checkmark::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 1px;
  width: 6px;
  height: 11px;
  border: solid black;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
}
.checkbox-group input:checked + .custom-checkmark::after {
  opacity: 1;
}

.checkbox-group label {
  display: flex;
  align-items: center;
  font-size: 16px;
}

.checkbox-group input {
  margin-right: 6px;
}

.form-group.privacy-policy {
  padding-top: 40px;
  display: block;
}

.policy-box {
  border: 1px solid #DEDDDA;
  padding: 20px;
  height: 163px;
  overflow-y: auto;
}

.policy-box dl {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}

.policy-box__text {
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}

.caution__text {
  display: block;
  padding-top: 30px;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}

.agree {
  padding-top: 20px;
  text-align: center;
}
.agree label {
  max-width: max-content;
  margin-inline: auto;
  cursor: pointer;
  padding-left: 50px;
  position: relative;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 900;
}
.agree input {
  display: none;
}
.agree .custom-checkmark {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 1px solid black;
  background: white;
}
.agree .custom-checkmark::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 1px;
  width: 6px;
  height: 11px;
  border: solid black;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
}
.agree input:checked + .custom-checkmark::after {
  opacity: 1;
}

.submit__button button {
  background-color: #1A1311;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 900;
  color: #fff;
  padding: 15px 30px;
  width: 100%;
}

.section__body {
  padding: 0 20px;
}

#txt_explain {
  text-align: center;
  line-height: 1.8;
  font-size: 13px;
}

span.red {
  font-size: 20px;
  font-weight: 600;
  color: #E52D0C;
}

.table {
  width: 100%;
  margin-bottom: 15px;
  border-top: 1px solid #ccc;
  border-left: none;
  box-sizing: border-box;
}

.table th {
  padding: 30px;
  background: none;
  color: #1a1311;
  border-right: none;
  border-bottom: none;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 600;
  box-sizing: border-box;
}

.table td {
  padding: 30px;
  background: #fff;
  border-right: none;
  border-bottom: none;
  color: #1A1311;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 13px;
  line-height: 2;
  box-sizing: border-box;
}

label[for^=item_scheckbox01] {
  /* item_scheckbox01 で始まる ID を持つ label 全てに適用 */
  margin-left: 10px;
}

.table tr {
  display: flex;
  gap: 20px;
  border-bottom: 1px solid #ccc;
}

.table th {
  width: 30%;
}

.table td {
  width: 70%;
}

textarea,
input[type=text] {
  background-color: #F2F2F2;
  border-radius: 5px;
  box-shadow: none;
  border: none;
  padding: 15px 10px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .table tr {
    flex-direction: column;
    gap: 15px;
  }
  .table th {
    width: 100%;
    padding: 20px 15px 0;
  }
  .table td {
    padding: 0px 15px 20px;
    width: 100%;
  }
  textarea,
  input[type=text] {
    width: 100%;
  }
}/*# sourceMappingURL=style.css.map */


/* entry */
/* confirm */
/* thanks */