@charset "UTF-8";
/* Scss Document */
/* A Modern CSS Reset */
*, *::before, *::after {
  box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

img, picture {
  max-width: 100%;
  display: block;
}

input, button, textarea, select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
img {
  max-width: 100%;
  height: auto;
  backface-visibility: hidden;
}

ul, ol, li {
  list-style: none;
  padding: 0;
  margin: 0;
}

a {
  outline: none;
  text-decoration: none;
}

/*--------------------------
メディアクエリ設定
---------------------------*/
/*マップ型変数で定義*/
/*@mixinでメディアクエリを呼び出す。変数mq、初期値sm*/
/*フォントサイズレスポンシブ*/
/*@mixin fs-vw($font-size, $base-width: 414) {
  font-size: $font-size / $base-width * 100vw;
}*/
/*20pxのテキストを画面幅に合わせて変更する場合*/
/*.sample {
  @include fs-vw(20);
}*/
html, body {
  scroll-behavior: smooth;
  scroll-padding-top: 60px;
  overflow-x: hidden;
}
@media screen and (min-width: 768px) {
  html, body {
    scroll-padding-top: 144px;
  }
}

body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #333333;
}

img {
  width: 100%;
}

/*不要かも？*/
.ly_body {
  background: #efefef;
}
.ly_body.ly_body__entry {
  background: #fff;
}

.ly_container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
}

.sec.sec_fill {
  background: #f2f7fa;
}
.sec.sec_fill02 {
  background: #1671b6;
}

.sectionInner {
  width: 100%;
  padding: 32px 16px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .sectionInner {
    max-width: 1000px;
    padding: 64px 16px;
  }
}
.sectionInner > .ttlBox > .ttl {
  text-align: center;
  color: #1671b6;
  font-weight: 700;
  font-size: min(6vmin, 36px);
}
@media screen and (min-width: 768px) {
  .sectionInner > .ttlBox > .ttl {
    font-size: min(8vmin, 40px);
  }
}
.sectionInner .imgBox > img {
  width: 18%;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .sectionInner .imgBox > img {
    width: auto;
  }
}

/*不要かもエリアここまで*/
.hp_sp_br {
  display: block;
}
@media screen and (min-width: 768px) {
  .hp_sp_br {
    display: none;
  }
}

.hp_pc_br {
  display: none;
}
@media screen and (min-width: 768px) {
  .hp_pc_br {
    display: block;
  }
}

.hp_ta-c {
  text-align: center !important;
}

.hp_ta-r {
  text-align: right !important;
}

.hp_txt_small {
  font-size: 0.8em;
}

.hp_txt_large {
  font-size: 1.5em;
}

.hp_img_tac {
  display: block;
  margin: 0 auto;
}

.hp_txt_caution {
  color: #E00429;
}

.hp_txt_orange {
  color: #FF5639;
}

.hp_bg_txt {
  background: #FF5639;
  padding: 0.1em;
  color: #fff;
  font-weight: bold;
}

.hp_txt_exBold {
  font-weight: 900;
}

