@charset "UTF-8";
/*
Theme Name: garagesaurus
Theme URI: https:00
Author: Your Name
Author URI: https:00
Description: ガレージサウル巣公式サイト用 WordPress テーマ
Version: 1.0
*/
/* ==========================
リセット
========================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/***************
共通
****************/
@font-face {
  font-family: "Hiragino Maru Gothic ProN";
  src: url("font/Hiragino Maru Gothic ProN W4.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Maru Gothic";
  src: url("font/ZenMaruGothic-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Maru Gothic";
  src: url("font/ZenMaruGothic-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Maru Gothic";
  src: url("font/ZenMaruGothic-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Maru Gothic";
  src: url("font/ZenMaruGothic-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Zen Maru Gothic";
  src: url("font/ZenMaruGothic-Black.ttf") format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
.font-zen {
  font-family: "Zen Maru Gothic", sans-serif;
}

.Hiragino-Maru {
  font-family: "Hiragino Maru Gothic ProN", sans-serif;
  font-weight: 400;
}

html {
  box-sizing: border-box;
  font-size: clamp(6.25px, 0.833vw, 10px);
  scroll-behavior: smooth;
}
@media (max-width: 767px) {
  html {
    font-size: clamp(8px, 2.67vw, 10px);
  }
}

body {
  font-family: "Hiragino Maru Gothic ProN", "Zen Maru Gothic", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1.7;
  color: #444;
}

p, span, li, a, div, label, input, textarea {
  font-size: 1.6rem;
}

.editor-styles-wrapper div.edit-post-visual-editor__post-title-wrapper,
.editor-styles-wrapper .editor-post-title__input,
.editor-styles-wrapper .editor-post-title__input[data-rich-text-placeholder]:after {
  font-size: 4.6rem !important;
  text-align: center;
  margin-bottom: 4rem;
}

.edit-post-visual-editor__post-title-wrapper * {
  font-size: inherit !important;
}

.inner {
  max-width: 1440px;
  margin: 0 auto;
}

@media (max-width: 1440px) {
  .inner {
    padding-inline: 1.5rem;
  }
}
:root {
  --header-h: 8rem;
}

.inner1240 {
  max-width: 1240px;
  margin: 0 auto;
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s;
}

a:link, a:visited {
  color: inherit;
}

a:hover {
  opacity: 0.7;
}

a:active {
  opacity: 0.5;
}

a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

img {
  width: 100%;
  height: auto;
}

.t_align_c {
  text-align: center;
}

.t_align_l {
  text-align: left;
}

.t_align_r {
  text-align: right;
}

.letter_sm05 {
  letter-spacing: -0.05rem;
}

.letter_sm10 {
  letter-spacing: -0.1rem;
}

.t_nowrap {
  white-space: nowrap;
}

.f_bold {
  font-weight: bold;
}

.width_0 {
  width: 0;
  display: inline-block;
}

.title_wrap {
  text-align: center;
}

.btn-wrap {
  display: inline-block;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3));
}
.btn-wrap a {
  display: inline-flex;
  align-items: center;
  height: 6.4rem;
  padding: 0 3.6rem 0 3.4rem;
  font-size: 2.4rem;
  clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%);
  text-decoration: none;
  white-space: nowrap;
}
.btn-wrap .cont_btn_yellow {
  background: #fff45d;
  color: #444;
}
.btn-wrap .cont_btn_red {
  background: #F81515;
  color: #fff;
}
.btn-wrap .cont_btn_red span {
  padding: 0.4em 0 0;
}

.tit_ver0122 {
  font-size: 3.6rem;
  color: #FFF;
  display: inline-block;
  background-image: linear-gradient(90deg, #e62c2c, #ffa15a);
  padding: 1rem 8rem 1rem 4rem;
  clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
}

.tit_ver0122_type2 {
  font-size: 3.6rem;
  color: #444;
  display: inline-block;
  background-image: linear-gradient(90deg, #e62c2c, #ffa15a);
  padding: 1rem 8rem 1rem 4rem;
  clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
  position: relative;
}
@media screen and (max-width: 767px) {
.tit_ver0122 ,  .tit_ver0122_type2{
	font-size: 2.4rem;
}
}
.tit_ver0122_type2::before {
  position: absolute;
  content: "";
  display: inline-block;
  background-color: #FFF;
  padding: 1rem 8rem 1rem 4rem;
  clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
  width: calc(100% - 0.8rem);
  height: calc(100% - 0.8rem);
  z-index: -1;
  top: 0.4rem;
  left: 0.4rem;
}

/*******フェードイン**********/
.fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.4s ease, transform 1.4s ease;
  transition-delay: 0.5s;
}

.fade.is-show {
  opacity: 1;
  transform: translateY(0);
}

/***************
sp共通
****************/
.br_sp, .sp, .sp_only {
  display: none;
}
@media only screen and (max-width: 767px) {
  .br_sp, .sp, .sp_only {
    display: inline-block;
  }
}

.sp_only_b {
  display: none;
}
@media only screen and (max-width: 767px) {
  .sp_only_b {
    display: block;
  }
}

@media only screen and (max-width: 767px) {
  .pc_only {
    display: none;
  }
}
/***************
管理画面用
*************/
.editor-styles-wrapper {
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0) !important;
}

.editor-styles-wrapper .is-root-container {
  padding: 0 !important;
}

.editor-styles-wrapper .inner1240 {
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/***************
TOP
****************/
.cont_btn_yellow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.6rem 3.2rem;
  background: #fff36a;
  color: #333;
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  white-space: nowrap;
}

header .head_innre {
  padding: 1.4rem 0 1.6rem;
  display: flex;
  max-width: 1240px;
  justify-content: space-between;
}
header .header_brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 4rem 0 0;
}
header .header_brand .header_logo {
  width: 11.1rem;
  height: 5.4rem;
}
header .head_right {
  display: flex;
  gap: 5.2rem;
}
header .head_btns {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
header .head_btns h4 {
  font-size: 2rem;
  padding: 0 0 1rem 0;
  font-weight: normal;
}
header .head_btns .header_btn {
  font-size: 2.4rem;
  font-weight: 500;
}
header .head_btns .header_btn img {
  width: 3rem;
  height: 3rem;
}
header .head_btns .header_btn .tel-num {
  font-family: system-ui, -apple-system, "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", sans-serif;
  font-feature-settings: "tnum";
  letter-spacing: -0.02em;
  font-size: 2.8rem;
  line-height: 0.8em;
  font-weight: 400;
}
header .head_btns .header_btn .tel-note {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 81;
  }
  header .head_innre {
    padding: 0;
    position: relative;
  }
  header .header_brand {
    padding: 0 0 0 1rem;
    width: 100%;
    transition: 0.2s;
    height: 8rem;
    background-color: #FFF;
  }
}
header .g-nav {
  background-color: #F81515;
  color: #FFF;
}
header .g-nav .g-nav_list {
  display: flex;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
  justify-content: space-between;
}
header .g-nav .g-nav_item {
  position: relative;
}
header .g-nav .g-nav_item::before {
  position: absolute;
  content: "";
  height: 3em;
  width: 0.2rem;
  background-color: #FFF;
  right: -2.2em;
  top: 1.5rem;
}
header .g-nav .g-nav_item:last-child::before {
  display: none;
}
header .g-nav .g-nav_item a {
  display: inline-flex;
  align-items: center;
  padding: 1rem 0;
  font-size: 2rem;
  font-weight: bold;
  height: 7.4rem;
}

html:has(#menu-btn-check:checked),
body:has(#menu-btn-check:checked) {
  overflow: hidden;
  overscroll-behavior: none;
}

/**************sp_nmenu*************/

header .sp-btns {
  display: none;
}
@media only screen and (max-width: 767px) {
  header .sp-btns {
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
  }
}
header .sp-btns figure.sp-btn {
  width: 8rem;
  z-index: 81;
}
header .sp-btns figure.sp-btn a img {
  display: block;
}
header .menu-btn {
  position: relative;
  display: flex;
  height: 8rem;
  width: 8rem;
  justify-content: center;
  align-items: center;
  z-index: 90;
  background-color: #fff;
  cursor: pointer;
}
header .menu-btn span,
header .menu-btn span:before,
header .menu-btn span:after {
  content: "";
  display: block;
  height: 0.6rem;
  border-radius: 0.3rem;
  background-color: #444;
  position: absolute;
  transition: 0.2s;
}
header .menu-btn span {
  width: 3.5rem;
}
header .menu-btn span:before {
  bottom: 1.6rem;
  width: 4.5rem;
}
header .menu-btn span:after {
  top: 1.6rem;
  width: 2.5rem;
}
header #menu-btn-check:checked ~ .menu-btn {
  background-color: #444;
}
header #menu-btn-check:checked ~ .menu-btn span {
  background-color: rgba(255, 255, 255, 0);
}
header #menu-btn-check:checked ~ .menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
  width: 4.5rem;
  background-color: #FFF;
}
header #menu-btn-check:checked ~ .menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
  width: 4.5rem;
  background-color: #FFF;
}
header #menu-btn-check {
  display: none;
}
header:has(#menu-btn-check:checked) .header_brand {
  background: #444;
  color: #FFF;
}
header .menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  right: 0;
  z-index: 80;
  background-color: #3584bb;
}
header .menu-content ul {
  padding: 2rem 1rem 0;
}
header .menu-content ul li {
  list-style: none;
}
header .menu-content ul li ul {
  padding-top: 0;
}
header .menu-content ul li ul li {
  padding-left: 4.5rem;
  position: relative;
}
header .menu-content ul li ul li::before {
  position: absolute;
  content: "";
  left: 3em;
  top: calc(50% - 0.5rem);
  width: 1.2em;
  height: 0.2rem;
  background-color: #444;
}
header .menu-content ul li ul a {
  font-size: 1.8rem;
  padding-bottom: 1rem;
}
header .menu-content ul li ul a:first-of-type {
  padding-top: 0;
}
header .menu-content ul li a {
  display: block;
  width: 100%;
  font-size: 2rem;
  box-sizing: border-box;
  color: #444;
  font-weight: 500;
  text-decoration: none;
  padding: 0.9rem 1.5rem 1rem 3rem;
  position: relative;
}
header .menu-content {
  width: 100%;
  height: 100%;
  position: fixed;
  right: -100%;
  z-index: 80;
  background-image: linear-gradient(90deg, #f6f2ee, #fdfbef);
  transition: all 0.5s;
  overflow: auto;
  padding-bottom: 16rem;
}
header .menu-content .btn-wrap {
  display: block;
  text-align: center;
  margin-top: 2rem;
}
header .menu-content .btn-wrap-sp-p {
  font-size: 2rem;
  text-align: center;
  position: relative;
  top:1.8rem;
}
header .menu-content .btn-wrap .tel-num {
  text-align: left;
  font-family: system-ui, -apple-system, "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", sans-serif;
  font-feature-settings: "tnum";
  letter-spacing: -0.02em;
  font-size: 2.8rem;
  line-height: 0.8em;
  font-weight: 400;
}
header .menu-content .btn-wrap .tel-note {
  font-size: 1rem;
  text-align: left;
}
header #menu-btn-check:checked ~ .menu-content {
  right: 0;
}