.hp_txt_underLine {
  background: linear-gradient(transparent 45%, #FFFB95 45%);
  /*background: linear-gradient(transparent 75%, #FFE564 75%);*/
}

.hp_txt_slant {
  position: relative;
}
.hp_txt_slant::before {
  display: block;
  content: "";
  width: 1em;
  height: 2px;
  border-radius: 12px;
  background: #000000;
  position: absolute;
  top: 50%;
  left: -1.2em;
  transform: translateY(-50%) rotate(70deg);
}
.hp_txt_slant::after {
  display: block;
  content: "";
  width: 1em;
  height: 2px;
  border-radius: 12px;
  background: #000000;
  position: absolute;
  top: 50%;
  right: -1.2em;
  transform: translateY(-50%) rotate(-70deg);
}
.hp_txt_slant.hp_txt_slant__w::before {
  background: #fff;
}
.hp_txt_slant.hp_txt_slant__w::after {
  background: #fff;
}
.hp_txt_slant.hp_txt_slant__multi {
  position: relative;
  font-weight: bold;
}
.hp_txt_slant.hp_txt_slant__multi::before {
  display: block;
  content: "";
  width: 2em;
  height: 2px;
  border-radius: 12px;
  background: #000000;
  position: absolute;
  top: 50%;
  left: -4.2em;
  transform: translateY(-50%) rotate(70deg);
}
.hp_txt_slant.hp_txt_slant__multi::after {
  display: block;
  content: "";
  width: 2em;
  height: 2px;
  border-radius: 12px;
  background: #000000;
  position: absolute;
  top: 50%;
  right: -3.2em;
  transform: translateY(-50%) rotate(-70deg);
}

.hp_txt_dot {
  position: relative;
}
.hp_txt_dot::before {
  display: block;
  content: "";
  width: 0.2em;
  height: 0.2em;
  background: #FF5639;
  border-radius: 50%;
  position: absolute;
  top: -2px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.hp_pos_rel {
  position: relative;
}

.hp_underline_y {
  border-bottom: solid 2px #F6CE25;
}

/*-----------------btn--------------------------*/
.btn {
  width: 100%;
  display: block;
  background: #231815;
  padding: 0.875em;
  border-radius: 88px;
  position: relative;
  text-align: center;
  z-index: auto;
  transition: 0.3s all;
}
.btn::after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #ffcd14 0%, #ff5639 100%);
  border-radius: 88px;
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}
.btn:hover .icon {
  transform: translateX(4px);
  transition: 0.3s all;
}
.btn:hover .iconBox {
  transform: translateX(4px);
  transition: 0.3s all;
}
.btn > .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.btn .label {
  background: #ffcd14;
  background: linear-gradient(90deg, #ffcd14 0%, #ff5639 100%);
  border-radius: 4px;
  padding: 0.2em 0.3em;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.btn .txt {
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
}
.btn .icon {
  width: 24px;
}
.btn.btn-gradient {
  padding: 1.313em;
  background: linear-gradient(90deg, #ffcd14 0%, #ff5639 100%);
  box-shadow: 0px 5px 20px -1px rgba(0, 0, 0, 0.3);
}
.btn.btn-gradient::after {
  display: none;
}
.btn.btn-gradient > .inner {
  justify-content: center;
}
.btn.btn-gradient > .inner .txt {
  width: 100%;
  font-size: 1.125em;
}
@media screen and (min-width: 768px) {
  .btn.btn-gradient > .inner .txt {
    font-size: 1.5em;
  }
}
.btn.btn-gradient > .inner .iconBox {
  width: 24px;
}
.btn.btn-black {
  box-shadow: none;
  color: #fff;
  background-image: url("../images/icon-arrow-w@2x.webp");
  background-repeat: no-repeat;
  background-position: center right 8px;
  background-size: 24px;
  line-height: 1.2;
}
.btn.btn-black::after {
  display: none;
}
.btn.btn__submit {
  font-size: 1.313em;
  color: #fff;
  font-weight: bold;
  background: linear-gradient(90deg, #ffcd14 0%, #ff5639 100%);
  border-style: none;
  box-shadow: 0px 5px 12px -1px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
.btn.btn__submit::after {
  display: none;
}
.btn.btn__submit.js-disabled {
  background: #fff;
  color: #333;
  pointer-events: none;
  border: solid 1px #333;
  cursor: default;
  box-shadow: none;
}
.btn.btn__back {
  background: #fff;
  color: #333;
  border: solid 1px #333;
  cursor: pointer;
}
.btn.btn__back::after {
  display: none;
}

/*-----------------header--------------------------*/
.header {
  width: 100vw;
  position: sticky;
  top: 0;
  z-index: 99999;
  background: #fff;
}
.header.header__static {
  position: static;
}
.header > .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 1em 0.8em;
  gap: 16px;
  row-gap: 40px;
  background: #fff;
  position: relative;
  z-index: 9999;
}
@media screen and (min-width: 768px) {
  .header > .inner {
    padding: 12px 24px 20px 24px;
    flex-wrap: nowrap;
    gap: 16px;
  }
}
.header .logoBox {
  width: 40%;
  flex: 0 1 auto;
}
@media screen and (min-width: 768px) {
  .header .logoBox {
    width: 240px;
  }
}
.header .navBox {
  display: none;
  width: 100%;
  flex: 0 1 auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .header .navBox {
    display: block;
    width: 100%;
    max-width: 520px;
  }
}
.header .navBox.js-active {
  display: block;
}
.header .navBox .navList {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .header .navBox .navList {
    flex-direction: row;
  }
}
.header .navBox .navList > li {
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .header .navBox .navList > li {
    width: auto;
  }
}
.header .navBox .navList > li > a {
  display: block;
  width: 100%;
  padding: 0.5em;
  font-size: 0.875em;
  color: #101112;
}
@media screen and (min-width: 768px) {
  .header .navBox .navList > li > a {
    flex-direction: row;
    display: inline;
    width: auto;
    padding: 0;
  }
}
.header .btnBox {
  display: none;
  flex: 0 1 auto;
}
@media screen and (min-width: 768px) {
  .header .btnBox {
    display: block;
    width: 100%;
    max-width: 270px;
  }
}
.header .navBtn {
  display: block;
  width: 32px;
  height: 20px;
  position: relative;
  cursor: pointer;
  z-index: 999;
}
@media screen and (min-width: 768px) {
  .header .navBtn {
    display: none;
  }
}
.header .navBtn.js-active .navBtnLine {
  transition: 0.3s all;
  top: 50%;
  bottom: auto;
  transform: rotate(-45deg) translateY(-50%);
}
.header .navBtn.js-active .navBtnLine:nth-child(2) {
  display: none;
}
.header .navBtn.js-active .navBtnLine:nth-child(3) {
  top: 50%;
  bottom: auto;
  transform: rotate(45deg) translateY(-50%);
}
.header .navBtn .navBtnLine {
  width: 100%;
  height: 2px;
  background: #231815;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.header .navBtn .navBtnLine:nth-child(2) {
  top: 50%;
}
.header .navBtn .navBtnLine:nth-child(3) {
  top: auto;
  bottom: 0;
}

.gnaviBg {
  display: none;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}

/*-----------------footer--------------------------*/
.footer {
  background: #fff;
}
.footer > .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  gap: 24px;
  padding: 1em 2em;
}
@media screen and (min-width: 768px) {
  .footer > .inner {
    flex-direction: row;
  }
}
.footer .logoBox {
  width: 70%;
  margin: 0 auto;
  flex: 0 1 auto;
}
@media screen and (min-width: 768px) {
  .footer .logoBox {
    max-width: 240px;
    width: 100%;
  }
}
.footer .footerListBox {
  width: 100%;
  flex: 0 1 auto;
}
.footer .footerList {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: column;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .footer .footerList {
    align-items: center;
    flex-direction: row;
  }
}
.footer .footerList > li {
  flex: 0 1 auto;
  text-align: center;
}
.footer .footerList > li > a {
  font-size: 0.875em;
  color: #333;
}
.footer .copyrightBox {
  text-align: center;
  padding: 0.8em 0.8em 4em;
}
@media screen and (min-width: 768px) {
  .footer .copyrightBox {
    padding: 0.8em;
  }
}
.footer .copyrightBox > small {
  font-size: 0.8em;
}

/*-----------------固定ボタン--------------------------*/
.fixedBox { /*不要？*/
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 999;
  background: #231815;
}
@media screen and (min-width: 768px) {
  .fixedBox {
    top: 50%;
    left: auto;
    bottom: auto;
    transform: translateY(-50%);
    background: transparent;
  }
}

/*こっちが正？*/
.fixedBtn {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0px 1px 14px -4px rgba(0, 0, 0, 0.6);
  gap: 0;
}
@media screen and (min-width: 768px) {
  .fixedBtn {
    display: block;
    width: 174px;
    border-radius: 12px 0 0 12px;
  }
}
.fixedBtn .upperBox {
  width: 100%;
  background: #231815;
  padding: 1.5em 0.5em;
}
@media screen and (min-width: 768px) {
  .fixedBtn .upperBox {
    border-radius: 12px 0 0 0;
    padding: 0.5em;
  }
}
.fixedBtn .upperBox > .inner {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .fixedBtn .upperBox > .inner {
    display: block;
  }
}
.fixedBtn .upperBox .hp_smallTxt {
  display: block;
  font-size: 0.6em;
}
@media screen and (min-width: 768px) {
  .fixedBtn .upperBox .hp_smallTxt {
    font-size: 0.8em;
  }
}
.fixedBtn .upperBox .txt {
  display: block;
}
.fixedBtn .upperBox .txtBox {
  width: 100%;
  color: #fff;
  font-weight: bold;
  font-size: 1.125em;
}
@media screen and (min-width: 768px) {
  .fixedBtn .upperBox .txtBox {
    font-size: 1.5em;
  }
}
.fixedBtn .upperBox .iconBox {
  width: 22%;
  position: static;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .fixedBtn .upperBox .iconBox {
    width: 32%;
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
.fixedBtn .lowerBox {
  width: 100%;
  padding: 1.2em 1em;
  border-radius: 100vmax;
  background: linear-gradient(90deg, #ffcd14 0%, #ff5639 100%);
}
@media screen and (min-width: 768px) {
  .fixedBtn .lowerBox {
    border-radius: 0 0 0 10px;
    padding: 0.5em 1em;
  }
}
.fixedBtn .lowerBox > .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.fixedBtn .lowerBox .txt {
  flex: 0 1 auto;
  width: 100%;
  color: #fff;
  font-weight: bold;
  text-shadow: 3px 1px 4px rgba(0, 0, 0, 0.2);
  font-size: 1em;
  letter-spacing: 0.05em;
}
.fixedBtn .lowerBox .iconBox {
  width: 24px;
  flex: 0 1 auto;
  margin-left: auto;
}

.floatContacts {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 5;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .floatContacts {
    display: none;
  }
}
.floatContacts .btnBox {
  width: 100%;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}
.floatContacts .telBox {
  width: 100%;
}
.floatContacts .telBox > a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row-reverse;
  background: #f2f7fa;
  padding: 0.5em 0;
}
.floatContacts .telBox .txtBox {
  text-align: center;
}
.floatContacts .telBox .txtBox .spTxt {
  display: block;
  color: #008ed8;
  font-size: min(3.5vw, 18px);
  line-height: 1;
}
.floatContacts .telBox .txtBox .numTxt {
  display: block;
  color: #008ed8;
  font-weight: 700;
  font-family: "Roboto";
  font-size: min(4vmax, 48px);
  line-height: 1;
  margin: 0.2em auto;
}
.floatContacts .telBox .txtBox .timeTxt {
  display: block;
  font-size: min(3vw, 16px);
  line-height: 1;
  color: #101112;
}
.floatContacts .telBox .iconBox {
  width: 24%;
}
.floatContacts .telBox .iconBox > img {
  margin: 0 auto;
}
.floatContacts .telBox .lineBox {
  width: 100%;
  display: flex;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  max-width: 65px;
  background: #00B900;
  padding: 1em;
  font-size: min(3vw, 32px);
}
.floatContacts .telBox .mailBox {
  width: 100%;
  display: flex;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  max-width: 65px;
  background: #008ED8;
  padding: 1em;
  font-size: min(3vw, 32px);
}

/*-----------------お問合わせフォーム--------------------------*/
/*

input {
	width: 100%;
	font-size: 1.125em;
	padding: 0.3em 0.5em;
	&::placeholder {
		color: #ccc;
	}
	&[type="radio"] {
		width: auto;
	}
	&[type="checkbox"] {
		width: auto;
			-webkit-transform: scale(1.5);
		transform: scale(1.5);
	}
}

textarea {
	width: 100%;
	font-size: 1.125em;
	padding: 0.5em;
	&::placeholder {
		color: #ccc;
	}
}

select {
	width: 100%;
	font-size: 1.125em;
	padding: 0.5em;
}

.agreeBox {
	margin: 2em auto;
	> .inner {
		text-align: center; 	
	}
	& .txtBox {
		> a {
			text-decoration: underline !important;
		}
	}
}
.submitBox {
	margin: 2em auto;
	width: 90%;
	@include mq(pc) {
		max-width: 320px;
    	width: 100%; 
	} 
}
*/
/*-----------------確認画面--------------------------*/
/*#confirm {
	background: #F7F6EE;
	> .inner {
		width: 100%;
		margin: 2em auto;
		@include mq(pc) {
			max-width: 800px;
		} 
	}
	& .formBox {
		background: #fff;
		padding: 2em;
		border-radius: 12px; 
	}
	& .ttlBox {
		padding: 0.2em 0.5em;
		text-align: center;
		& .ttl {
			font-weight: bold;
			font-size: 1.2em;
			letter-spacing: 0.05em;
			@include mq(pc) {
				font-size: 1.5em;
			} 
		}
	}
	& .leadBox {
		text-align: center;
		margin: 40px auto 24px;
		& .txt {
			line-height: 1.8;
		}
	}
	& .submitBox {
		width: 100%;
		@include mq(pc) {
			max-width: 380px;
		}
		> .inner {
			display: flex;
			flex-direction: column-reverse;
			align-items: center;
			justify-content: center;
			gap: 24px;	
		}
	}
	& .btnBox {
		width: 100%;
		&.btnBox__back {
			width: 60%;
		}
	}
}*/
/*commonここまで*/
/**/
input::-moz-placeholder, textarea::-moz-placeholder {
  color: #ccc;
}
input::placeholder,
textarea::placeholder {
  color: #ccc;
}

input {
  width: 100%;
  font-size: 1.125em;
  padding: 0.3em 0.5em;
}
input[type=radio] {
  width: auto;
}
input[type=checkbox] {
  width: auto;
  transform: scale(1.5);
}

textarea {
  width: 100%;
  font-size: 1.125em;
  padding: 0.5em;
}

select {
  width: 100%;
  font-size: 1.125em;
  padding: 0.5em;
}

.agreeBox {
  margin: 2em auto;
}
.agreeBox > .inner {
  text-align: center;
}
.agreeBox .txtBox > a {
  text-decoration: underline !important;
}

.submitBox {
  margin: 2em auto;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .submitBox {
    max-width: 320px;
    width: 100%;
  }
}

/*--------------------------------------------------
確認画面
---------------------------------------------------*/
#confirm {
  background: #F7F6EE;
}
#confirm .formBox {
  background: #fff;
  padding: 2em;
  border-radius: 12px;
}
#confirm > .inner {
  width: 100%;
  margin: 2em auto;
}
@media screen and (min-width: 768px) {
  #confirm > .inner {
    max-width: 800px;
  }
}
#confirm .ttlBox {
  padding: 0.2em 0.5em;
  text-align: center;
}
#confirm .ttlBox .ttl {
  font-weight: bold;
  font-size: 1.2em;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  #confirm .ttlBox .ttl {
    font-size: 1.5em;
  }
}
#confirm .leadBox {
  text-align: center;
  margin: 40px auto 24px;
}
#confirm .leadBox .txt {
  line-height: 1.8;
}
#confirm .submitBox {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #confirm .submitBox {
    max-width: 380px;
  }
}
#confirm .submitBox > .inner {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  gap: 24px;
}
#confirm .submitBox .btnBox {
  width: 100%;
}
#confirm .submitBox .btnBox.btnBox__back {
  width: 60%;
}

/*--------------------------------------------------
完了画面
---------------------------------------------------*/
#thanks {
  background: #F7F6EE;
  padding: 2em 1em;
}
#thanks > .inner {
  width: 100%;
  margin: 2em auto;
}
@media screen and (min-width: 768px) {
  #thanks > .inner {
    max-width: 800px;
  }
}
#thanks .ttlBox {
  padding: 0.2em 0.5em;
  text-align: center;
}
#thanks .ttlBox .ttl {
  font-weight: bold;
  font-size: 1.2em;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  #thanks .ttlBox .ttl {
    font-size: 1.5em;
  }
}
#thanks .leadBox {
  margin: 2em auto;
}
@media screen and (min-width: 768px) {
  #thanks .leadBox {
    text-align: center;
  }
}
#thanks .leadBox .txt {
  line-height: 1.8;
}
#thanks .leadBox.leadBox__caution {
  border: solid 1px #E00429;
  border-radius: 12px;
  padding: 1.5em;
}
#thanks .topBtnBox {
  margin: 2em auto;
  width: 80%;
}
@media screen and (min-width: 768px) {
  #thanks .topBtnBox {
    width: 100%;
    max-width: 300px;
  }
}