/**************end sp_nmenu*************/
@media screen and (max-width: 767px) {
  main {
    padding-top: var(--header-h);
	overflow: hidden;
  }
}
/***************
mv
****************/
.mv {
  background-color: none;
}

.mv figure {
  width: 100% !important;
}

.mv-slider {
  width: 100%;
  height: auto;
}

.mv-slider .swiper-wrapper {
  height: 100%;
}

.mv-slide {
  width: 100%;
  height: 100%;
}

.mv-slide img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.mv-slide img.sp_only {
  display: none;
}

@media screen and (max-width: 767px) {
  .mv-slider {
    height: auto;
    position: relative;
  }
  .mv-slide img.sp_only {
    display: block;
  }
  .mv-slide img.pc_only {
    display: none;
  }
}
.mv-swiper-prev,
.mv-swiper-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
}
.mv-swiper-prev img,
.mv-swiper-next img {
  width: 4.8rem;
  height: auto;
  display: block;
}

.mv-swiper-prev {
  left: 3rem;
}

.mv-swiper-next {
  right: 3rem;
}
.mv-swiper-next img {
  transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
  .mv-swiper-prev {
    left: 1.2rem;
  }
  .mv-swiper-next {
    right: 1.2rem;
  }
  .mv-swiper-prev img,
  .mv-swiper-next img {
    width: 3.6rem;
  }
}
/***************
top-sec2
****************/
.top-sec2 .top-sec2_bg1 {
  background: url(img/sec2-bg.webp) top center repeat-x;
  background-size: contain;
  padding-top: 7.4rem;
  overflow: hidden;
}
.top-sec2 h2 {
  font-size: 3.6rem;
  text-align: center;
  position: relative;
  display: inline-block;
  padding: 0 2rem;
  margin-bottom: 1rem;
}
.top-sec2 h2::before, .top-sec2 h2::after {
  position: absolute;
  content: "";
  top: 50%;
  width: 0.4rem;
  height: 1.5em;
  background-color: #444444;
  border-radius: 1rem;
  transform-origin: center;
}
.top-sec2 h2::before {
  transform: translate(-100%, -50%) rotate(345deg);
  left: 0rem;
}
.top-sec2 h2::after {
  transform: translate(100%, -50%) rotate(15deg);
  right: 0rem;
}
.top-sec2 p {
  font-size: 2.4rem;
  text-align: center;
  font-weight: 500;
}
.top-sec2 p span {
  font-size: 150%;
  font-weight: bold;
  color: #F81515;
}
.top-sec2 .top-sec2_bg2 {
  background-color: #F0EEEC;
}
.top-sec2 .top-sec2_bg2 .inner {
  padding: 3rem 0 2rem;
  display: flex;
  justify-content: center;
  gap: 11.2rem;
}
@media screen and (max-width: 767px) {
  .top-sec2 h2 {
    font-size: 2.1rem;
    padding: 0 1rem;
	white-space: nowrap;
  }
  .top-sec2 h2::before, .top-sec2 h2::after {
    width: 0.2rem;
	height: 2.5em;
  }
  .top-sec2 p {
    font-size: 2.4rem;
  }
  .top-sec2 .top-sec2_bg2 .inner {
    gap: 4rem;
	overflow: hidden;
	z-index: 5;
	position: absolute;
	top:32rem;
	right: 0;
	left: 0;
  }
  .top-sec2_bg2 .inner a{
	max-width: 11rem;
}
.mv-swiper-prev, .mv-swiper-next{
	top:70%;
}
}

.top-sec3 {
  background-color: #F6F2EE;
  overflow: hidden;
}
.top-sec3 .inner {
  background: url(img/top-sec3-bg2.webp) right bottom no-repeat;
  background-size: auto;
}
.top-sec3 .top-sec3_head {
  width: 55.6rem;
  height: auto;
  padding-bottom: 2rem;
}
.top-sec3 .top-sec3-contwrap {
  width: 100%;
  max-width: 1240px;
  padding: 1rem 0 5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 3rem 1rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1200px) {
  .top-sec3 .top-sec3-contwrap {
    justify-content: center;
  }
}
.top-sec3 .top-sec3-cont {
  max-width: 40rem;
  padding: 2rem 2rem 2.4rem;
  background-color: #FFF;
  width: 32%;
}
@media only screen and (max-width: 1240px) {
  .top-sec3 .top-sec3-cont {
    max-width: 38rem;
  }
}
.top-sec3 .top-sec3-cont figure {
  max-width: 36rem;
  height: auto;
  margin-bottom: 1rem;
}
.top-sec3 .top-sec3-cont h2 {
  font-weight: 400;
  display: block;
  font-size: 2rem;
  font-family: "Hiragino Maru Gothic ProN", sans-serif;
  color: #FFF;
  background-color: #F81515;
  padding: 0.4rem 0;
  text-align: center;
}
.top-sec3 .top-sec3-cont h2 span {
  font-size: 2.2rem;
  padding-right: 2rem;
  font-family: "Zen Maru Gothic", sans-serif;
}
.top-sec3 .top-sec3-cont p {
  font-family: "Hiragino Maru Gothic ProN", sans-serif;
  padding: 1.6rem 0;
  color: #444444;
}
@media screen and (max-width: 767px) {
  .top-sec3 .inner {
    background: url(img/top-sec3-bg2-sp.webp) right bottom no-repeat;
    background-size: 37.5rem 9.6rem;
    padding-bottom: 5rem;
  }
  .top-sec3 .top-sec3_head {
    width: 37.5rem;
  }
  .top-sec3 .top-sec3-contwrap {
    justify-content: center;
    gap: 1rem;
  }
  .top-sec3 .top-sec3-cont {
    width: calc(50% - 0.5rem);
    padding: 0;
    display: inline-flex;
  }
  .top-sec3 .top-sec3-cont h2, .top-sec3 .top-sec3-cont p, .top-sec3 .top-sec3-cont .yellow-link {
    display: none;
  }
  .top-sec3 .top-sec3-cont .sp_only {
    width: 100%;
    position: relative;
  }
  .top-sec3 .top-sec3-cont .sp_only h2 {
    display: block;
    position: absolute;
    top: 2rem;
    width: 100%;
    font-size: 1.6rem;
  }
  .top-sec3 .top-sec3-cont .sp_only img {
    display: block;
  }
}

a.yellow-link, a.red-link {
  font-size: 2.4rem;
  padding: 0.5rem 0;
  max-width: 32.2rem;
  border-radius: 5rem;
  display: flex;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.2);
}
a.yellow-link span, a.red-link span {
  padding: 0.6rem 0 0.6rem 0.8rem;
  display: flex;
  align-items: center;
}
a.yellow-link span img, a.red-link span img {
  width: 1.5rem;
  margin-top: 0.2em;
}

a.yellow-link {
  background-color: #FFF45D;
  color: #444444;
}

a.red-link {
  background-color: #F81515;
  color: #FFF;
}
a.red-link span img {
  width: 2.4rem;
  margin-top: 0.6em;
}

/***************
top-sec4
****************/
.top-sec4 {
  color: #444;
  padding: 2rem 0 0;
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
  position: relative;
  z-index: 1;
}
.top-sec4 .top-sec4-boxrwrap {
  background: #FFF;
}
@media (min-width: 1440px) {
  .top-sec4 .top-sec4-boxrwrap {
    background: linear-gradient(to right, rgba(245, 245, 245, 0) 0, rgba(245, 245, 245, 0) calc(50% + 720px), #ffffff calc(50% + 720px), #ffffff 100%);
  }
}
@media (max-width: 1439px) {
  .top-sec4 .top-sec4-boxrwrap {
    background: none;
  }
}
.top-sec4 .inner {
  background-color: #FFF;
  border-radius: 8rem 0 0 8rem;
  padding: 6rem 0 6rem;
  overflow: hidden;
}
.top-sec4 .top-sec4-head {
  width: 37.9rem;
  margin-top: 2rem;
}
.top-sec4 figure {
  width: 40rem;
}
.top-sec4 .top-sec4-wrap {
  display: flex;
  justify-content: center;
  gap: 8rem;
  margin-top: 2rem;
}
.top-sec4 .top-sec4-wrap .top-day {
  line-height: 1;
  margin: 0;
}
.top-sec4 .top-sec4-wrap h2 {
  position: relative;
  font-size: 3.6rem;
  margin-bottom: 3.8rem;
}
.top-sec4 .top-sec4-wrap h2::before {
  position: absolute;
  content: "";
  bottom: -1rem;
  width: 120%;
  height: 0.5rem;
  background-image: linear-gradient(90deg, #e62f2d, #ffa15b);
}
.top-sec4 .top-sec4-wrap p {
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 2;
  font-size: 1.7rem;
}
.top-sec4 .top-sec4-wrap p:last-of-type {
  margin-bottom: 3.8rem;
}
.top-sec4 .top-sec4-wrap a.yellow-link {
  max-width: 59.6rem;
}
@media screen and (max-width: 767px) {
  .top-sec4 {
    padding: 0;
  }
  .top-sec4 .top-sec4-boxrwrap {
    margin-right: 1.5rem;
    background-color: transparent;
  }
  .top-sec4 .inner {
    padding: 3rem 0 3rem 0;
    border-radius: 0 6rem 6dvb 0;
  }
  .top-sec4 .top-sec4-wrap {
    flex-wrap: wrap;
  }
  .top-sec4 .top-sec4-wrap h2 {
    font-size: 2.6rem;
  }
  .top-sec4 .top-sec4-wrap h2::before {
    width: 100%;
  }
  .top-sec4 .top-sec4-cont {
    padding: 0 1rem;
  }
  .top-sec4 .top-sec4-cont .top-day {
    font-size: 2.6rem;
  }
  .top-sec4 .top-sec4-head {
    width: 37.5rem;
  }
  .top-sec4 figure {
    width: calc(100% - 1rem);
    padding: 0 1.5rem;
  }
  .top-sec4 a.yellow-link {
    font-size: 1.6rem;
  }
}

/***************
top-sec5 slider
****************/
.top-sec5 {
  padding-top: 3rem;
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
  position: relative;
  z-index: 0;
}
.top-sec5::before, .top-sec5::after {
  position: absolute;
  content: "";
  width: 31.3rem;
  height: 40.3rem;
  background: url(img/sec5-linebk.webp) center center no-repeat;
  background-size: contain;
  top: -27%;
}
.top-sec5::before {
  left: 2%;
}
.top-sec5::after {
  position: absolute;
  content: "";
  right: 2%;
}
.top-sec5 .inner {
  position: relative;
}
.top-sec5 .inner::before {
  position: absolute;
  content: "";
  background: url(img/top-sec5-bg.webp) top left no-repeat;
  background-size: contain;
  width: 40.8rem;
  height: 22.9rem;
  top: 0;
  left: 0;
}
.top-sec5 .inner::after {
  position: absolute;
  content: "";
  background: url(img/top-sec5-bg02.webp) bottom right no-repeat;
  background-size: contain;
  width: 21.3rem;
  height: 17.8rem;
  bottom: -20rem;
  right: 0;
}
.top-sec5 .top-sec5-slider_wrap {
  position: relative;
  z-index: 2;
  padding-top: 18rem;
  max-width: 1180px;
  margin: 0 auto;
}
.top-sec5 .top-sec5-slider_wrap .swiper-wrapper {
  height: auto;
}
.top-sec5 .top-sec5-slider_wrap .swiper-slide {
  height: auto;
}
.top-sec5 .top-sec5-slider_wrap .top-sec5-slide-inner {
  display: flex;
}
.top-sec5 .top-sec5-slid-box {
  max-width: 27.8rem;
  height: 38.2rem;
  padding: 2rem;
  background-color: #fff;
  margin: 0 1rem;
  box-sizing: border-box;
  width: 100%;
}
.top-sec5 .top-sec5-slid-box figure {
  max-width: 23.8rem;
  margin-bottom: 1rem;
}
.top-sec5 .top-sec5-slid-box figure img {
  width: 100%;
  height: auto;
  display: block;
}
.top-sec5 .top-sec5-slid-box h2 {
  display: block;
  font-size: 2rem;
  background-color: #F81515;
  color: #fff;
  padding: 0.5rem 0;
  text-align: center;
  margin-bottom: 1rem;
}
.top-sec5 .top-sec5-slid-box p {
  color: #444;
}
@media screen and (max-width: 767px) {
  .top-sec5 {
    padding: 6rem 0 2rem;
  }
  .top-sec5::before {
    display: none;
  }
  .top-sec5::after {
    display: none;
  }
  .top-sec5 .inner {
    position: relative;
    z-index: 2;
  }
  .top-sec5 .inner::before {
    position: absolute;
    content: "";
    background: url(img/top-sec5-bg-sp.webp) top left no-repeat;
    background-size: contain;
    width: 37.5rem;
    height: 8.4rem;
  }
  .top-sec5 .inner::after {
    position: absolute;
    content: "";
    background: url(img/top-sec5-bg02-sp.webp) center left no-repeat;
    background-size: contain;
    width: 6.6rem;
    height: 8.9rem;
    bottom: 3rem;
    left: 0;
    z-index: -1;
  }
  .top-sec5 .top-sec5-slider_wrap {
    margin: 0 0.5rem;
    padding-top: 9rem;
  }
  .top-sec5 .top-sec5-slide-inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
  }
  .top-sec5 .top-sec5-slid-box {
    margin: 0.8rem;
  }
  .top-sec5 .top-sec5-slid-box {
    max-width: none;
    margin: 0.4rem;
    padding: 0;
    width: 100%;
    background-color: transparent;
    height: auto;
  }
  .top-sec5 .top-sec5-slid-box figure {
    max-width: 100%;
    box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.3);
  }
  .top-sec5 .top-sec5-slid-box h2 {
    font-weight: 400;
    font-size: 1.4rem;
    margin-top: -4rem;
    position: absolute;
	padding: 0;
    width: 97%;
  }
  .top-sec5 p {
    display: none;
  }
}

.sec5-swiper-prev,
.sec5-swiper-next {
  position: absolute;
  top: 65%;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
}
.sec5-swiper-prev img,
.sec5-swiper-next img {
  width: 1.6rem;
  display: block;
}

.sec5-swiper-prev {
  left: 2rem;
}

.sec5-swiper-next {
  right: 2rem;
}
.sec5-swiper-next img {
  transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
  .sec5-swiper-prev,
  .sec5-swiper-next {
    top: 64%;
  }
  .sec5-swiper-prev img,
  .sec5-swiper-next img {
    width: 2rem;
  }
  .sec5-swiper-prev {
    left: 0.2rem;
  }
  .sec5-swiper-next {
    right: 0.2rem;
  }
}
.top-sec5 a.red-link {
  max-width: 40rem;
  padding: 1.4rem 0;
  margin: 3rem auto 0;
}
.top-sec5 a.red-link span.pc_only {
  font-size: 2.4rem;
  margin: 0;
}
.top-sec5 a.red-link span.pc_only img {
  margin-top: 0.4em;
}
@media screen and (max-width: 767px) {
  .top-sec5 a.red-link {
    padding: 0.7rem 0rem 0.5rem 1rem;
    max-width: 27rem;
  }
  .top-sec5 a.red-link span.pc_only {
    display: none;
    width: 0;
  }
  .top-sec5 a.red-link span {
    margin-left: 2rem;
  }
  .top-sec5 a.red-link span img {
    margin-top: 0.2em;
  }
}