/*index*/
/*--------------------------------------------------
変数
---------------------------------------------------*/
/*--------------------------------------------------
FV
---------------------------------------------------*/
.fvBox {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .fvBox {
    flex-direction: column;
  }
}

.fvImg > img {
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .fvImg > img {
    max-width: 1200px;
  }
}

.fvBrandList {
  /*ul*/
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2px;
  max-width: 1200px;
  width: 100%;
  min-height: 80px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .fvBrandList {
    min-height: 0;
  }
}
.fvBrandList > .item {
  position: relative;
  width: 100%;
  flex: 0 1 auto;
  align-self: stretch;
}
@media screen and (min-width: 768px) {
  .fvBrandList > .item {
    align-self: auto;
  }
}
.fvBrandList > .item::before {
  z-index: 3;
  content: "";
  position: absolute;
  background-image: url(../images/tsujita-icon.webp);
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  bottom: 8px;
  left: 8px;
  width: 80%;
  height: 19px;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .fvBrandList > .item::before {
    height: 36px;
  }
}
.fvBrandList > .item > a > img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  -o-object-position: 50% 25%;
     object-position: 50% 25%;
}
.fvBrandList > .item:nth-child(2)::before {
  background-image: url(../images/aburasoba-icon.webp);
}
.fvBrandList > .item:nth-child(3)::before {
  background-image: url(../images/killer-noodle-icon.webp);
}
.fvBrandList > .item:nth-child(4)::before {
  background-image: url(../images/girou-icon.webp);
}

.fv_content_a .fv_a_title .visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.fv_content_a .logo-loop {
  overflow: hidden;
  width: 100%;
  padding: 24px 0;
  background: #fff;
}
.fv_content_a .logo-loop__inner {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation: logoLoop 36s linear infinite;
  will-change: transform;
}
.fv_content_a .logo-loop__list {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  width: -moz-max-content;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
}
.fv_content_a .logo-loop__list li {
  flex: 0 0 auto;
  padding: 0 28px;
}
.fv_content_a .logo-loop__list img {
  display: block;
  width: auto;
  max-width: none;
  height: 64px;
  -o-object-fit: contain;
     object-fit: contain;
}

@keyframes logoLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-25%);
  }
}
@media screen and (max-width: 767px) {
  .fv_content_a .logo-loop {
    padding: 16px 0;
  }
  .fv_content_a .logo-loop__inner {
    animation-duration: 24s;
  }
  .fv_content_a .logo-loop__list li {
    padding: 0 18px;
  }
  .fv_content_a .logo-loop__list img {
    height: 48px;
  }
}
/*--------------------------------------------------
trouble
---------------------------------------------------*/
.trouble > .inner {
  margin: 0 auto;
  padding: 0 16px;
  margin: 48px auto 84px;
}
@media screen and (min-width: 768px) {
  .trouble > .inner {
    max-width: 960px;
    width: 100%;
    margin: 80px auto 120px;
  }
}
.trouble .ttlBox {
  text-align: center;
}
.trouble .ttlBox .txt {
  display: block;
  font-size: 1em;
}
@media screen and (min-width: 768px) {
  .trouble .ttlBox .txt {
    font-size: 1.125em;
  }
}
.trouble .ttlBox .txt > .hp_txt_large {
  color: #FF5639;
  font-weight: bold;
  font-size: 1.5em;
}
.trouble .imgBox {
  margin: 24px auto;
}
.trouble .banBox {
  margin: 48px auto 24px;
}
.trouble .btnBox {
  margin: 24px auto 48px;
}
@media screen and (min-width: 768px) {
  .trouble .btnBox {
    max-width: 600px;
    width: 100%;
  }
}

/*--------------------------------------------------
類似サービス比較表
---------------------------------------------------*/
.compare > .inner {
  margin: 0 auto;
  padding: 0 16px;
  margin: 48px auto 64px;
}
@media screen and (min-width: 768px) {
  .compare > .inner {
    max-width: 960px;
    width: 100%;
    margin: 80px auto 120px;
  }
}
.compare .headingBox {
  text-align: center;
}
.compare .headingBox .ttl {
  font-size: 1.5em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .compare .headingBox .ttl {
    font-size: 2em;
  }
}
.compare .ttlBox-sub {
  text-align: center;
}
.compare .ttlBox-sub .ttl {
  font-weight: bold;
  font-size: 1.5em;
}
.compare .leadBox {
  text-align: center;
  margin: 1.5em auto 4em;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .compare .leadBox {
    margin: 24px auto 4em;
  }
}

.compareBox {
  overflow-x: auto;
  width: 98%;
  margin-top: 2em;
  margin-bottom: 1em;
  margin-left: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 768px) {
  .compareBox {
    width: 100%;
    margin: 2em auto;
    overflow-y: hidden;
  }
}
.compareBox + .smallBox {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .compareBox + .smallBox {
    text-align: right;
  }
}

.compareTable {
  min-width: 640px;
  /*border-collapse: collapse;*/
}
@media screen and (min-width: 768px) {
  .compareTable {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
  }
}
.compareTable .thead th {
  width: 160px;
  background: #D4D4D4;
  padding: 0.8em;
  text-align: center;
}
.compareTable .thead th:nth-child(1) {
  background: #fff;
}
.compareTable .thead th:nth-child(2) {
  width: 26%;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .compareTable .thead th:nth-child(2) {
    width: 220px;
  }
}
.compareTable .thead th:nth-child(n+3) {
  /*width: 23%;*/
  width: 160px;
  border-right: solid 3px #fff;
}
@media screen and (min-width: 768px) {
  .compareTable .thead th:nth-child(n+3) {
    width: 160px;
  }
}
.compareTable .thead .fixed {
  position: sticky;
  /*top: 0;*/
  left: 0;
}
@media screen and (min-width: 768px) {
  .compareTable .thead .fixed {
    position: static;
  }
}
.compareTable .thead .fixed02 {
  position: sticky;
  /*top: 0;*/
  left: 76px;
}
@media screen and (min-width: 768px) {
  .compareTable .thead .fixed02 {
    width: 160px;
    position: relative;
    left: 0;
    z-index: -1;
  }
}
.compareTable .thead .fixed02::before {
  display: block;
  content: "";
  width: 100%;
  height: 105%;
  border-top: solid 4px #FF5639;
  border-left: solid 4px #FF5639;
  border-right: solid 4px #FF5639;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .compareTable .thead .fixed02::before {
    width: 100%;
  }
}
.compareTable .thead .fixed02::after {
  display: block;
  content: "";
  width: 99.5%;
  height: 1px;
  background: #D4D4D4;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -3;
}
.compareTable .tbody th {
  background: #46484E;
  color: #fff;
  font-weight: bold;
  font-size: 0.7em;
  width: 12%;
}
@media screen and (min-width: 768px) {
  .compareTable .tbody th {
    width: 180px;
    font-size: 1em;
  }
}
.compareTable .tbody th:nth-last-child(n+2) {
  border-top: solid 2px #fff;
}
.compareTable .tbody td {
  padding: 1em 0.4em;
  min-height: 144px;
}
@media screen and (min-width: 768px) {
  .compareTable .tbody td {
    padding: 1em 0.6em;
  }
}
.compareTable .tbody td:nth-of-type(n+2) {
  border-left: solid 3px #fff;
}
.compareTable .tbody tr:nth-child(2n) td {
  background: #F9F9F9;
}
.compareTable .tbody tr:last-of-type .fixed02::before {
  display: block;
  content: "";
  width: 100%;
  height: 102%;
  border-bottom: solid 4px #FF5639;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.compareTable .tbody .fixed {
  position: sticky;
  /*top: 0;*/
  left: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .compareTable .tbody .fixed {
    position: static;
  }
}
.compareTable .tbody .fixed02 {
  position: sticky;
  /*top: 0;*/
  left: 76px;
  z-index: 1;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .compareTable .tbody .fixed02 {
    position: relative;
    z-index: -1;
    left: 0;
  }
}
.compareTable .tbody .fixed02::before {
  display: block;
  content: "";
  width: 100%;
  height: 102%;
  border-left: solid 4px #FF5639;
  border-right: solid 4px #FF5639;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.compareTable .content {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.compareTable .content .name {
  display: block;
}
@media screen and (min-width: 768px) {
  .compareTable .content .name {
    display: none;
  }
}
.compareTable .content .assess {
  text-align: center;
  width: 40px;
}
.compareTable .content .details {
  font-size: 0.7em;
  margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
  .compareTable .content .details {
    font-size: 0.875em;
  }
}
.compareTable .content .details.appeal {
  /*font-weight: bold;*/
}
.compareTable .content .details.details__center {
  text-align: center;
}
.compareTable .content .hp_txt_large {
  margin-top: -0.8em;
  color: #FF5639;
  font-size: 1.5em;
  font-weight: bold;
}
.compareTable .content .hp_txt_xlarge {
  margin-top: -0.8em;
  color: #FF5639;
  font-size: 2.5em;
  font-weight: bold;
}
.compareTable .content .strong {
  color: #FF5639;
}
.compareTable .content .bold {
  font-weight: bold;
}