/***************
.top-sec6
****************/
.top-sec6 {
  padding-top: 4rem;
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
}
.top-sec6 .inner {
  background: url(img/top-sec6bg.webp) right bottom no-repeat;
  background-size: 23.4rem 22.4rem;
}
.top-sec6 .btn-wrap {
  display: flex;
  justify-content: center;
  padding-bottom: 9.8rem;
}
.top-sec6 .btn-wrap span {
  padding: 0 0.8rem 0;
}
.top-sec6 .btn-wrap span:first-of-type {
  margin-left: 0.5em;
}
.top-sec6 .btn-wrap span img {
  margin-top: 0.6em;
  width: 1.5rem;
}
@media screen and (max-width: 767px) {
  .top-sec6 {
    background-image: linear-gradient(90deg, #f6f2ee, #fcfaef);
  }
  .top-sec6 .inner {
    background: none;
    padding: 0;
  }
  .top-sec6 .cont_btn_yellow {
    font-size: 1.8rem;
    font-weight: 500;
    padding: 0 4rem 0 3rem;
    height: 5rem;
    gap: 1rem;
  }
  .top-sec6 .btn-wrap {
    padding-bottom: 4rem;
  }
  .top-sec6 .btn-wrap span {
    padding: 0;
    margin: 0;
  }
  .top-sec6 .btn-wrap span:first-of-type {
    margin: 0;
  }
  .top-sec6 .btn-wrap span img {
    margin-top: 0.4em;
  }
}

/***************
.top-sec7
****************/
.top-sec7 {
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
  background-size: contain;
}
.top-sec7 .overview-sec01{
	padding: 0 10rem;
	background: url(img/sec7-bg01.webp) bottom center no-repeat;
	background-size: contain;
	padding-bottom: 10rem;
}
.top-sec7 .overview-sec01 h4{
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 1em;
}
.top-sec7 .overview-sec01 p{
	font-size: 1.7rem;
}
.top-sec7 figure {
  position: relative;
}
.top-sec7 figure .top-sec7-btn {
  display: inline-block;
  position: absolute;
  width: 38rem;
  left: calc(50% - 2em);
  bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .top-sec7 {
    background-image: url(img/top-sec7-spbg.webp);
    background-position: center center;
    background-repeat: repeat-y;
    background-size: contain;
  }
  .top-sec7 .inner {
    padding: 0;
  }
  .top-sec7 figure {
    position: relative;
  }
  .top-sec7 figure .top-sec7-btn {
    display: block;
    position: relative;
    width: 80%;
    left: inherit;
    margin: 4rem auto 0;
	bottom: inherit;
  }
  .top-sec7 .overview-sec01{
	padding: 0 1rem;
	background: url(img/sec7-bg01-sp.webp) top center no-repeat;
	background-size: contain;
	padding-bottom: 0;
	}
	.top-sec7 .overview-sec01 h4{
		font-size: 1.6rem;
	}
}
/***************
top-sec8
****************/
.top-sec8 {
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
  padding: 6rem 0 12rem;
  overflow: hidden;
}
.top-sec8 .inner {
  display: flex;
}
.top-sec8 .inner figure {
  width: 50%;
}
.top-sec8 .inner .top-sec8-left {
  position: relative;
}
.top-sec8 .inner .top-sec8-left img {
  position: relative;
}
.top-sec8 .inner .top-sec8-left a {
  position: absolute;
  max-width: 51.7rem;
  width: 72%;
  bottom: 12%;
  right: 12%;
}
.top-sec8 .inner .top-sec8-left::before {
  position: absolute;
  content: "";
  position: absolute;
  top: 6rem;
  right: 0;
  width: 200vw;
  height: 84%;
  background-image: linear-gradient(90deg, #e62c2c, #ffa15a);
  border-radius: 0 5rem 5rem 0;
  margin-right: 4rem;
}
.top-sec8 .inner .top-sec8-right {
  position: relative;
}
.top-sec8 .inner .top-sec8-right img {
  position: relative;
}
.top-sec8 .inner .top-sec8-right a {
  position: absolute;
  max-width: 53.2rem;
  width: 72%;
  bottom: 12%;
  right: 12%;
}
.top-sec8 .inner .top-sec8-right::before {
  position: absolute;
  content: "";
  position: absolute;
  top: 6rem;
  left: 0;
  width: 200vw;
  height: 84%;
  background-color: #FFF45D;
  border-radius: 5rem 0 0 5rem;
  margin-left: 4rem;
}
@media screen and (max-width: 767px) {
  .top-sec8 {
    padding: 2rem 0 4rem;
    background-image: url(img/top-sec7-spbg.webp);
    background-position: center center;
    background-repeat: repeat-y;
    background-size: contain;
  }
  .top-sec8 .inner {
    flex-wrap: wrap;
    padding: 0;
    gap: 2rem;
  }
  .top-sec8 .inner figure {
    width: 100%;
    order: 1;
  }
  .top-sec8 .inner figure:first-child {
    order: 2;
  }
  .top-sec8 .inner .top-sec8-left a {
    width: 87%;
    bottom: 11.5%;
    right: 7%;
  }
  .top-sec8 .inner .top-sec8-left::before {
    display: none;
  }
  .top-sec8 .inner .top-sec8-right a {
    width: 87%;
    bottom: 10.5%;
    right: 6%;
  }
  .top-sec8 .inner .top-sec8-right::before {
    display: none;
  }
}

/***************
footer
****************/
footer {
  padding: 6.5rem 0 22rem;
  background: #4b4b4b;
  color: #fff;
}
footer .btn-wrap a {
  padding: 0 5.6rem 0 3.4rem;
}
footer .inner1240 .footer-top {
  display: flex;
  justify-content: space-between;
}
footer .inner1240 .footer-top .footer-info {
  width: 30%;
}
footer .inner1240 .footer-top .footer-info .footer-logo {
  margin-bottom: 1.5rem;
  display: flex;
  gap: 2rem;
  align-items: center;
}
footer .inner1240 .footer-top .footer-info .footer-logo img {
  width: 11.1rem;
}
footer .inner1240 .footer-top .footer-info .footer-catch {
  margin-bottom: 0.5rem;
  font-size: 2rem;
}
footer .inner1240 .footer-top .footer-info .footer-tel-btn .cont_btn_yellow {
  background-color: #FFF;
  gap: 2rem;
}
footer .inner1240 .footer-top .footer-info .footer-tel-btn .cont_btn_yellow .tel-num {
  font-family: system-ui, -apple-system, "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", sans-serif;
  font-feature-settings: "tnum";
  letter-spacing: -0.02em;
  font-size: 2.8rem;
  line-height: 0.8em;
  font-weight: 400;
}
footer .inner1240 .footer-top .footer-info .footer-tel-btn .cont_btn_yellow .tel-note {
  font-size: 1rem;
}
footer .inner1240 .footer-top .footer-nav {
  display: flex;
  gap: 4rem;
}
footer .inner1240 .footer-top .footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
footer .inner1240 .footer-top .footer-nav ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 1.4rem;
  line-height: 2.2;
}
footer .inner1240 .footer-top .footer-nav ul ul li a::before {
  content: "";
  display: inline-block;
  width: 1em; /* 線の長さ */
  height: 1px; /* 線の太さ */
  background-color: currentColor; /* 文字と同じ色 */
  vertical-align: middle;
  margin-right: 0.5em; /* 文字との余白 */
}
footer .inner1240 .footer-bottom {
  margin-top: 6rem;
  text-align: center;
}
footer .inner1240 .footer-bottom .footer-message {
  font-size: 1.6rem;
  font-weight: 500;
}
footer .inner1240 .footer-bottom .footer-btns {
  display: flex;
  justify-content: center;
  gap: 4rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  footer {
	padding: 6.5rem 0 3rem;
	position: relative;
	z-index: 1;
  }
  footer .inner1240 .footer-top {
    flex-wrap: wrap;
  }
  footer .inner1240 .footer-top .footer-info {
    width: 100%;
    text-align: center;
  }
  footer .inner1240 .footer-top .footer-info .footer-logo {
    justify-content: center;
  }
  footer .inner1240 .footer-top .footer-info .footer-tel-btn .cont_btn_yellow .tel-num {
    font-size: 3.3rem;
  }
  footer .inner1240 .footer-top .footer-info .footer-tel-btn .cont_btn_yellow .tel-note {
    font-size: 1.2rem;
    text-align: left;
  }
  footer .inner1240 .footer-top .footer-nav.pc_only {
    display: none;
  }
}

/***************
cta
****************/
.cta-cont {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #fff;
  z-index: 1000;
  transform: translateY(100%);
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.cta-cont.is-show {
  transform: translateY(0);
  opacity: 1;
}
.cta-cont .inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 2.5rem 0;
  text-align: center;
}
.cta-cont .cta-copy {
  position: relative;
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  padding: 0 3.5rem;
}
.cta-cont .cta-copy::before, .cta-cont .cta-copy::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2.5rem;
  height: 2px;
  background: #000;
}
.cta-cont .cta-copy::before {
  left: 0;
  transform: translateY(-50%) rotate(240deg);
}
.cta-cont .cta-copy::after {
  right: 0;
  transform: translateY(-50%) rotate(300deg);
}
.cta-cont .cta-items {
  display: flex;
  justify-content: center;
  gap: 4rem;
}
.cta-cont .btn-wrap a {
  padding: 0 4.6rem 0 3.4rem;
  height: 6.4rem;
  font-size: 2rem;
}
.cta-cont .cta-tel a {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  background: #fff45d;
}
.cta-cont .cta-tel img {
  width: 3rem;
  height: 3rem;
}
.cta-cont .cta-tel .tel-num {
  font-family: system-ui, -apple-system, "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", sans-serif;
  font-feature-settings: "tnum";
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: -0.02em;
}
.cta-cont .cta-tel .tel-note {
  font-size: 1rem;
  line-height: 1.4;
}

/***************
lineup
****************/
.lineup-body, .page-main, .single-main, .archive {
  width: 100%;
}
.lineup-body .pege-header, .lineup-body .single-header, .lineup-body .single-header, .lineup-body .archive-header, .page-main .pege-header, .page-main .single-header, .page-main .single-header, .page-main .archive-header, .single-main .pege-header, .single-main .single-header, .single-main .single-header, .single-main .archive-header, .archive .pege-header, .archive .single-header, .archive .single-header, .archive .archive-header {
  height: 199px;
  background: url(img/lineup/lineup-haeder.webp) center center no-repeat;
  background-size: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .lineup-body .pege-header, .lineup-body .single-header, .lineup-body .single-header, .lineup-body .archive-header, .page-main .pege-header, .page-main .single-header, .page-main .single-header, .page-main .archive-header, .single-main .pege-header, .single-main .single-header, .single-main .single-header, .single-main .archive-header, .archive .pege-header, .archive .single-header, .archive .single-header, .archive .archive-header {
    background: url(img/lineup/lineup-haeder-sp.webp) center center no-repeat;
    background-size: cover;
  }
}
.lineup-body .pege-header h2, .lineup-body .single-header h2, .lineup-body .single-header h2, .lineup-body .archive-header h2, .page-main .pege-header h2, .page-main .single-header h2, .page-main .single-header h2, .page-main .archive-header h2, .single-main .pege-header h2, .single-main .single-header h2, .single-main .single-header h2, .single-main .archive-header h2, .archive .pege-header h2, .archive .single-header h2, .archive .single-header h2, .archive .archive-header h2 {
  font-size: 3.6rem;
  display: grid;
  align-items: center;
  justify-content: center;
  height: 100%;
}

/**lineup下層**/
.lineup-page .pege-header h2, .lineup-page .single-header h2, .lineup-page .single-header h2, .page-main .pege-header h2, .page-main .single-header h2, .page-main .single-header h2, .single-main .pege-header h2, .single-main .single-header h2, .single-main .single-header h2 {
  line-height: 1em;
  align-content: center;
}
.lineup-page .pege-header h2 span, .lineup-page .single-header h2 span, .lineup-page .single-header h2 span, .page-main .pege-header h2 span, .page-main .single-header h2 span, .page-main .single-header h2 span, .single-main .pege-header h2 span, .single-main .single-header h2 span, .single-main .single-header h2 span {
  display: block;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .lineup-page .pege-header h2, .lineup-page .single-header h2, .lineup-page .single-header h2, .page-main .pege-header h2, .page-main .single-header h2, .page-main .single-header h2, .single-main .pege-header h2, .single-main .single-header h2, .single-main .single-header h2 {
    gap: 2rem;
  }
}

.lineup-sec_wrap {
  background: url(img/lineup/lineup-bg.webp) top center no-repeat;
  background-size: cover;
  padding: 5rem 0 0;
}
.lineup-sec_wrap .lineup_sec1 {
  padding: 2rem 0;
  margin-bottom: 8rem;
  background-color: #FFF;
  margin-right: 5rem;
  border-radius: 0 10rem 10rem 0;
}
.lineup-sec_wrap .lineup_sec1 figure {
  padding: 2rem 0 1rem;
  max-width: 90rem;
  margin: 0 auto;
}
.lineup-sec_wrap .lineup_sec1 p {
  text-align: center;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .lineup-sec_wrap {
    background: url(img/lineup/lineup-bg-sp.webp) top center no-repeat;
    background-size: cover;
  }
  .lineup-sec_wrap .inner{
	padding: 0 0.4rem 0 1.5rem;
  }
  .lineup-sec_wrap .lineup_sec1 {
    padding: 2rem 0;
    margin-right: 1rem;
    border-radius: 0 4rem 4rem 0;
    margin-bottom: 4rem;
  }
  .lineup-sec_wrap .lineup_sec1 p {
    text-align: left;
    font-size: 1.7rem;
  }
  .lineup-sec_wrap .tit_ver0122 {
    font-size: 2rem;
    text-align: center;
    padding: 1rem 3rem 1rem 2rem;
  }
}
.lineup-sec_wrap .lineup_sec2 {
  position: relative;
  z-index: 1;
  padding: 2rem 0;
  background-color: #FFF;
  margin-left: 5rem;
  border-radius: 10rem 0 0 10rem;
}
.lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap {
  padding: 2rem 0;
}
.lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap .lineup_sec2_box {
  display: flex;
  gap: 8rem;
  justify-content: center;
  padding-bottom: 3rem;
}
.lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap .lineup_sec2_box figure {
  display: flex;
  flex-wrap: wrap;
  gap: 5rem;
  max-width: 35rem;
}
.lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap .lineup_sec2_box figure.sp_only {
  display: none;
}
.lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap .lineup_sec2_box figure img {
  max-width: 35rem;
}
.lineup-sec_wrap .lineup_sec2 .text_box {
  max-width: 51rem;
}
.lineup-sec_wrap .lineup_sec2 .text_box h4 {
  background-color: #444;
  color: #FFF;
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
  border-radius: 1rem;
  padding: 0.4rem 0;
}
.lineup-sec_wrap .lineup_sec2 .text_box ul {
  padding: 0.5rem 0;
}
.lineup-sec_wrap .lineup_sec2 .text_box li {
  list-style: disc;
  margin-left: 1.5em;
  line-height: 1.8;
}
.lineup-sec_wrap .lineup_sec2 .text_box p {
  font-size: 1.8rem;
  line-height: 1.8;
  padding: 0.5rem 0;
}
.lineup-sec_wrap .lineup_sec2 .text_box p strong {
  font-size: 120%;
  font-weight: normal;
}
.lineup-sec_wrap .lineup_sec2 .text_box p small {
  font-size: 70%;
}
.lineup-sec_wrap .lineup_sec2 .red-link {
  max-width: 38rem;
  padding: 0 0rem 0 4rem;
}
@media screen and (max-width: 1600px) {
  .lineup-sec_wrap .lineup_sec2 .tit_ver0122_type2 {
    margin-left: 4%;
  }
}
@media screen and (max-width: 767px) {
  .lineup-sec_wrap .lineup_sec2 {
    margin-left: 1rem;
    border-radius: 4rem 0 0 4rem;
  }
  .lineup-sec_wrap .lineup_sec2 .tit_ver0122_type2 {
    font-size: 2rem;
    margin-left: 0;
  }
  .lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap .lineup_sec2_box {
    flex-wrap: wrap;
    gap: 2rem;
  }
  .lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap .lineup_sec2_box figure.sp_only {
    display: block;
    margin: 0 auto 1rem;
  }
  .lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap .lineup_sec2_box p {
    font-size: 1.6rem;
  }
  .lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap .lineup_sec2_box p strong {
    font-size: 110%;
    font-weight: normal;
  }
  .lineup-sec_wrap .lineup_sec2 .red-link {
    font-size: 2rem;
    padding: 0 0rem 0 2rem;
  }
}

/***************
イベント
****************/
.single-main {
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
}

.event-banner {
  margin: 4rem auto;
}

.event-intro {
  text-align: center;
}
.event-intro span {
  font-size: 2.4rem;
  color: #FFF;
  font-weight: bold;
  background-color: #b45234;
  padding: 1rem 3rem;
  margin-bottom: 4rem;
  display: block;
  max-width: 18rem;
  margin: 0 auto 4rem;
}
.event-intro span.is-end {
  color: #FFF;
  font-weight: bold;
  background-color: #858383;
  max-width: 17rem;
}
.event-intro .event-date {
  font-size: 2.4rem;
}
.event-intro h2 {
  font-size: 3rem;
  position: relative;
  display: inline-block;
  width: 60rem;
}
.event-intro h2::before {
  position: absolute;
  content: "";
  height: 0.3rem;
  width: 100%;
  background-image: linear-gradient(90deg, #e62f2d, #ffa15b);
  right: 0;
  left: 0;
  margin: 0 auto;
  bottom: -0.6rem;
}
.event-intro .event-lead-text {
  margin-top: 1.4rem;
}
.event-intro .event-lead-text p {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .event-intro h2 {
    width: inherit;
  }
}

.event-cta {
  margin-top: 3rem;
}
.event-cta a.yellow-link {
  max-width: 39rem;
}
@media screen and (max-width: 767px) {
  .event-cta a.yellow-link {
    max-width: 30rem;
    font-size: 2rem;
    padding-top: 0.8rem;
  }
}

.event-details {
  margin-top: 8rem;
  padding: 8rem 0;
  background-color: #FFF;
  border-radius: 5rem;
}
.event-details .event-details-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
}
@media (max-width: 767px) {
  .event-details .event-details-row {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}
.event-details .event-details-visual img {
  width: 100%;
}
.event-details .event-details-content {
  flex: 1;
  text-align: left;
  max-width: 50rem;
}
.event-details .event-details-content .event-details-title {
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  position: relative;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgb(219, 101, 22);
}
.event-details .event-details-content .event-info-list {
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
}
.event-details .event-details-content .event-info-list dt {
  width: 6rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
  font-size: 2rem;
}
.event-details .event-details-content .event-info-list dd {
  width: calc(100% - 6rem);
  margin-bottom: 0.8rem;
  font-size: 2rem;
}
.event-details .event-details-content .event-how-to {
  font-size: 1.8rem;
  line-height: 1.6;
  color: #444;
}
@media screen and (max-width: 767px) {
  .event-details {
    margin: 6rem 1rem 0;
    padding: 2rem;
    border-radius: 2rem;
  }
  .event-details .event-details-visual {
    display: flex;
    justify-content: center;
  }
  .event-details .event-details-content {
    text-align: center;
  }
  .event-details .event-details-content .event-details-title {
    font-size: 2.4rem;
    display: inline-block;
  }
  .event-details .event-details-content .event-info-list dt {
    font-size: 1.8rem;
  }
  .event-details .event-details-content .event-info-list dd {
    text-align: left;
    font-size: 1.6rem;
  }
  .event-details .event-details-content .event-how-to {
    text-align: left;
  }
}

.event-recommend {
  margin-top: 8rem;
  text-align: center;
}
.event-recommend .recommend-title {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 4rem;
}
.event-recommend .recommend-item {
  background-color: #ffa15b;
  padding: 2rem 3rem;
  margin-bottom: 2rem;
  text-align: left;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 0.5rem;
}
.event-recommend .recommend-item h4 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  color: #FFF;
}
.event-recommend .recommend-item p {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #FFF;
  padding: 0 3rem;
}
@media screen and (max-width: 767px) {
  .event-recommend .recommend-item {
    margin: 0 1rem 2rem;
    padding: 1rem;
  }
  .event-recommend .recommend-item h4 {
    font-size: 1.8rem;
  }
  .event-recommend .recommend-item p {
    padding: 0 0.5rem;
  }
}

.event-footer {
  margin-top: 2rem;
  margin-bottom: 10rem;
  text-align: center;
}
.event-footer .footer-note {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: #444;
}
@media screen and (max-width: 767px) {
  .event-footer .footer-note {
    font-size: 1.9rem;
  }
}

.archive.exhibition {
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
}