.licenseBox {
  background: #F7F6EE;
  padding: 2em 1.5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .licenseBox {
    padding: 2em 3em;
  }
}
.licenseBox .ttlBox {
  text-align: center;
  margin-bottom: 1em;
  position: relative;
}
.licenseBox .ttlBox > .ttl {
  display: inline-block;
  font-size: 1.313em;
  font-weight: bold;
  padding-bottom: 0.8em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .licenseBox .ttlBox > .ttl {
    font-size: 2em;
  }
}
@media screen and (min-width: 768px) {
  .licenseBox .ttlBox > .ttl .hp_txt_large {
    font-size: inherit;
  }
}
.licenseBox .ttlBox > .ttl::after {
  display: block;
  content: "";
  width: 64px;
  height: 2px;
  background: #333;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.licenseBox .imgBalloonBox {
  width: 63%;
  position: absolute;
  top: -70px;
  left: -90px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .licenseBox .imgBalloonBox {
    width: 34%;
    left: -130px;
  }
}
.licenseBox .cont > .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .licenseBox .cont > .inner {
    flex-direction: row;
    gap: 24px;
  }
}
.licenseBox .leadBox {
  width: 100%;
  text-align: left;
  flex: 0 1 auto;
  margin: 0;
}
.licenseBox .leadBox + .imgBox {
  width: 70%;
  flex: 0 1 auto;
}
@media screen and (min-width: 768px) {
  .licenseBox .leadBox + .imgBox {
    width: 30%;
  }
}

/*--------------------------------------------------
仕組み
---------------------------------------------------*/
.shapeTop {
  position: absolute;
  top: -46px;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
  .shapeTop {
    top: -70px;
  }
}
.shapeTop svg {
  position: relative;
  display: block;
  width: calc(145% + 1.3px);
  height: 46px;
}
@media screen and (min-width: 768px) {
  .shapeTop svg {
    height: 75px;
  }
}
.shapeTop .shapeFill {
  fill: #F7F6EE;
}
.shapeTop .shapeFill.shapeFill__w {
  fill: #fff;
}