.archive-event {
  padding: 3rem 0;
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
}
.archive-event:nth-child(even) {
  background-image: linear-gradient(90deg, #fffef0, #f7f3ef);
}
.archive-event .archive-event-row {
  display: flex;
  gap: 6rem;
  justify-content: center;
}
.archive-event .archive-event-left img {
  width: 40rem;
}
.archive-event .archive-event-right span {
  text-align: center;
  display: block;
  padding: 1rem 3rem;
  margin-bottom: 2rem;
}
.archive-event .archive-event-right span.is-open {
  width: 100%;
  font-size: 2rem;
  color: #FFF;
  font-weight: bold;
  background-color: #b45234;
  padding: 1rem 3rem;
  display: block;
  max-width: 16rem;
}
.archive-event .archive-event-right span.is-close {
  color: #FFF;
  font-size: 2rem;
  font-weight: bold;
  background-color: #858383;
  max-width: 16rem;
}
.archive-event .archive-event-right .event-date {
  font-size: 2rem;
}
.archive-event .archive-event-right .event-title {
  font-size: 3rem;
}
.archive-event .archive-event-right .event-lead {
  padding-bottom: 1.5rem;
}
.archive-event .archive-event-right .event-lead p {
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .archive-event .archive-event-row {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .archive-event .archive-event-left, .archive-event .archive-event-right {
    width: 100%;
    padding: 0 2rem;
  }
  .archive-event .archive-event-left {
    text-align: center;
  }
  .archive-event .archive-event-left img {
    width: 100%;
    max-width: 40rem;
  }
}

/***************
pagination
****************/
.pagination {
  padding: 3rem 0 2rem;
  text-align: center;
  position: relative;
  z-index: 2;
}
.pagination .page-numbers {
  font-size: 1.8rem;
  background-color: #b45234;
  color: #FFF;
  padding: 0.8rem 1rem;
  max-width: 1.5rem;
  border: solid 1px #b45234;
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
  background-color: transparent;
  color: #b45234;
  font-size: 180%;
  font-weight: bold;
  border: none;
}
.pagination .page-numbers.current {
  background-color: #FFF;
  color: #b45234;
}
.pagination .page-numbers.dots {
  background-color: transparent;
  color: #b45234;
  border: none;
}

/***************
施工事例
****************/
.works-sec_wrap .sec-warks-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5rem;
  margin-bottom: 4rem;
}
.works-sec_wrap .sec-warks-flex .warks-swiper, .works-sec_wrap .sec-warks-flex .sec-warks-textbox {
  width: 50%;
}
.works-sec_wrap .sec-warks-textbox h3 {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.works-sec_wrap .sec-warks-textbox ul {
  display: inline-block;
  padding-left: 2em;
}
.works-sec_wrap .sec-warks-textbox ul li {
  list-style: disc;
}
.works-sec_wrap .works-viewer {
  max-width: 60rem;
  margin: 0 auto;
}
.works-sec_wrap .works-viewer figure {
  padding-bottom: 0;
}
.works-sec_wrap .main img {
  width: 100%;
  display: block;
  transition: opacity 0.2s ease;
}
.works-sec_wrap .main img.is-fade {
  opacity: 0;
}
.works-sec_wrap .thumbs {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  background-color: #444;
}
.works-sec_wrap .thumbs img {
  background-color: #FFF;
}
.works-sec_wrap .thumbs img {
  width: 10.8rem;
  cursor: pointer;
  opacity: 0.4;
  transition: opacity 0.2s ease;
}
.works-sec_wrap .thumbs img.is-active {
  opacity: 1;
}
.works-sec_wrap a.warks-link * {
  font-size: 2.4rem;
  padding: 0 0 0 0.8rem;
}
.works-sec_wrap a.red-link {
  margin-bottom: 6rem;
}
.works-sec_wrap .top-sec5::before, .works-sec_wrap .top-sec5::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .works-sec_wrap .sec-warks-flex {
    flex-wrap: wrap;
  }
  .works-sec_wrap .sec-warks-flex .warks-swiper, .works-sec_wrap .sec-warks-flex .sec-warks-textbox {
    width: 100%;
  }
  .works-sec_wrap .thumbs {
    flex-wrap: wrap;
  }
  .works-sec_wrap .thumbs img {
    width: calc(33.333% - 7px);
  }
}

/***************
参考事例アーカイブ
****************/
.archive-header {
  position: relative;
  z-index: 2;
}

.works-archive {
  background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
}
.works-archive .works-archive-wrap {
  position: relative;
  padding-bottom: 10rem;
}
.works-archive .works-archive-wrap::before {
  position: absolute;
  content: "";
  background: url(img/warks/warks-bg02.webp) center center no-repeat;
  background-size: contain;
  width: 45.1rem;
  height: 50.5rem;
  top: -20rem;
  left: -10rem;
}
.works-archive .works-archive-wrap::after {
  position: absolute;
  content: "";
  background: url(img/warks/warks-bg01.webp) center center no-repeat;
  background-size: contain;
  width: 53rem;
  height: 65.3rem;
  bottom: -15rem;
  right: 0;
}
.works-archive .works-archive-tab {
  padding-top: 10rem;
  position: relative;
  z-index: 2;
}
.works-archive .works-archive-tab .flex {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
.works-archive .works-archive-tab .flex li {
  font-size: 1.8rem;
  width: 15rem;
  text-align: center;
}
.works-archive .works-archive-tab .flex li a {
  width: 100%;
  padding: 1rem 0;
  display: inline-block;
  border: 1px solid #F0EEEC;
  background-color: #FFF;
  border-radius: 0 2rem 0 0;
}
.works-archive .works-archive-tab .flex li a.active {
  background-color: #F81515;
  color: #FFF;
}
.works-archive .works-archive-cont {
  background-color: #FFF;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 3rem 2.6rem;
  padding: 0 2rem 2rem;
  border-top: 0.5rem dotted #F81515;
  position: relative;
  z-index: 2;
}
.works-archive .works-archive-cont .works-archive-box {
  width: calc(25% - 2rem);
  background-color: #FFF;
  box-shadow: 2px 2px 5px 1px rgba(156, 156, 156, 0.27);
}
.works-archive .works-archive-cont .works-archive-box figure {
  margin-bottom: 2rem;
}
.works-archive .works-archive-cont .works-archive-box h3 {
  color: #FFF;
  background-color: #F81515;
  padding: 0.5rem 0;
  font-size: 2rem;
  text-align: center;
}
.works-archive .works-archive-cont .works-archive-box .works-ap1, .works-archive .works-archive-cont .works-archive-box .works-ap2 {
  padding: 1rem;
}
@media screen and (max-width: 767px) {
  .works-archive .works-archive-wrap::before, .works-archive .works-archive-wrap::after {
    display: none;
  }
  .works-archive .works-archive-tab .flex {
    flex-wrap: wrap;
    width: 90%;
    justify-content: space-between;
    margin: 0 auto;
    border-bottom: 0.5rem dotted #F81515;
    gap: 0.5rem;
  }
  .works-archive .works-archive-tab .flex li {
    width: calc(50% - 1rem);
  }
  .works-archive .works-archive-tab .flex li:first-of-type {
    width: 100%;
    display: grid;
  }
  .works-archive .works-archive-tab .flex li:first-of-type a {
    width: calc(50% - 1rem);
  }
  .works-archive .works-archive-cont {
    border-top: none;
    padding-top: 3rem;
    padding-bottom: 5rem;
    justify-content: space-between;
  }
  .works-archive .works-archive-cont .works-archive-box {
    width: calc(50% - 2rem);
  }
  .works-archive .works-archive-wrap {
  padding-bottom: 4rem;
}
}
@media screen and (max-width: 480px) {
  .works-archive .works-archive-cont .works-archive-box {
    width: 100%;
  }
}

/***************
お問い合わせ
****************/
.contact_wrap{
	padding: 6rem 1.5rem 0;
	background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
}
.contact_cont .main_p{
	font-size: 2.4rem;
	font-weight: 500;
	text-align: center;
	margin-bottom: 6rem;
}
.contact_cont .flex{
	display: flex;
	gap:6rem;
	justify-content: center;
	align-items: center;
}
.contact_cont .flex p{
	font-size: 1.8rem;
}
.contact_cont .btn-wrap p{
	font-size:2.2rem;
	line-height: 1.2em;
}
.contact_cont .btn-wrap a{
	height: 9.4rem;
}
.contact-form {
	max-width: 64rem;
	margin: 0 auto;
	padding: 10rem 0;
}
.contact-form .form-item {
	margin-bottom: 3rem;
}
.contact-form .form-item {
	line-height: 2em;
}
.contact-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.6rem;
	font-size: 1.8rem;
}
.contact-form .required {
	color: #FFF;
	font-size: 1.4rem;
	margin-left: 0.6rem;
	background-color: #F81515;
	padding: 0.4rem 1rem;
	border-radius: 0.8rem;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea {
	width: 100%;
	padding: 1rem 1.2rem;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1.6rem;
	box-sizing: border-box;
}
.contact-form textarea {
	min-height: 16rem;
	resize: vertical;
}
.contact-form select {
	background-color: #fff;
}
.contact-form .privacy {
	margin-top: 1rem;
	display: flex;
	justify-content: center;
	gap:1.5rem;
}
.contact-form .privacy label {
	font-weight: normal;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
.contact-form .form-submit {
	text-align: center;
	margin-top: 3rem;
}
.contact-form input[type="submit"] {
	width: 26rem;
	background-color: #999;
	color: #fff;
	border: none;
	padding: 1.4rem 4rem;
	font-size: 1.6rem;
	border-radius: 3rem;
	cursor: pointer;
	transition: background-color 0.3s ease;
}
.contact-form input[type="submit"]:hover {
	background-color: #666;
}
.wpcf7-form.invalid input[type="submit"],
.wpcf7-form.failed input[type="submit"] {
	background-color: #d80000;
	color: #fff;
	cursor: not-allowed;
}
.contact-form .wpcf7-spinner{
	position: absolute;
}
.wpcf7-form input[type="submit"]:disabled {
	background: #ccc;
	color: #999;
	cursor: not-allowed;
}
.wpcf7-form input[type="submit"]:not(:disabled) {
	background-image: linear-gradient(90deg, #e62f2d, #ffa15b);
	color: #ffffff;
	cursor: pointer;
}
.wpcf7-form .wpcf7-list-item{
	margin: 0;
}
@media screen and (max-width: 767px) {
.contact-form{
	padding: 5rem 0;
}
.contact_cont .flex{
	flex-wrap: wrap;
	gap:1rem;
}
.contact_cont .main_p{
	font-size: 1.7rem;
	white-space: nowrap;
}
.contact_cont .btn-wrap p{
	font-size: 1.6rem;
}
.contact_cont .btn-wrap a {
	height: 7.4rem;
}
}
/***************
thanks
****************/
.thanks{
	padding: 8rem 0;
	background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
}
.thanks h3{
	font-size: 3rem;
	text-align: center;
	margin-bottom: 10rem;
	position: relative;
}
.thanks h3::before {
	position: absolute;
	content: "";
	bottom: -3rem;
	width: 80%;
	height: 0.5rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-radius: 1rem;
	background-image: linear-gradient(90deg, #e62f2d, #ffa15b);
}
.thanks p{
	font-size: 2rem;
	text-align: center;
}
.thanks .thanks-cont a{
	margin: 10rem auto;
	max-width: 18rem;
	background-color: #F81515;
	color: #FFF;
	display: block;
	font-size: 3rem;
	padding: 1rem 4rem;
	text-align: center;
	border-radius: 5rem;
	border:1px solid #F81515;
	transition: 0.2s;
}
.thanks .thanks-cont a:hover{
	background-color: #FFF;
	color: #F81515;
}
.thanks .thanks-cont .download-list a{
	background-color: transparent;
	max-width: none;
	border:none;
}
.thanks .thanks-cont .download-list a span{
	color: #F81515;
	font-size: 2.4rem;
	border-bottom: 1px solid #F81515;
	transition: 0.2s;
}
.thanks .thanks-cont .download-list a:hover span{
	color: #eb7820;
	border-bottom: 1px solid #eb7820;
}
.thanks h2{
	font-size: 3rem;
	text-align: center;
}
@media screen and (max-width: 767px) {
.thanks h3.t-download{
	font-size: 2.2rem;
}
.thanks .thanks-cont .download-list a{
	line-height: 1em;
	padding: 0;
}
.thanks .thanks-cont .download-list a span{
	font-size: 2.2rem;
}
.thanks p{
	font-size: 1.6rem;
}
}
/***************
資料請求
****************/
.wpcf7-form .wpcf7-checkbox {
	display: none;
}
.page-request{
	text-align: center;
}
.page-request .pege-header{
	font-size: 3.6rem;
	display: grid;
	height: 199px;
	justify-content: center;
	line-height: 0.8;
	align-content: center;
}
.page-request .pege-header span{
	font-size: 3.6rem;
}
.request-info{
	background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
	padding: 4rem 0;
	overflow: hidden;
}
.request-info .left-white-rap{
	background-color: #FFF;
	border-radius:0 8rem 8rem 0;
	position: relative;
	z-index: 0;
	margin-top: 6rem;
	margin-right: 3rem;
}
.request-info .left-white-rap::after{
	position: absolute;
	content: '';
	background-color: #FFF;
	width: 100%;
	height: 100%;
	top:0;
	left: -50%;
	z-index: 0;
}
.request-info .left-white-rap .catalog-selection{
	position: relative;
	z-index: 1;
	padding: 6rem 0;
}
.catalog-selection .catalog-grid{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:2rem 8rem;
}
.catalog-selection .catalog-grid .catalog-item{
	width: 40%;
	text-align: left;
	max-width: 46rem;
	padding-bottom: 6px;
}
.catalog-selection .catalog-grid .catalog-item:nth-of-type(1), .catalog-selection .catalog-grid .catalog-item:nth-of-type(2){
	border-bottom: 1px solid #858585;
}
.catalog-selection .catalog-grid .catalog-item h4{
	font-size: 2.1rem;
	font-weight: 500;
	line-height: 1.2em;
	margin-bottom: 0.5em;
}
.catalog-selection .catalog-grid .catalog-item > p:first-child{
	width: 0;
	height: 0;
}
.catalog-selection .catalog-grid figure{
	width: 100%;
	max-width: 46rem;
}
.request-info .right-white-rap{
	background-color: #FFF;
	border-radius:8rem 0 0 8rem;
	position: relative;
	z-index: 0;
	margin-top: 6rem;
}
.request-info .right-white-rap::after{
	position: absolute;
	content: '';
	background-color: #FFF;
	width: 100%;
	height: 100%;
	top:0;
	right: -50%;
	z-index: 0;
}
.request-info .right-white-rap .entry-fields{
	position: relative;
	z-index: 1;
	text-align: left;
}
.catalog-desc input{
	transform: scale(1.4);
	margin-right: 1rem;
}
@media screen and (max-width: 767px) {
.page-request .pege-header{
	height: 140px;
}
.request-info .left-white-rap{
	margin-top: 4rem;
}
.request-info{
	padding: 0;
}
.catalog-selection .catalog-grid .catalog-item:nth-of-type(3){
	border-bottom: 1px solid #858585;
}
.page-request .pege-header span{
	font-size: 2.8rem;
}
.catalog-selection .catalog-grid .catalog-item{
	display: flex;
	width: 100%;
	flex-direction: column;
	max-width: 46rem;
}
.request-info .left-white-rap{
	border-radius: 0 3rem 3rem 0;
	margin-right: 1.5rem;
	padding:2rem;
}
.request-info .right-white-rap{
	border-radius: 3rem 0 0 3rem;
	margin-left: 1.5rem;
	padding:2rem;
}
.catalog-selection .wpcf7-list-item-label{
	margin-bottom: 0;
	line-height: 1.2em;
}
.catalog-selection .catalog-grid .catalog-item h4{
	display: flex;
	gap:1rem;
	font-size: 1.9rem;
}
}
/***************
flow
****************/
.flow-page{
	background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
	padding: 6rem 3rem;
	position: relative;
	overflow: hidden;
}
.flow-page::before , .flow-page::after{
	position: absolute;
	content: '';
}

.flow-page::before{
	background: url(img/flow/flow-bg.webp) center center no-repeat;
	background-size: contain;
	width: 24.9rem;
	height: 33.4rem;
	bottom: -14rem;
	left: -1rem;
}
.flow-page::after{
	background: url(img/flow/flow-bg-2.webp) center center no-repeat;
	background-size: contain;
	width: 37.9rem;
	height: 50.4rem;
	top: -13rem;
	right: -7rem;
}
.flow-page .flow-wrap {
	position: relative;
	z-index: 1;
}
.flow-page h3{
	font-size: 3.6rem;
	text-align: center;
	margin-bottom: 6rem;
	position: relative;
	z-index: 1;
}
.flow-page .white-wrap{
	background-color: #FFF;
	border-radius: 3rem;
	margin-bottom: 4rem;
	padding: 8rem 0;
}
.flow-page .flex-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:6rem;
}
.flow-page .flow-box{
	position:relative;
	width: 50%;
	max-width: 48rem;
	border-radius:0 2rem 2rem 2rem;
	background:#fff;
}
.flow-page .flow-box::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	padding:2px;
	border-radius:0 2rem 2rem 2rem;
	background:linear-gradient(90deg,#e62f2d, #ffa15b);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite:xor;
	mask-composite:exclude;
}
.flow-box .flow-tab{
	position:absolute;
	padding: 0.6rem 2rem;
	color: #FFF;
	background-color: #F81515;
	font-weight: bold;
	font-size: 2rem;
	top:-4.4rem;
	left: 0;
	border-radius: 1rem 1rem 0 0;
}
.flow-page .flow-box h4{
	font-size: 2.4rem;
}
.flow-page .flow-box h4 span{
	font-size: 60%;
	padding-left: 2rem;
}
.flow-page .flow-box h4 span strong{
	font-size: 250%;
}
.flow-page .flow-box h4 span.flow-h4{
	font-size: 100%;
	margin-left: 2rem;
	padding-left: 0;
	position: relative;
	display: inline-block;
	margin-bottom: 2rem;
}
.flow-page .flow-box h4 span.flow-h4::before{
	position: absolute;
	content:"";
	width: 100%;
	height: 0.4rem;
	bottom: 0;
	left: 0;
	background:linear-gradient(90deg,#e62f2d, #ffa15b);
}
.flow-page .flow-box figure{
	max-width: 40rem;
	padding: 0 2rem;
	margin: 0 auto 1rem;
}
.flow-page .flow-box p{
	max-width: 40rem;
	padding: 0 2rem;
	margin: 0 auto 2rem;
}
.flow-cta{
	position: relative;
	z-index: 1;
}
.flow-cta h3{
	background: url(img/flow/flow-bg-3.webp) center center no-repeat;
	background-size: cover;
	color: #FFF;
	text-align: center;
	padding: 1.5rem 0;
}
.flow-cta h3 span{
	margin-right: 30rem;
	font-size: 3.2rem;
}
.flow-cta .flow-cta-inner{
	margin-left: 10rem;
	padding-top: 3rem;
	display: flex;
	align-items: center;
	justify-content: space-evenly;
}
.flow-cta .flow-cta-inner .flow-cta-p{
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
.flow-cta .flow-cta-inner figure{
	width: 29.3rem;
	position: relative;
    top: 1rem;
}
.flow-cta .flow-cta-inner .head_right{
	display: flex;
	gap: 5.2rem;
}
.flow-cta .flow-cta-inner .head_right p , .flow-cta .flow-cta-inner .head_right a{
	font-weight: 500;
}
.flow-cta .flow-cta-inner .head_right p.tel-num{
	line-height: 1em;
	font-size: 2.8rem;
}
.flow-cta .flow-cta-inner .head_right p.tel-note{
	font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
	.flow-page{
		padding: 5rem 1rem;
	}
	.flow-cta h3{
		background: url(img/flow/flow-bg-3-sp.webp) center center no-repeat;
		background-size: cover;
	}
	@media screen and (max-width: 450px) {
		.flow-cta h3{
			background-size: contain;
		}
	}
	.flow-cta h4{
		text-align: center;
		border-bottom:solid 3px transparent;
		border-image:linear-gradient(90deg,#e62f2d, #ffa15b);
		border-image-slice:1;
		font-size: 2.2rem;
		padding: 0.8rem 0;
		display: block;
	}
	.flow-page .flex-wrap {
		justify-content: flex-end;
		margin-right: 1rem;
	}
	.flow-page .flow-box{
		width: 85%;
	}
	.flow-page .flow-box .flow-sp{
		display: flex;
	}
	.flow-page .flow-box figure{
		padding: 0 0 0 1rem;
	}
	.flow-box .flow-tab {
		position: absolute;
		padding: 2rem 0.6rem;
		color: #FFF;
		top: 0;
		left: -4.4rem;
		border-radius: 1rem 0 0 1rem ;
		writing-mode:vertical-rl;
		text-orientation:mixed;
		letter-spacing: 0.2rem;
	}
	.flow-page .white-wrap {
		padding: 3rem 0;
	}
	.flow-page .flow-box p {
		font-size: 1.4rem;
	}
	.flow-cta{
		padding-bottom: 2rem;
	}
	.flow-cta h3 span {
		margin-right:0;
		font-size: 2.2rem;
	}
	.flow-cta .flow-cta-inner {
		margin-left: 1rem;
		padding-top: 2rem;
		display: block;
		position: relative;
	}
	.flow-cta .flow-cta-inner .flow-cta-p{
		font-size: 1.8rem;
		font-weight: 800;
	}
	.flow-cta .flow-cta-inner .head_right {
		gap: 2rem;
		flex-direction: column;
		margin-bottom: 3rem;
	}
	.flow-cta .flow-cta-inner .head_right p.tel-num , .flow-cta .flow-cta-inner .head_right a{
		font-size: 1.5rem;
	}
	.flow-cta .flow-cta-inner .head_right p.tel-note {
		font-size: 0.9rem;
	}
	.flow-cta .btn-wrap a{
		height: 5rem;
		padding-left: 1rem;
	}
	.flow-cta .flow-cta-inner figure{
		width: 14rem;
		position: absolute;
		right: 2rem;
		top: 15.2rem;
	}
}
/***************
feature
****************/
.feature-wrap{
	padding: 4rem 0;
	background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
}
.feature-wrap .white-wrap{
	position: relative;
	border-radius: 0 8rem 8rem 0;
	background-color: #FFF;
	padding: 8.4rem 0;
	margin-right: 3rem;
}
.feature-wrap .white-wrap::before{
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top:0;
	left: -50%;
	background-color: #FFF;
}
.feature-wrap .feature-cont{
	position: relative;
	z-index: 1;
}
.feature-wrap .feature-box{
	max-width: 84rem;
	margin: 0 auto 2rem;
	display: flex;
	gap: 8rem;
	align-items: center;
	justify-content: space-between;
	border-bottom:solid 3px transparent;
	border-image:linear-gradient(90deg,#e62f2d, #ffa15b);
	border-image-slice:1;
	padding: 3rem 0;
}
.feature-box .feature-img1 img{
	width: 15rem;
}
.feature-box .feature-img2 img{
	width: 15rem;
}
.feature-box .feature-img3 img{
	width: 15rem;
}
.feature-box .feature-img4 img{
	width: 11.1rem;
}
.feature-box .feature-img5 img{
	width: 16.9rem;
}
.feature-box h3{
	font-size: 3.2rem;
	margin-bottom: 2.5rem;
}
.feature-box h3 span{
	font-size: 3.2rem;
	padding-right: 2rem;
}
.feature-box p{
	font-size: 2rem;
}
.feature-box .text-box{
	width: 57rem;
}
.flow-cta.feature h3{
	background: url(img/feature/feature-bg.webp) center center no-repeat;
	background-size: cover;
}
.flow-cta.feature h3 span {
	margin-right: 55rem;
}
.flow-cta.feature .flow-cta-inner figure {
	width: 27.4rem;
	position: relative;
	top: 1rem;
}
@media screen and (max-width: 767px) {
	.feature-wrap .white-wrap {
		border-radius: 0 4rem 4rem 0;
		margin-right: 1.5rem;
		padding: 1rem 0;
	}
	.feature-wrap .feature-box{
		flex-direction: column;
		gap:0;
		padding: 1rem 0.5rem;
	}
	.feature-box .text-box{
		width: 95%;
	}
	.feature-box h3 {
		font-size: 2rem;
		text-align: center;
		position: relative;
		margin-bottom: 0.5rem;
	}
	.feature-box h3 span{
		font-size: 2rem;
		padding-right: 0.5rem;
	}
	.feature-box p {
		font-size: 1.4rem;
	}
	.flow-cta h3 span{
		margin-right: 0;
	}
	.flow-cta.feature h3 span{
		font-size: 2rem;
		margin-right: 0;
	}
	.flow-cta.feature h3{
		background: url(img/flow/flow-bg-3-sp.webp) center center no-repeat;
		background-size: contain;
		position: relative;
	}
	.flow-cta.feature h3::before{
		position: absolute;
		content: '';
		background-color: #e62f2d;
		height: 100%;
		width: 100%;
		top: 0;
		left: -50%;
		z-index: -1;
	}
	.feature-box .feature-img1 img{
		width: 10rem;
	}
	.feature-box .feature-img2 img{
		width: 10rem;
	}
	.feature-box .feature-img3 img{
		width: 10rem;
	}
	.feature-box .feature-img4 img{
		width: 10rem;
	}
	.feature-box .feature-img5 img{
		width: 10rem;
	}
	.flow-cta.feature .flow-cta-inner {
		padding-right: 1rem;
	}
	.flow-cta.feature .flow-cta-inner figure {
		width: 12rem;
		position: absolute;
		right: 2rem;
		top: 22.8rem;
	}
	@media screen and (max-width: 480px) {
	.flow-cta.feature h3::before{
		display: none;
	}
	}
}
/***************
会社概要
****************/
.overview-sec01{
	background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
	padding: 4rem 0;
}
.overview-sec01 .flex-box{
	margin: 3rem 0 8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:6rem
}
.overview-sec01 .flex-box figure , .overview-sec01 .flex-box div{
	width: 50%;
}
.overview-sec01 .flex-box figure{
	max-width: 43.7rem;
}
.overview-sec01 p{
	font-size: 1.8rem;
	margin-bottom: 1em;

}
.overview-sec01 .flex-box figure figcaption{
	text-align: center;
	font-size: 2rem;
}
.overview-sec02{
	background-image: linear-gradient(90deg, #fffef0, #f7f3ef);
	padding: 8rem 0;
}
.overview-sec02 table{
	margin: 5rem auto;
	width: 80%;
	background-color: #FFF;
	border-collapse: collapse;
}
.overview-sec02 table th, .overview-sec02 table td{
	border:solid 1px #999;
	padding: 1rem 2rem;
}
.overview-sec02 table th{
	background-color: #f1f1f1;
}
.overview-sec03{
	background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
	padding: 5rem 0;
}
.overview-sec03 iframe{
	width: 60%;
	height: 36rem;
	margin: 5rem auto;
	display: block;
}
@media screen and (max-width: 767px) {
	.overview-sec01 .flex-box{
		flex-wrap: wrap;
		gap:2rem
	}
	.overview-sec01 .flex-box figure, .overview-sec01 .flex-box div{
		width: calc(100% - 3rem);
	}
	.overview-sec02 table{
		width: calc(100% - 3rem);
		margin-bottom: 0;
	}
	.overview-sec02 table tr{
		display: flex;
		flex-direction: column;
	}
	.overview-sec02 table tr td , .overview-sec02 table tr th{
		border-bottom: none;
	}
	.overview-sec02 table tr th{
		text-align: left;
	}
	.overview-sec02 table tr:last-child td{
		border-bottom:solid 1px #999;
	}
	.overview-sec03 iframe{
		width: 90%;
		height: 20rem;
		margin: 5rem auto;
		display: block;
	}
	.overview-sec01 .flex-box{
		margin: 3rem 0 4rem;
	}
	.overview-sec02 {
		padding: 4rem 0;
	}
	.overview-sec03 {
		padding: 4rem 0;
	}
}
/***************
faq
****************/
.faq-wrap{
	background-image: linear-gradient(90deg, #f7f3ef, #fffef0);
	padding: 5rem 0;
}
.faq-item{
	border: 2px solid transparent;
	border-radius: 8px;
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(90deg, #ff7a18, #ff2d55) border-box;
	max-width: 80rem;
	margin: 0 auto 3rem;
}
.faq-item .faq-q {
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	padding: 1em;
	cursor: pointer;
	font-size: 2.4rem;
	color: #444;
}
.faq-item .faq-q h4{
	font-size: 2.4rem;
	font-weight: 500;
}
.faq-item .faq-q h4 span , .faq-item .faq-a span{
	font-size: 3rem;
	font-weight: normal;
	padding-right: 0.6em;
}
.faq-item .faq-q h4 span{
	color: #F81515;
}
.faq-item .faq-a span{
	color:#3584bb;
	padding:0 2.4rem 1em 2.4rem;
}
.faq-item .faq-a {
	overflow: hidden;
	height: 0;
	transition: height 0.3s ease;
	display: flex;
	align-items: baseline;
	position: relative;
}
.faq-item .faq-a::before {
	content: '';
	height: 2px;
	background-color:#FFF45D;
	width: 85%;
	position: absolute;
	top: 0rem;
	left: 8rem;;
}
.faq-item .faq-a p{
	padding:0 1em 1em 0;
	font-size: 2rem;

}

.faq-item.is-open .faq-q {
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.faq-item {
		margin: 0 1.5rem 2rem;
	}
	.faq-item .faq-q h4 {
		font-size: 1.8rem;
	}
	.faq-item .faq-q{
		padding: 1rem;
	}
	.faq-item .faq-a span {
		color: #3584bb;
		padding: 0 1rem 1rem ;
	}
	.faq-item .faq-a p{
		font-size: 1.6rem;
	}
	.faq-item .faq-a::before {
		left: 5rem;
		width: 80%;
	}
	.faq-item .faq-q h4 span, .faq-item .faq-a span{
		font-size: 2.6rem;
	}
}
/***************
プライバシーポリシー
****************/
.privacy-policy{
	background-image:linear-gradient(90deg, #f7f3ef, #fffef0);
	padding: 6rem 1.5rem;
}
.privacy-policy .privacy-policy-box{
	margin-bottom: 1.8em;
}
.privacy-policy-box p{
	text-indent: 1em;
}
.privacy-policy-box h3{
	font-size: 2rem;
	margin-bottom: 0.3em;
}
.privacy-policy ol{
	padding: 1em 0 1em 2em;
}
.privacy-policy ol li{
	list-style: decimal;
}
/***************
追加
****************/
.form-item.privacy span a{
	color: #3584bb;
	text-decoration: underline;
}
.form-item.privacy span a:hover{
	text-decoration: none;
}
.tit_ver0122_type3{
	font-size: 2.4rem;
}
.tit_ver0122_type3 {
	font-size: 3.6rem;
	color: #444;
	display: inline-block;
	background-image: linear-gradient(90deg, #e62c2c, #ffa15a);
	padding: 1rem 8rem 1rem 4rem;
	clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
	position: relative;
	margin-left: 8.6rem;
}
.tit_ver0122_type3::before {
	position: absolute;
	content: "";
	display: inline-block;
	background-color: #FFF;
	padding: 1rem 8rem 1rem 4rem;
	clip-path: polygon(0 0, 100% 0, 94% 100%, 0 100%);
	width: calc(100% - 0.8rem);
	height: calc(100% - 0.8rem);
	z-index: -1;
	top: 0.47rem;
	left: 0.4rem;
}
@media screen and (max-width: 767px) {
	.tit_ver0122_type3 {
	font-size: 2rem;
	margin-left: 1.6rem;
	}
	.tit_ver0122_type3::before {
	width: calc(100% - 0.4rem);
	height: calc(100% - 0.4rem);
	top: 0.2rem;
	left: 0.2rem;
	}
}
/***************
000
****************/
/***************
000
****************/


        
        .top-sec3 .top-sec3-cont figure {
  max-width: 36rem;
  aspect-ratio: 360 / 200; 
  margin-bottom: 1rem;
  overflow: hidden;
}

.top-sec3 .top-sec3-cont figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media screen and (max-width: 767px) {

.top-sec3 .top-sec3-cont figure {
  display: none;
}

.top-sec3 .top-sec3-cont .sp_only img{
        display: block;
        width: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;}}
        
        .lineup-sec_wrap .lineup_sec2 .lineup_sec2_wrap .lineup_sec2_box figure {
  display: block;
}

@media screen and (max-width: 767px) {
  .lineup-body .pege-header, .lineup-body .single-header, .lineup-body .single-header, .lineup-body .archive-header, .page-main .pege-header, .page-main .single-header, .page-main .single-header, .page-main .archive-header, .single-main .pege-header, .single-main .single-header, .single-main .single-header, .single-main .archive-header, .archive .pege-header, .archive .single-header, .archive .single-header, .archive .archive-header {
height: 150px;
  }
  
  @media screen and (max-width: 767px) {
    .top-sec2 .top-sec2_bg2 .inner {
        position: sticky;
        display: flex;
            flex-direction: column;
            align-items: center;
                    gap: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .top-sec2_bg2 .inner a {
        max-width: none;
    }
}

.top-sec2 .top-sec2_bg2 .inner {
    padding: 3rem 0 3rem;
}