.shikumi {
  background: #F7F6EE;
  position: relative;
  padding: 5em 0;
  margin-top: -104px;
}
@media screen and (min-width: 768px) {
  .shikumi {
    padding: 128px 0 88px;
  }
}
.shikumi::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 50vw solid transparent;
  border-left: 50vw solid transparent;
  border-top: 48px solid #fff;
  border-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .shikumi::after {
    border-top: 88px solid #fff;
  }
}
.shikumi > .inner {
  margin: 0 auto;
  padding: 0 1em;
}
@media screen and (min-width: 768px) {
  .shikumi > .inner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
  }
}
.shikumi .ttlBox {
  text-align: center;
}
.shikumi .ttlBox .ttl {
  font-weight: bold;
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {
  .shikumi .ttlBox .ttl {
    font-size: 2em;
  }
}
.shikumi .leadBox {
  text-align: left;
  margin: 0 auto 24px;
}
@media screen and (min-width: 768px) {
  .shikumi .leadBox {
    text-align: center;
    margin: 40px auto 24px;
  }
}
.shikumi .leadBox .txt {
  line-height: 1.8;
}
.shikumi .imgBox.imgBox__shikumi {
  margin-top: 40px;
}

.shikumiLeadBoxWrap {
  background: #fff;
  padding: 3em 1em;
  margin-top: 64px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .shikumiLeadBoxWrap {
    padding: 48px 0;
  }
}
.shikumiLeadBoxWrap .ttlBox {
  width: 90%;
  background: #333;
  border-radius: 100vmax;
  padding: 0.5em 1em;
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .shikumiLeadBoxWrap .ttlBox {
    width: 60%;
  }
}
.shikumiLeadBoxWrap .ttlBox::after {
  display: block;
  content: "";
  width: 24px;
  height: 24px;
  background-color: #333333;
  clip-path: polygon(50% 20px, 0% 0%, 24px 0%);
  position: absolute;
  bottom: -16px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.shikumiLeadBoxWrap .ttlBox > .ttl {
  font-size: 1.125em;
  color: #fff;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .shikumiLeadBoxWrap .ttlBox > .ttl {
    font-size: 1.5em;
  }
}
.shikumiLeadBoxWrap .logoList {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  width: 90%;
  margin: 32px auto 0;
}
@media screen and (min-width: 768px) {
  .shikumiLeadBoxWrap .logoList {
    width: 70%;
  }
}
.shikumiLeadBoxWrap .logoList > .item {
  width: auto;
}
.shikumiLeadBoxWrap .logoList > .item:nth-of-type(1) {
  max-width: 110px;
}
.shikumiLeadBoxWrap .logoList > .item:nth-of-type(2) {
  max-width: 110px;
}
.shikumiLeadBoxWrap .logoList > .item:nth-of-type(3) {
  max-width: 200px;
}
.shikumiLeadBoxWrap .logoList > .item:nth-of-type(4) {
  max-width: 46px;
}
@media screen and (min-width: 768px) {
  .shikumiLeadBoxWrap .logoList > .item {
    width: auto;
  }
  .shikumiLeadBoxWrap .logoList > .item:nth-of-type(1) {
    max-width: 130px;
  }
  .shikumiLeadBoxWrap .logoList > .item:nth-of-type(2) {
    max-width: 130px;
  }
  .shikumiLeadBoxWrap .logoList > .item:nth-of-type(3) {
    max-width: 220px;
  }
  .shikumiLeadBoxWrap .logoList > .item:nth-of-type(4) {
    max-width: 46px;
  }
}

/*--------------------------------------------------
キャンペーンCTA
---------------------------------------------------*/
.campCtaBox {
  width: 100%;
  margin: 80px auto 0;
}
@media screen and (min-width: 768px) {
  .campCtaBox {
    max-width: 730px;
  }
}
.campCtaBox .upperBox {
  margin-bottom: 40px;
}
.campCtaBox .upperBox > .ctaImg {
  position: relative;
}
.campCtaBox .upperBox > .ctaImg::after {
  display: block;
  content: "";
  width: 50px;
  height: 24px;
  background-color: #080808;
  clip-path: polygon(50% 24px, 0% 0%, 50px 0%);
  position: absolute;
  bottom: -23px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.campCtaBox .lowerBox {
  width: 80%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .campCtaBox .lowerBox {
    width: 100%;
    max-width: 600px;
  }
}

/*しかも*/
.andTxtBox {
  text-align: center;
  margin-bottom: 0.5em;
}
.andTxtBox > .txt {
  font-size: 1.313em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .andTxtBox > .txt {
    font-size: 2em;
  }
}

/*--------------------------------------------------
トップに戻るボタン追加
---------------------------------------------------*/
.backToTop {
  position: absolute;
  right: 16px;
  bottom: -50%;
  width: 50px;
  height: 50px;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 133, 42, 0.7);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 2;
  cursor: pointer;
  padding: 0;
  display: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.backToTop .arrow-up {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(135deg);
  margin-top: 7px;
}
@media (max-width: 767px) {
  .backToTop {
    display: flex;
    bottom: 120%;
  }
}

/*--------------------------------------------------
特徴
---------------------------------------------------*/
.feature > .inner {
  margin: 0 auto;
  padding: 0 16px;
  margin: 3em auto 5em;
}
@media screen and (min-width: 768px) {
  .feature > .inner {
    max-width: 960px;
    width: 100%;
    margin: 80px auto 120px;
  }
}
.feature .headingBox > .ttl {
  display: block;
  font-size: 1.5em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .feature .headingBox > .ttl {
    font-size: 2em;
  }
}
.feature .headingBox > .ttl > .txt {
  display: block;
}
.feature .headingBox .subTtl {
  display: inline-block;
  font-size: 0.8em;
}

.featureBox {
  background: #F7F6EE;
  padding: 3em 1.313em;
  margin-top: 95px;
}
@media screen and (min-width: 768px) {
  .featureBox {
    padding: 40px 36px;
  }
}
.featureBox > .inner {
  display: flex;
  justify-content: flex-end;
  position: relative;
}
.featureBox .imgBox {
  width: 80%;
  flex: 0 1 auto;
  margin-top: 3em;
}
@media screen and (min-width: 768px) {
  .featureBox .imgBox {
    width: 50%;
    margin-top: 32px;
  }
}

.txtBox {
  width: 100%;
  flex: 0 1 auto;
}
.txtBox.txtBox__balloon {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  padding: 24px;
  border: solid 4px #333;
  box-shadow: 3px 5px 0px 1px #333;
  position: absolute;
  top: -100px;
  left: 0;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .txtBox.txtBox__balloon {
    width: 60%;
    padding: 48px 24px;
  }
}
.txtBox.txtBox__balloon::after {
  display: block;
  content: "";
  width: 12%;
  height: 5px;
  background: #333;
  border-radius: 24px;
  position: absolute;
  bottom: -11px;
  right: auto;
  left: 65px;
  transform: rotate(50deg);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .txtBox.txtBox__balloon::after {
    height: 7px;
    right: 50px;
    bottom: -16px;
    left: auto;
  }
}
.txtBox.txtBox__balloon > .txt {
  font-size: 1em;
  font-weight: bold;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .txtBox.txtBox__balloon > .txt {
    font-size: 1.8em;
  }
}

.pointListBox {
  background: #F7F6EE;
  padding: 1.5em 0.5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .pointListBox {
    padding: 24px 36px;
  }
}
.pointListBox::after {
  display: block;
  content: "";
  width: 90px;
  height: 50px;
  background-color: #F7F6EE;
  clip-path: polygon(50% 50px, 0% 0%, 90px 0%);
  position: absolute;
  bottom: -24px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: -1;
}
.pointListBox .smallBox {
  text-align: right;
  margin-top: 8px;
}
.pointListBox .smallBox > .txt {
  font-size: 0.7em;
}

.pointList {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .pointList {
    flex-direction: row;
    gap: 24px;
  }
}
.pointList > .item {
  width: 100%;
  flex: 0 1 auto;
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .pointList > .item {
    flex-direction: column;
    gap: 0;
  }
}
.pointList .ballonBox {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: solid 3px #333;
  border-radius: 12px;
  padding: 1em 0.5em;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .pointList .ballonBox {
    border-radius: 24px;
    min-height: 146px;
    padding: 24px;
  }
}
.pointList .ballonBox > .lead {
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .pointList .ballonBox > .lead {
    font-size: 1.313em;
  }
}
.pointList .ballonBox + .imgBox {
  width: 40%;
}
@media screen and (min-width: 768px) {
  .pointList .ballonBox + .imgBox {
    width: auto;
    margin-top: 32px;
  }
}
.pointList .ballonBox::after {
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  background-color: #333333;
  clip-path: polygon(0% 20px, 0% 0%, 20px 0%);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -20px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .pointList .ballonBox::after {
    width: 50px;
    height: 50px;
    clip-path: polygon(0% 30px, 0% 0%, 30px 0%);
    top: auto;
    bottom: -42px;
    right: 32px;
    transform: none;
  }
}
.pointList .ttl.ttl__label {
  display: inline-block;
  background: #333;
  text-align: center;
  padding: 0em 0.5em;
  transform: rotate(-20deg);
  font-size: 1.1em;
  position: absolute;
  top: -16px;
  left: -16px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .pointList .ttl.ttl__label {
    font-size: 1.4em;
  }
}
.pointList .ttl.ttl__label > .txt {
  color: #fff;
  font-weight: bold;
}

/*オペレーション例*/
.opBox {
  width: 100%;
  margin: 48px auto 0;
  padding: 3em 1em 1em;
  box-shadow: 0px 0px 21px -3px rgba(0, 0, 0, 0.2);
}
@media screen and (min-width: 768px) {
  .opBox {
    padding: 56px 24px;
  }
}
.opBox > .headingBox {
  text-align: center;
}
.opBox > .headingBox .ttl {
  display: inline-block;
  font-size: 1.1em;
}
@media screen and (min-width: 768px) {
  .opBox > .headingBox .ttl {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .opBox > .headingBox .ttl.hp_txt_slant::before {
    width: 3em;
    left: -2.8em;
  }
}
@media screen and (max-width: 767px) {
  .opBox > .headingBox .ttl.hp_txt_slant::after {
    width: 3em;
    right: -2.8em;
  }
}
.opBox + .appealBox {
  position: relative;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .opBox + .appealBox {
    margin-top: 140px;
  }
}
.opBox + .appealBox > .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .opBox + .appealBox > .inner {
    flex-direction: row;
    gap: 32px;
  }
}
.opBox + .appealBox .txtBox {
  width: 100%;
  position: relative;
}
.opBox + .appealBox .txtBox.txtBox__balloon {
  padding: 24px;
}
@media screen and (max-width: 767px) {
  .opBox + .appealBox .txtBox.txtBox__balloon {
    top: -32px;
  }
}
@media screen and (min-width: 768px) {
  .opBox + .appealBox .txtBox.txtBox__balloon::after {
    top: 50%;
    right: -40px;
    bottom: auto;
    transform: translateY(-50%) rotate(30deg);
  }
}
.opBox + .appealBox .txtBox > .txt {
  font-size: 1em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .opBox + .appealBox .txtBox > .txt {
    font-size: 1.313em;
  }
}
.opBox + .appealBox .imgBox {
  width: 70%;
}

.movieBox {
  margin: 16px auto 32px;
}
.movieBox > video {
  display: block;
  margin: 0 auto;
  width: 100%;
}

.processBox {
  background: #F7F6EE;
  padding: 2.5em 1em 1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .processBox {
    padding: 3em 1em 1em;
  }
}
.processBox::before {
  display: block;
  content: "";
  width: 40px;
  height: 24px;
  background-color: #fff;
  clip-path: polygon(50% 24px, 0% 0%, 40px 0%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.processBox > .inner {
  width: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-direction: column;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .processBox > .inner {
    flex-direction: row;
  }
}
.processBox .ttl {
  width: 40%;
  font-size: 1em;
  font-weight: bold;
  flex: 0 1 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .processBox .ttl {
    font-size: 1.5em;
  }
}
.processBox .cont {
  width: 100%;
  flex: 0 1 auto;
  border-top: solid 1px #000;
  padding-top: 1.5em;
}
@media screen and (min-width: 768px) {
  .processBox .cont {
    border-top: none;
    padding-top: 0;
    border-left: solid 1px #000;
    padding-left: 2em;
  }
}
.processBox .smallBox {
  margin-top: 1em;
  text-align: right;
}
.processBox .smallBox > .txt {
  font-size: 0.8em;
}
@media screen and (min-width: 768px) {
  .processBox .smallBox > .txt {
    font-size: 0.875em;
  }
}

.processList > .item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .processList > .item {
    gap: 16px;
  }
}
.processList > .item .txt {
  width: 100%;
  flex: 0 1 auto;
  font-size: 1em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .processList > .item .txt {
    font-size: 1.125em;
  }
}
.processList > .item:nth-child(n+2) {
  margin-top: 1em;
}
.processList .num {
  width: 11%;
  flex: 0 1 auto;
}

/*--------------------------------------------------
試食サンプル
---------------------------------------------------*/
.samplefood {
  background: #F7F6EE;
  position: relative;
  padding: 5em 0 1em;
}
@media screen and (min-width: 768px) {
  .samplefood {
    padding: 128px 0 88px;
    margin-top: -104px;
  }
}
.samplefood::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 50vw solid transparent;
  border-left: 50vw solid transparent;
  border-top: 48px solid #fff;
  border-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .samplefood::after {
    border-top: 88px solid #fff;
  }
}
.samplefood .saraniBox {
  width: 34%;
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .samplefood .saraniBox {
    top: 0;
    width: 13%;
  }
}
.samplefood > .inner {
  margin: 0 auto;
  padding: 0 1em;
}
@media screen and (min-width: 768px) {
  .samplefood > .inner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
  }
}
.samplefood .headingBox {
  text-align: center;
}
.samplefood .headingBox > .ttl {
  display: inline-block;
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {
  .samplefood .headingBox > .ttl {
    font-size: 2em;
  }
}
.samplefood .headingBox > .ttl > .txt {
  display: block;
}

.sampleBox {
  background: #fff;
  width: 100%;
  max-width: 930px;
  margin: 32px auto;
  box-shadow: 0px 0px 21px -3px rgba(0, 0, 0, 0.1);
}
.sampleBox > .inner {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .sampleBox > .inner {
    flex-direction: row;
  }
}
.sampleBox .txtBox {
  width: 100%;
  flex: 0 1 auto;
  padding: 1.5em;
}
@media screen and (min-width: 768px) {
  .sampleBox .txtBox {
    padding: 40px;
  }
}
.sampleBox .txtBox > .lead {
  font-size: 1.125em;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .sampleBox .txtBox > .lead {
    font-size: 1.5em;
    text-align: left;
  }
}
.sampleBox .txtBox .largeTxt {
  font-size: 1.5em;
  color: #FF5639;
  font-weight: bold;
  display: block;
  margin: 0.5em 0;
}
.sampleBox .imgBox {
  width: 100%;
  flex: 0 1 auto;
  height: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .sampleBox .imgBox {
    height: auto;
  }
}
.sampleBox .imgBox > img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.sampleBox .imgBox .smallBox {
  position: absolute;
  bottom: 0;
  right: 4px;
}
.sampleBox .imgBox .smallBox > .txt {
  color: #fff;
  font-size: 0.75em;
  font-weight: bold;
  text-shadow: 0px 0px 6px rgb(0, 0, 0);
}

.sampleVoiceBox {
  margin: 64px auto 32px;
}
.sampleVoiceBox .nameBox {
  display: block;
  font-weight: bold;
  font-size: 0.8em;
  margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
  .sampleVoiceBox .nameBox {
    font-size: 1.125em;
  }
}
.sampleVoiceBox .nameBox3 {
  font-size: 0.69em;
}
@media screen and (min-width: 768px) {
  .sampleVoiceBox .nameBox3 {
    font-size: 1.07em;
  }
}
.sampleVoiceBox .nameBox3_2 {
  margin-top: 0;
}
.sampleVoiceBox .smallBox {
  margin: 2em 0 0;
  text-align: right;
}
.sampleVoiceBox .cautionBox {
  width: 100%;
  margin: 2em auto;
  border: solid 2px #FF0000;
  background: #fff;
  padding: 1em;
}
.sampleVoiceBox .cautionBox > .inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .sampleVoiceBox .cautionBox > .inner {
    gap: 16px;
    flex-direction: row;
  }
}
.sampleVoiceBox .cautionBox .iconBox {
  width: 13%;
  flex: 0 1 auto;
}
@media screen and (min-width: 768px) {
  .sampleVoiceBox .cautionBox .iconBox {
    width: 6%;
  }
}
.sampleVoiceBox .cautionBox .txtBox {
  width: 100%;
  flex: 0 1 auto;
  font-size: 1.125em;
  font-weight: bold;
  color: #FF0000;
}
@media screen and (min-width: 768px) {
  .sampleVoiceBox .cautionBox .txtBox {
    font-size: 1.2em;
  }
}

.sampleVoiceList {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .sampleVoiceList {
    flex-direction: row;
  }
}
.sampleVoiceList > .item {
  width: 100%;
  flex: 0 1 auto;
}
.sampleVoiceList > .item > .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .sampleVoiceList > .item > .inner {
    gap: 40px;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .sampleVoiceList > .item > .inner.inner__rev {
    flex-direction: row-reverse;
  }
}

.voiceBalloon {
  width: 100%;
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 24px;
  padding: 1.5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .voiceBalloon {
    min-height: 180px;
    padding: 32px 24px;
  }
}
.voiceBalloon::after {
  display: block;
  content: "";
  width: 24px;
  height: 24px;
  background-color: #fff;
  clip-path: polygon(24px 50%, 0% 0%, 0% 24px);
  position: absolute;
  top: 50%;
  right: -14px;
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .voiceBalloon::after {
    width: 24px;
    height: 32px;
    background-color: #fff;
    clip-path: polygon(50% 32px, 0% 0%, 24px 0%);
    top: auto;
    bottom: -24px;
    left: 0;
    right: 0;
    transform: none;
    margin: auto;
  }
}
.voiceBalloon + .imgBox {
  width: 50%;
  text-align: center;
}
.voiceBalloon > .labelBox {
  width: 45%;
  position: absolute;
  top: -27px;
  left: -15px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .voiceBalloon > .labelBox {
    width: 37%;
    top: -20px;
    left: -20px;
  }
}
.voiceBalloon .txtBox {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .voiceBalloon .txtBox {
    text-align: center;
  }
}
.voiceBalloon .txt {
  font-weight: bold;
  font-size: 1em;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .voiceBalloon .txt {
    font-size: 1.125em;
  }
}
@media screen and (max-width: 767px) {
  .voiceBalloon.voiceBalloon__rev::after {
    right: auto;
    left: -14px;
    width: 24px;
    height: 24px;
    background-color: #fff;
    clip-path: polygon(0% 50%, 24px 0%, 24px 24px);
  }
}

.ctaBox {
  max-width: 800px;
  margin: 80px auto;
}
.ctaBox > .ttlBox {
  text-align: center;
  margin-bottom: 24px;
}
.ctaBox > .ttlBox > .ttl {
  font-size: 1.313em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .ctaBox > .ttlBox > .ttl {
    font-size: 1.8em;
  }
}
.ctaBox .btnBox {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

/*--------------------------------------------------
展開ブランド
---------------------------------------------------*/
.brand {
  background: #F7F6EE;
}
.brand > .inner {
  margin: 0 auto;
  padding: 80px 16px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .brand > .inner {
    max-width: 960px;
    width: 100%;
  }
}
.brand .headingBox > .ttl {
  display: block;
  font-size: 1.5em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .brand .headingBox > .ttl {
    font-size: 2em;
  }
}
.brand .headingBox > .ttl > .txt {
  display: block;
}
.brand .headingBox .subTtl {
  display: inline-block;
  font-size: 0.8em;
}

.brandBox {
  width: 100%;
  max-width: 960px;
  margin-top: 64px;
}
.brandBox .thumbBox {
  /*		margin-left: auto;
  margin-right: auto;
  margin-bottom: 48px;*/
}
.brandBox .thumbBox.thumbBox__grid > .inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}
@media screen and (min-width: 768px) {
  .brandBox .thumbBox.thumbBox__grid > .inner {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 4px;
    grid-row-gap: 8px;
  }
}
.brandBox .thumbBox.thumbBox__grid .imgBox > img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.brandBox .thumbBox.thumbBox__grid .imgBox:nth-child(1) {
  grid-area: 1/1/2/3;
}
@media screen and (min-width: 768px) {
  .brandBox .thumbBox.thumbBox__grid .imgBox:nth-child(1) {
    grid-area: 1/1/3/3;
  }
}
.brandBox .thumbBox.thumbBox__grid .imgBox:nth-child(2) {
  grid-area: 2/1/3/3;
}
@media screen and (min-width: 768px) {
  .brandBox .thumbBox.thumbBox__grid .imgBox:nth-child(2) {
    grid-area: 1/3/2/5;
  }
}
.brandBox .thumbBox.thumbBox__grid .imgBox:nth-child(3) {
  grid-area: 3/1/4/2;
}
@media screen and (min-width: 768px) {
  .brandBox .thumbBox.thumbBox__grid .imgBox:nth-child(3) {
    grid-area: 2/3/3/4;
  }
}
.brandBox .thumbBox.thumbBox__grid .imgBox:nth-child(4) {
  grid-area: 3/2/4/3;
}
@media screen and (min-width: 768px) {
  .brandBox .thumbBox.thumbBox__grid .imgBox:nth-child(4) {
    grid-area: 2/4/3/5;
  }
}
.brandBox .contBox {
  max-width: 640px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.brandBox .contBox > .ttlBox {
  position: relative;
  padding-bottom: 1.4em;
  margin-bottom: 1.4em;
  text-align: left;
}
.brandBox .contBox > .ttlBox::after {
  display: block;
  content: "";
  width: 45px;
  height: 1px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
}
.brandBox .contBox > .leadBox .txt {
  line-height: 1.7;
  font-size: 0.875em;
}
.brandBox .contBox > .leadBox .txt:nth-child(n+2) {
  margin-top: 1.5em;
}
.brandBox .shopName {
  display: inline-block;
  border: solid 1px #000;
  padding: 0.2em 0.8em;
  font-size: 1.125em;
  font-weight: bold;
}
.brandBox .shopDesc {
  display: block;
  font-size: 1.125em;
  font-weight: bold;
  margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
  .brandBox .shopDesc {
    font-size: 1.313em;
  }
}

.brandList {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  row-gap: 0;
}
.brandList > .item {
  width: 100%;
  position: relative;
}
.brandList > .item:nth-child(n+2) {
  margin-top: 90px;
}
.brandList > .item:nth-child(2n) .badgeBox {
  left: 20px;
}
@media screen and (min-width: 768px) {
  .brandList > .item.item__half {
    width: 48%;
  }
}
.brandList > .item > .inner {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .brandList > .item > .inner {
    flex-direction: column;
  }
}
.brandList > .item > .inner {
  gap: 32px;
}
.brandList > .item > .inner.inner__column {
  flex-direction: column;
}
.brandList > .item > .inner.inner__column.inner__column-l .ttlBox {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .brandList > .item > .inner.inner__column.inner__column-l .ttlBox::after {
    left: 0;
    right: auto;
  }
}
.brandList > .item > .inner.inner__column .ttlBox {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .brandList > .item > .inner.inner__column .ttlBox {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .brandList > .item > .inner.inner__column .ttlBox::after {
    right: 0;
    margin: auto;
  }
}
.brandList > .item .btnBox {
  width: 100%;
  max-width: 320px;
  margin: 32px auto 0;
}
.brandList .badgeBox {
  width: 36%;
  position: absolute;
  top: -60px;
  right: 20px;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .brandList .badgeBox {
    width: 16%;
    left: 20px;
    right: auto;
  }
}
.brandList .badgeBox.badgeBox__half {
  width: 33%;
}

/*--------------------------------------------------
LP中のCTA
---------------------------------------------------*/
.ctaBothBox {
  margin: 16px auto;
}
.ctaBothBox > .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .ctaBothBox > .inner {
    flex-wrap: nowrap;
  }
}
.ctaBothBox .imgBox {
  align-self: stretch;
}
.ctaBothBox .imgBox > img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .ctaBothBox .imgBox {
    width: 50%;
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  .ctaBothBox .imgBox {
    width: 40%;
  }
}
@media screen and (max-width: 767px) {
  .ctaBothBox .imgBox:nth-child(3) {
    order: 3;
  }
}
.ctaBothBox .contBox {
  width: 100%;
  background: #F7F6EE;
}
@media screen and (max-width: 767px) {
  .ctaBothBox .contBox {
    order: 1;
  }
}
.ctaBothBox .contBox .ctaBox {
  width: 90%;
  margin: 3em auto;
}
@media screen and (min-width: 768px) {
  .ctaBothBox .contBox .ctaBox {
    width: 100%;
  }
}

/*--------------------------------------------------
case
---------------------------------------------------*/
.case > .inner {
  margin: 0 auto;
  padding: 80px 0;
}
@media screen and (min-width: 768px) {
  .case > .inner {
    max-width: 980px;
    width: 100%;
  }
}
.case > .inner > .ttlBox {
  text-align: center;
}
.case > .inner > .ttlBox .ttl {
  font-weight: bold;
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {
  .case > .inner > .ttlBox .ttl {
    font-size: 2em;
  }
}
.case .caseBox {
  margin: 1em auto;
}
@media screen and (min-width: 768px) {
  .case .caseBox {
    margin: 40px auto;
  }
}
.case .caseList > li {
  padding: 40px 30px;
  width: 100%;
  position: relative;
  background: #fff;
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .case .caseList > li {
    margin-bottom: 40px;
  }
}
.case .caseList > li > .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .case .caseList > li > .inner {
    gap: 64px;
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .case .caseList > li > .inner.inner__rev {
    flex-direction: row-reverse;
  }
}
.case .caseList > li .txtWrapper {
  width: 100%;
  flex: 0 1 auto;
}
.case .caseList > li .ttlBox .ttl {
  display: block;
  font-size: 1.3em;
  margin: 1em 0;
}
@media screen and (min-width: 768px) {
  .case .caseList > li .ttlBox .ttl {
    font-size: 1.8em;
    margin: 24px 0 32px;
  }
}
.case .caseList > li .imgBox {
  width: 90%;
  flex: 0 1 auto;
}
@media screen and (min-width: 768px) {
  .case .caseList > li .imgBox {
    width: auto;
  }
}
.case .caseList > li .imgBox > img {
  width: 100%;
}
.case .caseList > li .txtBox .txt {
  font-size: 0.875em;
  line-height: 1.8;
}

.caseFv02 > .caseFv02__inner {
  margin: 0 auto;
  padding: 80px 0;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner {
    max-width: 1000px;
    width: 100%;
  }
}
.caseFv02 > .caseFv02__inner > .caseFv02__heading {
  text-align: center;
}
.caseFv02 > .caseFv02__inner > .caseFv02__heading .caseFv02__title {
  font-weight: bold;
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner > .caseFv02__heading .caseFv02__title {
    font-size: 2em;
  }
}
.caseFv02 > .caseFv02__inner > .caseFv02__heading p {
  font-size: 1.125rem;
  padding-top: 24px;
  padding-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner > .caseFv02__heading p {
    font-size: 1.25rem;
    padding-top: 8px;
    padding-bottom: 32px;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li {
  background-color: #F7F6EE;
  padding: 24px 16px;
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: 56px;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li {
    padding: 40px 32px 40px 24px;
    flex-wrap: nowrap;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st {
    flex: 0 0 calc(36% - 16px);
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .top_box {
  max-width: 350px;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .top_box {
    max-width: 300px;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .top_box::before {
  content: "";
  position: absolute;
  background-image: url(../images/badge_izakaya.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 93px;
  height: 93px;
  top: -2px;
  left: 2px;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box {
  display: flex;
  justify-content: space-between;
  gap: 7px;
  align-items: flex-start;
  max-width: 350px;
  margin: 9px auto;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box {
    max-width: 300px;
    justify-content: flex-start;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai1 {
  flex: 0 0 50%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  max-width: 170px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai1 {
    max-width: 151px;
    justify-content: center;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai1 > .middle_title1 {
  flex: 0 0 54%;
  padding: 8.4px 0;
  background-color: #888362;
  color: #fff;
  font-weight: bold;
  font-size: 0.875rem;
  text-align: center;
  max-width: 84px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai1 > .middle_title1 {
    padding: 7px 0;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai1 > .middle_n {
  flex: 0 0 46%;
  padding: 7.4px 0;
  background-color: #fff;
  border: 1px solid #888362;
  font-weight: bold;
  color: #333333;
  font-size: 0.875rem;
  text-align: center;
  width: 100%;
  max-width: 70px;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai1 > .middle_n {
    max-width: 57px;
    font-size: 0.75rem;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai2 {
  flex: 0 0 50%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  max-width: 166px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai2 {
    max-width: 143px;
    justify-content: center;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai2 > .middle_title2 {
  flex: 0 0 60%;
  padding: 8.4px 0px;
  background-color: #888362;
  color: #fff;
  font-weight: bold;
  font-size: 0.875rem;
  text-align: center;
  max-width: 92px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai2 > .middle_title2 {
    padding: 7px 0px;
    max-width: 84px;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai2 > .middle_n {
  flex: 0 0 40%;
  padding: 7.4px 0;
  background-color: #fff;
  border: 1px solid #888362;
  font-weight: bold;
  color: #333333;
  font-size: 0.875rem;
  text-align: center;
  max-width: 70px;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .middle_box > .middle_shosai2 > .middle_n {
    max-width: 57px;
    font-size: 0.75rem;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .bottom_box {
  max-width: 350px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .bottom_box {
    max-width: 300px;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .bottom_box > .bottom_title {
  text-align: center;
  color: #fff;
  background-color: #888362;
  width: 100%;
  padding: 9px 0;
  font-size: 1.5rem;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .bottom_box > .bottom_n {
  background-color: #fff;
  border: 1px solid #888362;
  width: 100%;
  padding: 9px 0;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_1st > .bottom_box > .bottom_n > img {
  display: block;
  max-width: 200px;
  margin: 0 auto;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .top_box::before {
  background-image: url(../images/badge_karaoke.webp);
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st {
  max-width: 586px;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st {
    flex: 0 0 calc(64% - 16px);
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > h3 {
  font-size: clamp(19px, 2.7vw, 27px);
  color: #FE5638;
  padding-bottom: 16px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > h3 {
    padding-bottom: 24px;
    padding-left: 1.375rem;
    text-align: left;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > p {
  max-width: 360px;
  font-size: 0.875rem;
  background-color: #fff;
  padding: 16px 22px;
  border-radius: 20px;
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > p {
    max-width: none;
    padding: 20px 26px;
    margin-bottom: 19px;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content {
  margin-top: 16px;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 22px;
  max-width: 297px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol {
    gap: 46px;
    max-width: none;
    width: 80%;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li {
  display: block;
  padding: 0;
  width: 100%;
  max-width: 195px;
  container-type: inline-size;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_before {
  background-color: #E3E3E3;
  position: relative;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_before::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 13.9px;
  border-color: transparent transparent transparent #FF6636;
  top: 50%;
  right: -19px;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_before::after {
    border-width: 11px 0 11px 19.1px;
    top: 50%;
    right: -34px;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_before > .up_title {
  font-size: clamp(12px, 10.25cqi, 20px);
  color: #fff;
  background-color: #777777;
  text-align: center;
  font-weight: bold;
  padding: 8px 0;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_before > .up_txt {
  font-size: clamp(12px, 10.25cqi, 20px);
  text-align: center;
  font-weight: bold;
  padding: 6px 0;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_before > .up_txt {
    padding: 24px 0;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_before > .up_txt > .high {
  font-size: clamp(32px, 10.25cqi, 20px);
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_before > .up_txt > .low {
  font-size: clamp(10px, 10.25cqi, 14px);
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_after {
  background-color: #FFF7B8;
  position: relative;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_after::after {
  content: "";
  position: absolute;
  background-image: url(../images/case_up_izakaya.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 93px;
  height: 110px;
  top: -24px;
  right: -60px;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_after::after {
    width: 100%;
    height: 100%;
    top: -10px;
    right: -87%;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_after > .up_title {
  font-size: clamp(12px, 10.25cqi, 20px);
  color: #fff;
  background-color: #FF6636;
  text-align: center;
  font-weight: bold;
  padding: 8px 0;
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_after > .up_txt {
  font-size: clamp(12px, 10.25cqi, 20px);
  text-align: center;
  font-weight: bold;
  padding: 6px 0;
}
@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_after > .up_txt {
    padding: 24px 0;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_after > .up_txt > .high {
  font-size: clamp(32px, 10.25cqi, 20px);
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li > .contents_2st > .up_content > ol > li.up_after > .up_txt > .low {
  font-size: clamp(10px, 10.25cqi, 14px);
}

/*--------------------------------------------------
flow
---------------------------------------------------*/
.flow {
  background: #F8F8F8;
}
.flow > .inner {
  margin: 0 auto;
  padding: 80px 0;
}
@media screen and (min-width: 768px) {
  .flow > .inner {
    max-width: 980px;
    width: 100%;
  }
}
.flow .headingBox {
  text-align: center;
}
.flow .headingBox .ttl {
  font-weight: bold;
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {
  .flow .headingBox .ttl {
    font-size: 2em;
  }
}

.flowListWrapper {
  width: 80%;
  margin: 4em auto 3em;
}
@media screen and (min-width: 768px) {
  .flowListWrapper {
    width: 100%;
    max-width: 1100px;
    margin: 80px auto 40px;
  }
}

.flowList {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 70px;
}
@media screen and (min-width: 768px) {
  .flowList {
    flex-direction: row;
  }
}
.flowList > .item {
  width: 100%;
  flex: 0 1 auto;
  position: relative;
  box-shadow: 0px 0px 21px -3px rgba(0, 0, 0, 0.2);
}
@media screen and (min-width: 768px) {
  .flowList > .item {
    min-height: 317px;
  }
}
.flowList > .item:not(:last-child)::after {
  display: block;
  content: "";
  width: 56px;
  height: 24px;
  background-color: #333333;
  clip-path: polygon(50% 24px, 0% 0%, 56px 0%);
  position: absolute;
  bottom: -50px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .flowList > .item:not(:last-child)::after {
    width: 24px;
    height: 56px;
    background-color: #333333;
    clip-path: polygon(24px 50%, 0% 0%, 0% 56px);
    top: 50%;
    left: auto;
    right: -50px;
    transform: translateY(-50%);
  }
}
.flowList > .item .ttlBox {
  padding: 0.5em;
  background: #DFDBD0;
  text-align: center;
  position: relative;
}
.flowList > .item .ttlBox > .ttl {
  font-size: 1.5em;
  font-weight: bold;
}
.flowList > .item .balloonBox {
  width: 38%;
  position: absolute;
  top: -80px;
  right: -10px;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .flowList > .item .balloonBox {
    width: 48%;
    top: -100px;
    right: -40px;
    max-width: 140px;
  }
}
.flowList > .item .contBox {
  background: #fff;
  padding: 1.5em 1em;
}
.flowList > .item .imgBox {
  width: 64%;
  margin: 0 auto;
}
.flowList > .item .txtBox {
  margin: 1em auto;
  text-align: center;
}
.flowList > .item .txtBox > .txt {
  line-height: 1.8;
}

.andMoreBox {
  background: #fff;
  padding: 40px 32px;
  margin: 96px auto 32px;
  width: 90%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .andMoreBox {
    width: 100%;
    max-width: 1100px;
  }
}
.andMoreBox .balloonBox {
  background: #333;
  border-radius: 8px;
  padding: 0.8em 0.5em;
  position: relative;
  max-width: 260px;
  width: 60%;
  text-align: center;
  position: absolute;
  top: -24px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .andMoreBox .balloonBox {
    width: 100%;
  }
}
.andMoreBox .balloonBox .txt {
  color: #fff;
  font-size: 1.313em;
  font-weight: bold;
}
.andMoreBox .balloonBox::after {
  display: block;
  content: "";
  width: 24px;
  height: 24px;
  background-color: #333333;
  clip-path: polygon(50% 24px, 0% 0%, 24px 0%);
  position: absolute;
  bottom: -16px;
  left: 0;
  right: 0;
  margin: auto;
}
.andMoreBox .ttlBox {
  text-align: center;
  margin-top: 1.5em;
}
.andMoreBox .ttlBox > .ttl {
  font-weight: bold;
}

.flowPointWrapper {
  margin-top: 2em;
}
.flowPointWrapper > .inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .flowPointWrapper > .inner {
    flex-direction: row;
    gap: 32px;
  }
}
.flowPointWrapper > .inner > .ttlBox {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  margin-top: 0;
  width: 60%;
  background: #FF5639;
  padding: 0.6em;
  border-radius: 100px 100px 0 100px;
}
@media screen and (min-width: 768px) {
  .flowPointWrapper > .inner > .ttlBox {
    width: 100%;
    max-width: 100px;
    max-height: 100px;
    padding: 0;
    align-self: stretch;
  }
}
.flowPointWrapper > .inner > .ttlBox > .ttl {
  color: #fff;
  font-weight: bold;
  font-size: 1.313em;
}

.flowPointList {
  width: 100%;
  flex: 0 1 auto;
}
.flowPointList > .item {
  width: 100%;
  position: relative;
}
.flowPointList > .item::before {
  display: block;
  content: "";
  width: 0.9em;
  height: 0.9em;
  background: #FF5639;
  position: absolute;
  border-radius: 100vmax;
  top: 8px;
  left: -20px;
}
.flowPointList > .item:nth-child(n+2) {
  margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
  .flowPointList > .item .txt {
    font-size: 1.125em;
  }
}

/*--------------------------------------------------
FAQ
---------------------------------------------------*/
.faq {
  background: #F7F6EE;
  position: relative;
  padding: 80px 0;
}
.faq > .inner {
  margin: 0 auto;
  padding: 0 1em;
}
@media screen and (min-width: 768px) {
  .faq > .inner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
  }
}
.faq > .inner > .ttlBox {
  text-align: center;
}
.faq > .inner > .ttlBox .ttl {
  font-weight: bold;
  font-size: 2em;
}
.faq .faqBox {
  margin: 2em auto;
}
.faq .faqList > li {
  background: #fff;
  border-radius: 20px;
}
.faq .faqList > li:nth-of-type(n+2) {
  margin-top: 1em;
}
.faq .faqList > li > .ttlBox > .inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding: 1.5em 1.5em 1em;
}
.faq .faqList > li > .ttlBox .iconBox {
  color: #FF5639;
  font-size: 1.5em;
  font-weight: bold;
}
.faq .faqList > li > .ttlBox .txtBox {
  font-size: 1.1em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .faq .faqList > li > .ttlBox .txtBox {
    font-size: 1.313em;
  }
}
.faq .faqList > li .leadBox > .inner {
  width: 95%;
  margin-left: auto;
  display: flex;
  gap: 16px;
  padding: 1em 1em 2em;
}
.faq .faqList > li .leadBox .iconBox {
  font-size: 2.5em;
  font-weight: bold;
}
.faq .faqList > li .leadBox .txtBox .txt {
  font-size: 0.875em;
  line-height: 1.8;
}

/*--------------------------------------------------
お問合わせ
---------------------------------------------------*/
#contact,
#confirm {
  position: relative;
}
#contact > .inner,
#confirm > .inner {
  margin: 0 auto;
  padding: 80px 16px 40px;
}
@media screen and (min-width: 768px) {
  #contact > .inner,
  #confirm > .inner {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
  }
}
#contact > .inner > .ttlBox,
#confirm > .inner > .ttlBox {
  text-align: center;
}
#contact .leadBox,
#confirm .leadBox {
  margin: 32px auto;
  text-align: center;
}
#contact .formBox,
#confirm .formBox {
  margin: 2.5em auto;
}
#contact .contBox,
#confirm .contBox {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  gap: 24px;
  padding: 1.313em 0;
  border-top: solid 1px #BFBFBF;
}
@media screen and (min-width: 768px) {
  #contact .contBox,
  #confirm .contBox {
    flex-direction: row;
  }
}
#contact .contBox:last-child,
#confirm .contBox:last-child {
  border-bottom: solid 1px #BFBFBF;
}
#contact .contBox > .ttl,
#confirm .contBox > .ttl {
  flex: 0 1 auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #contact .contBox > .ttl,
  #confirm .contBox > .ttl {
    width: 50%;
  }
}
#contact .contBox > .cont,
#confirm .contBox > .cont {
  flex: 0 1 auto;
  width: 100%;
}
#contact .contBox > .contList,
#confirm .contBox > .contList {
  flex: 0 1 auto;
  width: 100%;
}
#contact .contBox .contList > .cont:nth-of-type(n+2),
#confirm .contBox .contList > .cont:nth-of-type(n+2) {
  margin-top: 0.5em;
}
#contact .label.label__caution,
#confirm .label.label__caution {
  background: #333333;
  color: #fff;
  display: inline-block;
  margin-left: 0.5em;
  font-size: 0.8em;
  padding: 0.2em 0.8em;
  border-radius: 4px;
}

/*--------------------------------------------------
注釈
---------------------------------------------------*/
.ly_caution {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .ly_caution {
    width: 100%;
    max-width: 900px;
    margin: 2em auto;
  }
}
@media screen and (max-width: 767px) {
  .ly_caution {
    width: 96%;
    margin: 2em auto;
  }
}

.bl_caution_ttl {
  font-size: clamp(14px, 1vw, 14px);
  border-top: solid 1px #333;
  border-bottom: solid 1px #333;
  padding: 0.5em 0;
  position: relative;
}
.bl_caution_ttl::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 8px 0 8px;
  border-color: #000333 transparent transparent transparent;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}

.bl_caution_cont {
  margin-top: 1em;
}

.bl_cautionListItem {
  font-size: clamp(10px, 1vw, 12px);
}

/*--------------------------------------------------
thanksに設置する資料ダウンロード
---------------------------------------------------*/
.documentBox {
  width: 100%;
  max-width: 900px;
  margin: 2em auto 1em;
}
.documentBox > .inner {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .documentBox > .inner {
    flex-direction: row;
  }
}
.documentBox .ttlBox {
  width: 100%;
  position: relative;
  padding: 0 !important;
}
.documentBox .ttlBox .ttl {
  color: #fff;
  font-weight: bold;
  font-size: 1.5em !important;
  text-shadow: 2px 1px 8px rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  transform: translateY(-50%);
  z-index: 1;
}
.documentBox .contBox {
  width: 100%;
  background: #fff;
  padding: 1em 2em 2em;
  align-self: stretch;
}
@media screen and (min-width: 768px) {
  .documentBox .contBox {
    padding: 1em 2em 0;
  }
}
.documentBox .contBox > .img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .documentBox .contBox > .img {
    width: 90%;
  }
}
.documentBox .btnBox {
  margin-top: 1em;
}
.documentBox .btn > .inner > .txt {
  font-size: 1.125em;
}

@media screen and (min-width: 768px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .middle_box > .middle_shosai1 > .middle_n {
    line-height: 1;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .middle_box > .middle_shosai1 > .middle_title1 {
    line-height: 190%;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .middle_box > .middle_shosai2 > .middle_title2 {
    line-height: 190%;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .middle_box > .middle_shosai2 > .middle_n {
    line-height: 200%;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_1st > .middle_box > .middle_shosai1 > .middle_n {
    line-height: 1;
    max-width: 70px;
    font-size: 0.72rem;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_1st > .middle_box > .middle_shosai1 > .middle_title1 {
    line-height: 190%;
    flex: 0 0 50%;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_1st > .middle_box > .middle_shosai2 > .middle_title2 {
    line-height: 190%;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_1st > .middle_box > .middle_shosai2 > .middle_n {
    line-height: 200%;
    flex: 0 0 50%;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > p,
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > p {
    padding: 32px 26px;
    margin-bottom: 26px;
  }
}
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:first-child > .contents_1st > .bottom_box > .bottom_n {
  padding: 16px 0;
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_after::after {
  background-image: url(../images/case_up_karaoke.webp);
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_after::after {
  background-image: url(../images/case_up_ghostkitchen.webp);
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_1st > .top_box::before {
  background-image: url(../images/badge_ghostkitchen.webp);
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_before > .up_txt,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_before > .up_txt,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_after > .up_txt,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_after > .up_txt {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 30px 0;
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_before > .up_txt > .low,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_before > .up_txt > .low,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_after > .up_txt > .low,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_after > .up_txt > .low {
  display: flex;
  text-align: right;
  flex-direction: column;
  max-width: 65px;
  line-height: 100%;
  padding-right: 8px;
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_before > .up_txt > .low span,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_before > .up_txt > .low span,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_after > .up_txt > .low span,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_after > .up_txt > .low span {
  display: block;
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_before > .up_txt > .high,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_before > .up_txt > .high,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_after > .up_txt > .high,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_after > .up_txt > .high {
  line-height: 100%;
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .middle_box > .middle_shosai1 > .middle_n,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_1st > .middle_box > .middle_shosai1 > .middle_n {
  line-height: 1;
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .middle_box > .middle_shosai1 > .middle_title1,
.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_1st > .middle_box > .middle_shosai1 > .middle_title1 {
  line-height: 200%;
}

.caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .bottom_box > .bottom_n > img {
  max-width: 160px;
}

@media screen and (max-width: 767px) {
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol,
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol {
    max-width: 312px;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_2st > .up_content > ol > li.up_after::after {
    width: 92px;
    right: -48px;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_2st > .up_content > ol > li.up_after::after {
    width: 92px;
    right: -50px;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_1st > .middle_box > .middle_shosai1 > .middle_title1 {
    line-height: 161%;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(3) > .contents_1st > .middle_box > .middle_shosai1 > .middle_n {
    line-height: 1;
    font-size: 0.7rem;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .middle_box > .middle_shosai2 > .middle_title2 {
    line-height: 180%;
  }
  .caseFv02 > .caseFv02__inner .caseFv02__contents ul li:nth-child(2) > .contents_1st > .middle_box > .middle_shosai2 > .middle_n {
    line-height: 180%;
  }
}
.troubleFv02 .troubleFv02__inner .troubleFv02__heading {
  max-width: 440px;
  margin: 0 auto;
}

.troubleFv02 .troubleFv02__inner .troubleFv02__heading .ttl {
  text-align: center;
  padding-top: 24px;
}

.troubleFv02 .troubleFv02__inner .troubleFv02__heading .ttl .txt {
  font-size: 2rem;
}

.troubleFv02 .troubleFv02__inner .troubleFv02__heading .ttl .txt .line_orange {
  background: linear-gradient(transparent 60%, #FFC8BE 60%);
}

.troubleFv02 .troubleFv02__inner .troubleFv02__heading .ttl .txt .hp_txt_orange {
  font-size: 2.5rem;
}

.troubleFv02 .troubleFv02__inner .imgBox {
  max-width: 922px;
  margin: 0 auto;
  padding-bottom: 100px;
  padding-top: 64px;
}

@media screen and (max-width: 767px) {
  .troubleFv02 .troubleFv02__inner .imgBox {
    max-width: 326px;
    margin: 0 auto;
    padding-bottom: 118px;
    padding-top: 48px;
  }
  .troubleFv02 .troubleFv02__inner .troubleFv02__heading .ttl .txt {
    font-size: 1.5rem;
  }
  .troubleFv02 .troubleFv02__inner .troubleFv02__heading .ttl .txt .hp_txt_orange {
    font-size: 2rem;
  }
  .troubleFv02 .troubleFv02__inner .troubleFv02__heading .ttl .subTtl {
    font-size: 1.25rem;
  }
}
.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/**//*# sourceMappingURL=style-lp01.css.map */