/*!
 * Imported Styles
 * ------------------------------
 * 基本設定
 * @import url("base.css");
 * レイアウト
 * @import url("layout.css");
 * ナビゲーション
 * @import url("nav.css");
 * 部品
 * @import url("modules.css");
 *
 * もし @import で読み込む場合は、上記のファイルをインポートしてください。
 *
 */ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%
}
body {
  margin: 0
}
main {
  display: block
}
h1 {
  font-size: 2em;
  margin: 0.67em 0
}
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible
}
pre {
  font-family: monospace, monospace;
  font-size: 1em
}
a {
  background-color: transparent
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}
b, strong {
  font-weight: bolder
}
code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em
}
small {
  font-size: 80%
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -0.25em
}
sup {
  top: -0.5em
}
img {
  border-style: none
}
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}
button, input {
  overflow: visible
}
button, select {
  text-transform: none
}
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button
}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0
}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText
}
fieldset {
  padding: 0.35em 0.75em 0.625em
}
legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}
progress {
  vertical-align: baseline
}
textarea {
  overflow: auto
}
[type="checkbox"], [type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
details {
  display: block
}
summary {
  display: list-item
}
template {
  display: none
}
[hidden] {
  display: none
}
body, h1, h2, h3, h4, h5, h6, div, p, span, ul, ol, li, dl, dt, dd, table, tr, th, td, form, select, option, address, pre, strong, em, figure {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-decoration: none
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
*::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
html, body {
  height: 100%;
  margin: 0;
  padding: 0
}
html {
  font-size: 62.5%
}
a {
  -webkit-transition: 0.4s color;
  transition: 0.4s color
}
a:link, a:visited {
  color: #369bc8;
  text-decoration: none
}
a:hover, a:active, a:focus {
  color: #047cb8;
  text-decoration: underline
}
a img {
  -webkit-transition: opacity .3s;
  transition: opacity .3s
}
a:hover img, a:active img, a:focus img {
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  opacity: .7
}
@media screen and (max-width: 768px) {
  a [href^="tel:"] {
    pointer-events: none
  }
}
em {
  font-style: normal
}
img {
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  width: auto
}
li {
  list-style: none
}
p {
  margin-bottom: 20px
}
strong {
  font-weight: bold
}
table {
  border-collapse: collapse
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block
}
body {
  background-color: #fff;
  background-size: auto;
  color: #404040;
  font-size: 1.8rem;
  font-family: 'Noto Sans JP', 'Noto Sans JP Woff', "メイリオ", Meiryo, "Meiryo UI", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif, Arial, Helvetica;
  font-weight: 400;
  line-height: 2;
  overflow-x: hidden
}
body h1, body h2, body h3, body h4, body h5 {
  font-family: 'Noto Sans JP', 'Noto Sans JP Woff', "メイリオ", Meiryo, "Meiryo UI", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif, Arial, Helvetica
}
body .layout--header, body .layout--contents, body .layout--footer {
  font-size: 1.8rem;
  font-family: 'Noto Sans JP', 'Noto Sans JP Woff', "メイリオ", Meiryo, "Meiryo UI", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif, Arial, Helvetica;
  font-weight: 400;
  line-height: 2
}
@media screen and (max-width: 1200px) {
  body {
    font-size: 1.7rem
  }
  body .layout--header, body .layout--contents, body .layout--footer {
    font-size: 1.7rem
  }
}
@media screen and (max-width: 960px) {
  body {
    font-size: 1.6rem
  }
  body .layout--header, body .layout--contents, body .layout--footer {
    font-size: 1.6rem
  }
}
@media screen and (max-width: 600px) {
  body {
    font-size: 1.5rem
  }
  body .layout--header, body .layout--contents, body .layout--footer {
    font-size: 1.5rem;
    line-height: 1.75
  }
}
.layout--header {
  background-color: #333;
  height: 100px;
  margin: 0;
  padding: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 20
}
.layout--header .facade {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100px;
  margin: 0 auto;
  position: relative;
  padding: 0 270px 0 20px;
  max-width: 1800px;
  width: 100%
}
.layout--header .brandLogo {
  margin-left: 10px;
  margin-right: 30px;
  /*max-width: 340px;*/
  max-width: 370px;
  padding: 0 0 8px 0;
  position: relative;
  /*width: 31%*/
  width: 33.5%
}
.layout--header .brandLogo .langbox {
  display:none;
}

.langbox_form {
	position: fixed;
	right:20px;
	top:20px;
	text-align:center;
	line-height:0.4;
	font-size:80%;
	color:#fff;
	width:80px;
}
.langbox_form span {
	margin-bottom:10px;
	display:block;
}
.langbox_form img {
	height:20px;
	width:auto;
	margin: 0 0 3px 0;
	pading:0;
	line-height:0;
}

@media screen and (max-width: 960px) {
.langbox_form {
	right:10px;
	top:10px;
}
	.langbox_form span {
	  margin-bottom:10px;
		display:block;
	}
	.langbox_form img {
	  height:20px;
		width:auto;
		margin: 0 0 5px 0;
		pading:0;
		line-height:0;
	}
}
@media screen and (max-width: 600px) {
	.langbox_form span {
	  margin-bottom:8px;
		display:block;
	}
	.langbox_form img {
	  height:15px;
		width:auto;
		margin: 0 0 3px 0;
		pading:0;
		line-height:0;
	}
}


.layout--header .brandLogo a {
  display: block;
  color: #fff;
  width: 100%
}
.layout--header .brandLogo a:hover, .layout--header .brandLogo a:active, .layout--header .brandLogo a:focus {
  text-decoration: none
}
.layout--header .brandLogo a:hover .brandName, .layout--header .brandLogo a:active .brandName, .layout--header .brandLogo a:focus .brandName {
  opacity: 0.7
}
.layout--header .brandLogo a img {
  width: 149px
}
.layout--header .brandLogo a .brandName {
  font-family: 'Yuji Syuku', serif;
  /*font-size: 2.4rem;*/
  font-size: 2.2rem;
  font-weight: 400;
  font-display: swap;
  line-height: 1;
  margin-left: 15px;
  -webkit-transition: 0.25s;
  transition: 0.25s
}
@media screen and (max-width: 1400px) {
  .layout--header .facade {
    padding: 0 240px 0 20px
  }
  .layout--header .brandLogo {
    margin-left: 0;
    margin-right: 15px;
    padding-bottom: 4px;
    width: 311px
  }
  .layout--header .brandLogo a .brandName {
    font-size: 2.0rem;
    margin-left: 10px
  }
  .layout--header .brandLogo a img {
    width: 100px
  }
}
@media screen and (max-width: 1200px) {
  .layout--header .facade {
    padding: 0 220px 0 20px
  }
  .layout--header .brandLogo {
    margin-right: 10px;
    padding-bottom: 0;
    padding-top: 2px;
    /*width: 280px;*/
    width: 300px;
  }
  .layout--header .brandLogo a .brandName {
    font-size: 1.9rem
  }
  .layout--header .brandLogo a img {
    width: 100px
  }
}
@media screen and (max-width: 1100px) {
  .layout--header .brandLogo {
    margin-right: 0;
    padding-top: 4px;
    /*width: 260px*/
  }
  .layout--header .brandLogo a .brandName {
    font-size: 1.7rem
  }
  .layout--header .brandLogo a img {
    width: 100px
  }
}
@media screen and (max-width: 960px) {
  .layout--header {
    height: 80px
  }
  .layout--header .facade {
    height: 80px;
    padding: 0 390px 0 15px;
    max-width: 960px;
    width: 100%
  }
  .layout--header .brandLogo {
    padding-top: 0;
    width: 140px
  }
  .layout--header .brandLogo a {
    text-align: center
  }
  .layout--header .brandLogo a .brandName {
    display: block;
    margin-top: 3px
  }
	.layout--header .brandLogo .langbox {
	  display:block;
		position: absolute;
		right:-70px;
		top:-5px;
		color:#fff;
		text-align:center;
		line-height:0.4;
		font-size:80%;
	}
	.layout--header .brandLogo .langbox span {
	  margin-bottom:10px;
		display:block;
	}
	.layout--header .brandLogo .langbox img {
	  /*height:20px;*/
	    height:17px;
		width:auto;
		/*margin: 0 0 3px 0;*/
		margin: 0 0 2px 0;
		pading:0;
		line-height:0;
	}
}
@media screen and (max-width: 600px) {
  .layout--header {
    height: 60px
  }
  .layout--header .facade {
    height: 60px;
    /*padding: 0 70px 0 5px*/
    padding: 0 55px 0 5px
  }
  .layout--header .brandLogo {
    padding-top: 0;
    width: 130px
  }
  .layout--header .brandLogo a .brandName {
    font-size: 1.3rem;
    margin-left: 5px;
  }
  .layout--header .brandLogo a img {
    width: 100px
  }
.layout--header .brandLogo .langbox {
	  display:block;
		position: absolute;
		/*right:-38%;*/
		right: auto;
        left: 128px;
		top:0px;
		color:#fff;
		text-align:center;
		line-height:0.4;
		font-size:60%;
	}
	.layout--header .brandLogo .langbox span {
	  margin-bottom:8px;
		display:block;
	}
	.layout--header .brandLogo .langbox img {
	  /*height:15px;*/
        height:12px;
		width:auto;
		margin: 0 0 0 0;
		pading:0;
		line-height:0;
	}
}
body {
  position: relative;
  width: 100vw
}
body.is-fixed {
  height: 100%;
  overflow: hidden
}
.layout--contents {
  margin: 0 auto;
  padding-top: 100px;
  position: relative;
  max-width: 1800px
}
@media screen and (max-width: 960px) {
  .layout--contents {
    padding-top: 80px;
    max-width: 960px
  }
}
@media screen and (max-width: 600px) {
  .layout--contents {
    padding-top: 60px
  }
}
.sectionOuter {
  margin: 0 auto 150px;
  position: relative;
  max-width: 100vw;
  width: 100%
}
@media screen and (max-width: 600px) {
  .sectionOuter {
    margin: 0 auto 100px
  }
}
@media screen and (max-width: 414px) {
  .sectionOuter {
    margin: 0 auto 70px
  }
}
.contentInner {
  margin: 0 auto;
  max-width: 1400px;
  padding: 0 20px;
  width: 100%
}
@media screen and (max-width: 600px) {
  .contentInner {
    padding: 0 15px
  }
}
.layout--footer {
  background-color: #333;
  bottom: 0;
  color: #fff;
  margin-top: 20px;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 5
}
.layout--footer::before {
  background: url("/images/cmn_img/footer_icon_ninja.png") no-repeat center bottom;
  content: "";
  display: block;
  height: 169px;
  position: absolute;
  right: 20px;
  top: -169px;
  width: 154px
}
@media screen and (min-width: 1800px) {
  .layout--footer::before {
    right: calc(50% - 880px)
  }
}
@media screen and (max-width: 1400px) {
  .layout--footer::before {
    background-size: 85%
  }
}
@media screen and (max-width: 1200px) {
  .layout--footer::before {
    background-size: 68%
  }
}
@media screen and (max-width: 600px) {
  .layout--footer::before {
    display: none
  }
}
.globalNav .globalMenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 20px
}
.globalNav .globalMenu .item {
  border-left: 1px solid #cc2e29;
  line-height: 1.3;
  /*padding: 0 20px;*/
  padding: 0 19px;
  position: relative;
  width: auto
}
.globalNav .globalMenu .item:last-child {
  border-left: none;
	text-align:center;
	color:#fff;
	font-size:80%;
	line-height:1.7;
}
.globalNav .globalMenu .item img {
  margin-bottom:3px;
  width: 30px;
}
.globalNav .globalMenu .item:first-child {
  border-left-width: 0
}
.globalNav .globalMenu .item a {
  color: #fff;
  font-family: 'Yuji Syuku', serif;
  font-size: 1.7rem;
  font-weight: 400;
  font-display: swap;
  line-height: 1;
  text-align: center;
  -webkit-transition: 0.25s;
  transition: 0.25s
}
.globalNav .globalMenu .item a:hover, .globalNav .globalMenu .item a:active, .globalNav .globalMenu .item a:focus {
  color: #cc2e29;
  text-decoration: none
}
@media screen and (max-width: 1400px) {
  .globalNav .globalMenu {
    padding-left: 0;
    padding-top: 4px;
  }
  .globalNav .globalMenu .item {
    line-height: 1.2;
    padding: 0 14px;
  }
}
@media screen and (max-width: 1200px) {
  .globalNav .globalMenu .item {
    /*padding: 0 13px;*/
    padding: 0 10px;
  }
  .globalNav .globalMenu .item a {
    /*font-size: 1.8rem;*/
    font-size: 1.65rem;
  }
}
@media screen and (max-width: 1100px) {
  .globalNav .globalMenu .item {
    padding: 0 10px;
  }
  .globalNav .globalMenu .item a {
    /*font-size: 1.6rem;*/
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 960px) {
  .globalNav {
    display: none
  }
}
.cat--form .headerInquiry {
  display: none
}
.headerInquiry {
  background-color: #cc2e29;
  border-radius: 0 0 0 10px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 130px;
  margin: 0;
  padding: 6px 10px 5px;
  position: absolute;
  right: 0;
  top: 0;
  width: 220px
}
.headerInquiry::before {
  background: url("/images/cmn_img/float_navi_ninja.png") no-repeat left center;
  content: "";
  display: block;
  height: 70px;
  left: -34px;
  position: absolute;
  top: 20px;
  width: 40px
}
.headerInquiry .type--tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1;
  margin-bottom: 5px;
  width: 100%
}
.headerInquiry .type--tel .image {
  margin: 0 10px 0 0
}
.headerInquiry .type--tel .ic--tel {
  height: 40px;
  width: 40px
}
.headerInquiry .type--tel .textPart .telephone {
  font-size: 2.0rem;
  font-weight: 700;
  margin: 0 0 3px 0
}
.headerInquiry .type--tel .textPart .telephone a {
  color: #fff
}
.headerInquiry .type--tel .textPart .text {
  font-size: 1.1rem;
  margin: 0
}
.headerInquiry .type--form {
  background-color: #f6bc40;
  font-size: 1.3rem;
  line-height: 1.25;
  width: 115px
}
.headerInquiry .type--form a {
  color: #404040;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 42px;
  -webkit-transition: 0.25s;
  transition: 0.25s
}
.headerInquiry .type--form a:hover, .headerInquiry .type--form a:active, .headerInquiry .type--form a:focus {
  background-color: #f9d689;
  text-decoration: none
}
.headerInquiry .type--form a:hover img, .headerInquiry .type--form a:active img, .headerInquiry .type--form a:focus img {
  opacity: 1
}
.headerInquiry .type--form a p {
  margin: 0 0 0 8px
}
.headerInquiry .type--form a span {
  display: block
}
.headerInquiry .type--form .ic--mail {
  height: 24px;
  width: 24px
}
.headerInquiry .type--line {
  background-color: #06c755;
  font-size: 1.3rem;
  line-height: 1.25;
  margin-left: 7px;
  width: 78px
}
.headerInquiry .type--line a {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 42px;
  -webkit-transition: 0.25s;
  transition: 0.25s
}
.headerInquiry .type--line a:hover, .headerInquiry .type--line a:active, .headerInquiry .type--line a:focus {
  background-color: #07e060;
  text-decoration: none
}
.headerInquiry .type--line a p {
  margin: 0
}
.headerInquiry .type--line a span {
  display: block
}
.headerInquiry .note {
  font-size: 1.0rem;
  line-height: 1.25;
  margin: 5px 0 0 0;
  text-align: center;
  width: 100%
}
@media screen and (max-width: 1500px) {
  .headerInquiry {
    height: 130px;
    padding: 6px 8px 5px;
    width: 200px
  }
  .headerInquiry .type--tel .image {
    margin: 0 8px 0 0
  }
  .headerInquiry .type--form {
    width: 105px
  }
  .headerInquiry .type--line {
    width: 70px
  }
}
@media screen and (max-width: 1200px) {
  .headerInquiry {
    height: 122px;
    padding: 5px 7px 5px;
    width: 180px
  }
  .headerInquiry .type--tel {
    margin-bottom: 4px
  }
  .headerInquiry .type--tel .image {
    margin: 0 4px 0 0
  }
  .headerInquiry .type--tel .ic--tel {
    height: 36px;
    width: 36px
  }
  .headerInquiry .type--tel .textPart .telephone {
    font-size: 1.8rem;
    margin: 0 0 2px 0
  }
  .headerInquiry .type--tel .textPart .text {
    font-size: 1.0rem;
    margin: 0
  }
  .headerInquiry .type--form {
    font-size: 1.2rem;
    height: 40px;
    width: 94px
  }
  .headerInquiry .type--form a {
    height: 40px
  }
  .headerInquiry .type--form a p {
    margin: 0 0 0 6px
  }
  .headerInquiry .type--form .ic--mail {
    height: 20px;
    width: 20px
  }
  .headerInquiry .type--line {
    font-size: 1.2rem;
    height: 40px;
    margin-left: 6px;
    width: 64px
  }
  .headerInquiry .type--line a {
    height: 40px
  }
  .headerInquiry .note {
    margin: 3px 0 0 0
  }
}
@media screen and (max-width: 960px) {
  .headerInquiry {
    display: none
  }
}
.floatInquiry {
  display: none
}
@media screen and (max-width: 960px) {
  .floatInquiry {
    background-color: #cc2e29;
    border-radius: 0;
    bottom: auto;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 80px;
    left: auto;
    margin: 0 auto;
    padding: 7px 5px 4px 5px;
    position: fixed;
    right: 60px;
    top: 0;
    max-width: 300px;
    width: 100%;
    z-index: 20
  }
  .floatInquiry .type--tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    height: 50px;
    margin-right: 5px;
    width: 50%
  }
  .floatInquiry .type--tel .image {
    margin: 0 5px 0 0
  }
  .floatInquiry .type--tel .textPart .telephone {
    font-size: 2.0rem;
    font-weight: 700;
    margin: 0 0 3px 0
  }
  .floatInquiry .type--tel .textPart .telephone a {
    color: #fff
  }
  .floatInquiry .type--tel .textPart .text {
    font-size: 1.1rem;
    margin: 0
  }
  .floatInquiry .type--form, .floatInquiry .type--line {
    font-size: 1.2rem;
    line-height: 1.25;
    height: 50px;
    width: 66px
  }
  .floatInquiry .type--form a, .floatInquiry .type--line a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 50px;
    -webkit-transition: 0.25s;
    transition: 0.25s
  }
  .floatInquiry .type--form a:hover, .floatInquiry .type--form a:active, .floatInquiry .type--form a:focus, .floatInquiry .type--line a:hover, .floatInquiry .type--line a:active, .floatInquiry .type--line a:focus {
    text-decoration: none
  }
  .floatInquiry .type--form a p, .floatInquiry .type--line a p {
    margin: 0;
    text-align: center
  }
  .floatInquiry .type--form a span, .floatInquiry .type--line a span {
    display: block
  }
  .floatInquiry .type--form {
    background-color: #f6bc40
  }
  .floatInquiry .type--form a {
    color: #404040
  }
  .floatInquiry .type--form a:hover, .floatInquiry .type--form a:active, .floatInquiry .type--form a:focus {
    background-color: #f9d689
  }
  .floatInquiry .type--line {
    background-color: #06c755;
    margin-left: 7px
  }
  .floatInquiry .type--line a {
    color: #fff
  }
  .floatInquiry .type--line a:hover, .floatInquiry .type--line a:active, .floatInquiry .type--line a:focus {
    background-color: #07e060
  }
  .floatInquiry .note {
    font-size: 1.0rem;
    line-height: 1;
    margin: 5px 0 0 0;
    text-align: center;
    width: 100%
  }
}
@media screen and (max-width: 600px) {
  .floatInquiry {
    border-radius: 5px 5px 0 0;
    bottom: 0;
    height: 67px;
    left: 0;
    margin: 0 auto;
    padding: 7px 5px 4px;
    right: 0;
    top: auto
  }
  .floatInquiry .type--tel {
    height: 40px;
    display: none;
  }
  .floatInquiry .type--tel .image {
    margin: 0 5px 0 0
  }
  .floatInquiry .type--form, .floatInquiry .type--line {
    height: 40px;
    width: 48%;
  }
  .floatInquiry .type--form a span, .floatInquiry .type--line a span {
    display: inline;
  }
  .floatInquiry .type--form a, .floatInquiry .type--line a {
    height: 40px
  }
}
.floatAppeal {
  background-color: #1babde;
  border-radius: 10px 0 0 10px;
  display: block;
  padding: 10px 40px;
  position: fixed;
  right: 0;
  text-align: center;
  top: 135px;
  width: 220px;
  z-index: 20
}
.floatAppeal .type--row {
  display: none
}
.floatAppeal .text {
  display: none
}
.cat--form .floatAppeal {
  display: none
}
.floatAppeal .type--col {
    height:57px;
  }

@media screen and (min-width: 1800px) {
  .floatAppeal {
    right: calc(50% - 900px)
  }

}
@media screen and (max-width: 1500px) {
  .floatAppeal {
    padding: 10px 30px;
    width: 200px
  }
}
@media screen and (max-width: 1200px) {
  .floatAppeal {
    padding: 8px 30px;
    top: 126px;
    width: 180px
  }
}
@media screen and (max-width: 960px) {
  .floatAppeal {
    border-radius: 5px;
    padding: 8px 10px;
    top: 13px;
    right: 373px;
    width: 64px
  }
  .floatAppeal .type--col {
    display: none
  }
  .floatAppeal .type--row {
    display: block
  }
}
@media screen and (max-width: 750px) {
  .floatAppeal {
    padding: 8px 9px;
    right: 365px;
    width: 58px
  }
}
@media screen and (max-width: 600px) {
  .floatAppeal {
    background-color: transparent;
    border-radius: 5px 5px 0 0;
    bottom: 60px;
    left: 17px;
    margin: 0 auto;
    padding: 0;
    right: 0;
    top: auto;
    max-width: 300px;
    width: 100%
  }
  .floatAppeal .type--col {
    background-color: #1babde;
    border-radius: 3px;
    display: block;
    padding: 6px 10px 5px;
    width: 74px
  }
  .floatAppeal .type--row {
    display: none
  }
}
.hamburgerMenu {
  display: none
}
@media screen and (max-width: 960px) {
  .cat--form .hamburgerMenu {
    display: none
  }
  .hamburgerMenu {
    background-color: transparent;
    border: 0;
    cursor: pointer;
    display: inline-block;
    height: 28px;
    margin: 9px 5px 8px auto;
    padding: 0;
    position: absolute;
    right: 9px;
    top: 25px;
    width: 38px
  }
  .hamburgerMenu:focus {
    outline-style: none
  }
  .hamburgerMenu::after {
    background-color: #cc2e29;
    content: "";
    display: block;
    height: 80px;
    position: absolute;
    right: -14px;
    top: -34px;
    width: 60px;
    z-index: -1
  }
  .hamburgerMenu::before {
    color: #fff;
    content: "MENU";
    display: block;
    font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
    font-size: 1.3rem;
    font-weight: 400;
    font-display: swap;
    left: 0;
    position: absolute;
    text-decoration: none;
    text-align: center;
    top: -18px;
    white-space: nowrap;
    width: 100%
  }
  .hamburgerMenu span {
    background-color: #fff;
    border-radius: 4px;
    display: inline-block;
    left: 0;
    height: 4px;
    position: absolute;
    -webkit-transition: all .4s;
    transition: all .4s;
    width: 100%
  }
  .hamburgerMenu span:nth-of-type(1) {
    top: 0
  }
  .hamburgerMenu span:nth-of-type(2) {
    top: 12px
  }
  .hamburgerMenu span:nth-of-type(3) {
    bottom: 0
  }
  .hamburgerMenu.is-active {
    z-index: 1000
  }
  .hamburgerMenu.is-active::before {
    content: "CLOSE";
    top: -20px
  }
  .hamburgerMenu.is-active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg)
  }
  .hamburgerMenu.is-active span:nth-of-type(2) {
    opacity: 0
  }
  .hamburgerMenu.is-active span:nth-of-type(3) {
    -webkit-transform: translateY(-15px) rotate(45deg);
    transform: translateY(-15px) rotate(45deg)
  }
}
@media screen and (max-width: 600px) {
  .hamburgerMenu {
    right: 5px;
    top: 15px
  }
  .hamburgerMenu::after {
    height: 60px;
    right: -10px;
    top: -24px;
    width: 60px
  }
}
#js-sp-menu-wrapper {
  display: none;
  opacity: 0;
  visibility: hidden
}
#js-sp-menu-wrapper.is-active {
  background: #333;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  left: 0;
  opacity: 1;
  position: fixed;
  top: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 100%;
  visibility: visible;
  z-index: 999
}
#js-sp-menu-wrapper .hamburgerMenu::after {
  background-color: #333
}
#js-sp-menu-wrapper .fullScreenHeading {
  border-bottom: 1px solid #fff;
  font-family: 'Yuji Syuku', serif;
  font-size: 2.2rem;
  font-weight: 400;
  font-display: swap;
  margin: 10px auto 20px;
  text-align: center
}
#js-sp-menu-wrapper .fullScreenNav {
  padding: 0 1em
}
#js-sp-menu-wrapper .fullScreenNav .item {
  text-align: center
}
#js-sp-menu-wrapper .fullScreenNav a {
  color: #fff;
  font-size: 1.6rem
}
#js-sp-menu-wrapper .fullScreenNav a:hover, #js-sp-menu-wrapper .fullScreenNav a:active, #js-sp-menu-wrapper .fullScreenNav a:focus {
  color: #fff;
  text-decoration: underline
}
#js-sp-menu-wrapper .fullScreenNav.type--other {
  margin: 20px auto 0;
  padding: 0 10px
}
#js-sp-menu-wrapper .fullScreenNav.type--other a {
  font-size: 1.4rem
}
#js-sp-menu-wrapper .fullScreenNav.type--sns {
  border-top: 1px solid #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 20px auto;
  padding: 10px 10px
}
#js-sp-menu-wrapper .fullScreenNav.type--sns .item {
  margin: 10px
}
.footerInfo {
  background-color: #4d4d4d;
  padding: 0 20px;
  width: 100%
}
.footerInfo a {
  color: #fff;
  text-decoration: none;
  -webkit-transition: 0.25s;
  transition: 0.25s
}
.footerInfo a:hover, .footerInfo a:active, .footerInfo a:focus {
  color: #cc2e29;
  text-decoration: none
}
.footerInfo .footerInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
.footerInner {
  margin: 0 auto;
  max-width: 1200px;
  width: 100%
}
@media screen and (max-width: 1400px) {
  .footerInner {
    max-width: 1160px
  }
}
@media screen and (max-width: 600px) {
  .footerInfo {
    padding: 0 15px
  }
  .footerInfo .footerInner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 600px
  }
}
.breadcrumbs {
  background-color: #4d4d4d;
  border-bottom: 1px solid #fff;
  margin: 0;
  padding: 0 20px;
  width: 100%
}
.breadcrumbs a {
  color: #fff;
  text-decoration: none;
  -webkit-transition: 0.25s;
  transition: 0.25s
}
.breadcrumbs a:hover, .breadcrumbs a:active, .breadcrumbs a:focus {
  color: #cc2e29;
  text-decoration: none
}
.breadcrumbs .breadcrumbsList {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  font-size: 0;
  padding: 10px 0 14px;
  margin: 0 auto;
  text-align: left
}
.breadcrumbs .breadcrumbsList .item {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
  padding-top: 4px
}
.breadcrumbs .breadcrumbsList .item:first-child {
  padding-left: 20px;
  position: relative
}
.breadcrumbs .breadcrumbsList .item:first-child::before {
  background: url("/images/cmn_img/icon_home.svg") no-repeat center center;
  background-size: 12px 12px;
  bottom: 0;
  display: block;
  content: "";
  height: 12px;
  left: 0;
  margin: auto;
  position: absolute;
  top: 3px;
  width: 12px
}
.breadcrumbs .breadcrumbsList .item:not(:nth-child(1))::before {
  color: #fff;
  content: '／';
  margin: 0 6px
}
@media screen and (max-width: 600px) {
  .breadcrumbs {
    display: none
  }
}
.footerSiteMap {
  margin: 0;
  padding: 35px 0;
  max-width: 630px;
  width: calc(100% - 312px)
}
.footerSiteMap .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 0 auto;
  width: 100%
}
.footerSiteMap .menu .item {
  font-size: 1.5rem;
  line-height: 1;
  margin: 0 1em 1em 0
}
.footerSiteMap .menu .item:first-child a, .footerSiteMap .menu .item:nth-child(6) a {
  border-left-width: 0;
  padding: 0
}
.footerSiteMap .menu .item a {
  border-left: 1px solid #fff;
  display: inline-block;
  line-height: 1.1;
  padding: 0 0 0 1em
}
@media screen and (max-width: 1200px) {
  .footerSiteMap {
    max-width: 550px
  }
  .footerSiteMap .menu .item {
    font-size: 1.4rem
  }
}
@media screen and (max-width: 960px) {
  .footerSiteMap {
    margin: 0 20px 0 0;
    width: calc(100% - 312px - 20px)
  }
  .footerSiteMap .menu .item:first-child a, .footerSiteMap .menu .item:nth-child(6) a {
    border-left-width: 1px;
    padding: 0 0 0 1em
  }
}
@media screen and (max-width: 600px) {
  .footerSiteMap {
    display: none
  }
}
.footerCorporate {
  padding: 30px 0;
  text-align: left;
  width: 312px
}
.footerCorporate .footerName {
  color: #fff;
  font-family: 'Yuji Syuku', serif;
  font-size: 2.2rem;
  font-weight: 400;
  font-display: swap;
  line-height: 1;
  margin-bottom: 20px
}
.footerCorporate .footerShop {
  font-size: 1.3rem;
  line-height: 1.85;
  max-width: 380px
}
.footerCorporate .footerShop .type--address {
  margin-bottom: 0
}
.footerCorporate .footerShop .type--address span {
  display: block
}
.footerCorporate .footerShop .type--tel {
  margin-bottom: 0
}
@media screen and (max-width: 600px) {
  .footerCorporate {
    margin: 0 auto;
    width: 100%
  }
}
.footerEndWrapper {
  padding: 0 20px
}
.footerEnd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 60px
}
.footerEnd a {
  color: #fff;
  text-decoration: none;
  -webkit-transition: 0.25s;
  transition: 0.25s
}
.footerEnd a:hover, .footerEnd a:active, .footerEnd a:focus {
  color: #cc2e29;
  text-decoration: none
}
.footerEnd .copy {
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  margin: 15px 0;
  text-align: left
}
.footerEndInner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 645px
}
.footerEndInner .footerEndMenu, .footerEndInner .footerEndSns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1;
  margin: 15px 0 15px 30px
}
.footerEndInner .footerEndMenu .item, .footerEndInner .footerEndSns .item {
  font-size: 1.2rem;
  margin-left: 15px
}
.footerEndInner .footerEndMenu .item a, .footerEndInner .footerEndSns .item a {
  display: block
}
@media screen and (max-width: 960px) {
  .footerEnd {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 150px;
    padding-top: 20px;
    width: 100%
  }
  .footerEnd .copy {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin: 0 0 15px;
    text-align: center;
    width: 100%
  }
  .footerEndInner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 100%;
    width: 100%
  }
  .footerEndInner .footerEndMenu, .footerEndInner .footerEndSns {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 15px 15px 15px 0;
    max-width: 100%;
    width: 100%
  }
  .footerEndInner .footerEndMenu {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }
  .footerEndInner .footerEndSns {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}
@media screen and (max-width: 600px) {
  .cat--form .footerEndWrapper {
    padding: 0 15px 0
  }
  .footerEndWrapper {
    padding: 0 15px 71px
  }
  .footerEnd .copy {
    font-size: 1.0rem
  }
  .footerEndInner .footerEndMenu .item, .footerEndInner .footerEndSns .item {
    font-size: 1.0rem
  }
  .footerEndInner .footerEndMenu {
    margin: 15px 10px 15px 0
  }
  .footerEndInner .footerEndMenu .item {
    margin-left: 10px
  }
}
.heading--hidden {
  font-size: 0;
  height: 0;
  margin: 0;
  position: absolute;
  opacity: 0;
  width: 0
}
.heading--brackets {
  color: #404040;
  display: block;
  font-family: 'Yuji Syuku', serif;
  font-size: 5rem;
  font-weight: 400;
  font-display: swap;
  line-height: 1;
  margin: 50px auto 50px;
  padding: 50px 0 60px 0;
  position: relative;
  text-align: center
}
.heading--brackets.type--white {
  color: #fff
}
.heading--brackets.type--white::after {
  background: url("/images/cmn_img/title_brackets_w.png") no-repeat center top
}
.heading--brackets::after {
  background: url("/images/cmn_img/title_brackets_b.png") no-repeat center center;
  background-size: 93px 153px;
  bottom: 0;
  content: "";
  display: block;
  height: 153px;
  left: 0;
  line-height: 1;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 93px
}
.heading--brackets + .heading--lead {
  color: #404040;
  display: block;
  font-family: 'Yuji Syuku', serif;
  font-size: 2.8rem;
  font-weight: 400;
  font-display: swap;
  line-height: 1.5;
  margin: 50px auto 60px;
  text-align: center
}
.heading--brackets + .heading--lead.type--white {
  color: #fff
}
@media screen and (max-width: 1400px) {
  .heading--brackets {
    font-size: 4.6rem;
    margin: 45px auto 45px;
    padding: 45px 0 55px 0
  }
  .heading--brackets + .heading--lead {
    font-size: 2.6rem;
    margin: 45px auto 55px
  }
}
@media screen and (max-width: 1200px) {
  .heading--brackets {
    font-size: 4.4rem
  }
  .heading--brackets + .heading--lead {
    font-size: 2.5rem
  }
}
@media screen and (max-width: 960px) {
  .heading--brackets {
    font-size: 3.8rem;
    margin: 40px auto 40px;
    padding: 40px 0 45px 0
  }
  .heading--brackets::after {
    background-size: 84px 138px
  }
  .heading--brackets + .heading--lead {
    font-size: 2.3rem;
    margin: 40px auto 50px
  }
}
@media screen and (max-width: 600px) {
  .heading--brackets {
    font-size: 3.4rem
  }
  .heading--brackets + .heading--lead {
    font-size: 2.1rem
  }
}
@media screen and (max-width: 414px) {
  .heading--brackets {
    font-size: 3.0rem
  }
  .heading--brackets + .heading--lead {
    font-size: 2.0rem
  }
}
.heading--roof {
  color: #404040;
  display: block;
  font-family: 'Yuji Syuku', serif;
  font-size: 4rem;
  font-weight: 400;
  font-display: swap;
  line-height: 1;
  margin: 40px auto 40px;
  padding: 47px 0 0 0;
  position: relative;
  text-align: center
}
.heading--roof::before {
  background: url("/images/cmn_img/title_roof.png") no-repeat center top;
  background-size: 183px 27px;
  content: "";
  display: block;
  height: 27px;
  left: 0;
  line-height: 1;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 183px
}
.heading--roof + .heading--lead {
  color: #404040;
  display: block;
  font-family: 'Yuji Syuku', serif;
  font-size: 2.4rem;
  font-weight: 400;
  font-display: swap;
  line-height: 1.65;
  margin: 40px auto 50px;
  text-align: center
}
@media screen and (max-width: 1400px) {
  .heading--roof {
    font-size: 3.7rem;
    margin: 35px auto 35px;
    padding: 42px 0 0 0
  }
  .heading--roof + .heading--lead {
    font-size: 2.2rem;
    margin: 35px auto 45px
  }
}
@media screen and (max-width: 1200px) {
  .heading--roof {
    font-size: 3.5rem
  }
  .heading--roof + .heading--lead {
    font-size: 2.1rem
  }
}
@media screen and (max-width: 960px) {
  .heading--roof {
    font-size: 3.2rem;
    margin: 30px auto 30px;
    padding: 37px 0 0 0
  }
  .heading--roof::after {
    background-size: 165px 24px
  }
  .heading--roof + .heading--lead {
    font-size: 2.0rem;
    margin: 30px auto 40px
  }
}
@media screen and (max-width: 600px) {
  .heading--roof {
    font-size: 2.9rem
  }
  .heading--roof + .heading--lead {
    font-size: 1.9rem
  }
}
@media screen and (max-width: 414px) {
  .heading--roof {
    font-size: 2.8rem
  }
  .heading--roof + .heading--lead {
    font-size: 1.8rem
  }
}
.btnWrap {
  text-align: center
}
.btnWrap--l {
  text-align: left
}
.btnWrap--r {
  text-align: right
}
.btnWrap--flexC, .btnWrap--flexL, .btnWrap--flexR {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px
}
.btnWrap--flexC .btn, .btnWrap--flexL .btn, .btnWrap--flexR .btn {
  margin-left: 10px;
  margin-right: 10px
}
.btnWrap--flexC {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.btnWrap--flexL {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start
}
.btnWrap--flexR {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end
}
button {
  border-color: #666;
  border-style: solid;
  background: #fff;
  color: #404040;
  cursor: pointer
}
button.btn {
  background-color: #f6bc40;
  color: #404040;
  cursor: pointer;
  font-size: 2.2rem;
  font-weight: 700;
  height: 60px;
  line-height: 58px;
  margin: 0 auto 30px;
  position: relative;
  text-align: center;
  -webkit-transition: 0.25s all;
  transition: 0.25s all;
  width: 200px;
  border-width: 0;
  display: block
}
button.btn::before {
  border-bottom: 8px transparent solid;
  border-right: 8px #404040 solid;
  border-top: 8px transparent solid;
  content: "";
  display: block;
  height: 8px;
  left: 1px;
  margin: auto 0 auto auto;
  position: absolute;
  right: auto;
  top: -3px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 8px;
  z-index: 1
}
button.btn::after {
  border-bottom: 8px transparent solid;
  border-left: 8px #404040 solid;
  border-top: 8px transparent solid;
  bottom: -3px;
  content: "";
  display: block;
  height: 8px;
  left: auto;
  margin: auto 0 auto auto;
  position: absolute;
  right: 1px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 8px;
  z-index: 1
}
button.btn:hover, button.btn:active, button.btn:focus {
  background-color: #f9d689
}
button.btn > a {
  color: #404040;
  display: block;
  padding: 0 10px 0 10px;
  text-decoration: none
}
@media screen and (max-width: 600px) {
  button.btn {
    font-size: 1.6rem;
    width: calc(200px * 0.8)
  }
}
button.btn.disabled {
  background-color: #ccc;
  cursor: default;
  pointer-events: none
}
button.disabled {
  background-color: #ccc;
  color: #4d4d4d;
  cursor: default;
  pointer-events: none
}
.btn {
  background-color: #f6bc40;
  color: #404040;
  cursor: pointer;
  font-size: 2.2rem;
  font-weight: 700;
  height: 60px;
  line-height: 58px;
  margin: 0 auto 30px;
  position: relative;
  text-align: center;
  -webkit-transition: 0.25s all;
  transition: 0.25s all;
  width: 200px
}
.btn::before {
  border-bottom: 8px transparent solid;
  border-right: 8px #404040 solid;
  border-top: 8px transparent solid;
  content: "";
  display: block;
  height: 8px;
  left: 1px;
  margin: auto 0 auto auto;
  position: absolute;
  right: auto;
  top: -3px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 8px;
  z-index: 1
}
.btn::after {
  border-bottom: 8px transparent solid;
  border-left: 8px #404040 solid;
  border-top: 8px transparent solid;
  bottom: -3px;
  content: "";
  display: block;
  height: 8px;
  left: auto;
  margin: auto 0 auto auto;
  position: absolute;
  right: 1px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 8px;
  z-index: 1
}
.btn:hover, .btn:active, .btn:focus {
  background-color: #f9d689
}
.btn > a {
  color: #404040;
  display: block;
  padding: 0 10px 0 10px;
  text-decoration: none
}
@media screen and (max-width: 600px) {
  .btn {
    font-size: 1.6rem;
    width: calc(200px * 0.8)
  }
}
.btn--ninja {
  background-color: #f6bc40;
  color: #404040;
  cursor: pointer;
  font-size: 2.2rem;
  font-weight: 700;
  height: 90px;
  line-height: 88px;
  margin: 0 auto 30px;
  position: relative;
  text-align: center;
  -webkit-transition: 0.25s all;
  transition: 0.25s all;
  width: 600px;
  margin-bottom: 0;
  max-width: 600px;
  width: 100%
}
.btn--ninja::before {
  border-bottom: 8px transparent solid;
  border-right: 8px #404040 solid;
  border-top: 8px transparent solid;
  content: "";
  display: block;
  height: 8px;
  left: 1px;
  margin: auto 0 auto auto;
  position: absolute;
  right: auto;
  top: -3px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 8px;
  z-index: 1
}
.btn--ninja::after {
  border-bottom: 8px transparent solid;
  border-left: 8px #404040 solid;
  border-top: 8px transparent solid;
  bottom: -3px;
  content: "";
  display: block;
  height: 8px;
  left: auto;
  margin: auto 0 auto auto;
  position: absolute;
  right: 1px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 8px;
  z-index: 1
}
.btn--ninja:hover, .btn--ninja:active, .btn--ninja:focus {
  background-color: #f9d689
}
.btn--ninja > a {
  color: #404040;
  display: block;
  padding: 0 10px 0 10px;
  text-decoration: none
}
@media screen and (max-width: 600px) {
  .btn--ninja {
    font-size: 1.6rem;
    width: calc(600px * 0.8)
  }
}
.btn--ninja::before {
  border-bottom-width: 10px;
  border-right-width: 10px;
  border-top-width: 10px;
  height: 10px;
  left: 2px;
  top: -3px;
  width: 10px
}
.btn--ninja::after {
  border-bottom-width: 10px;
  border-left-width: 10px;
  border-top-width: 10px;
  bottom: -3px;
  height: 10px;
  right: 2px;
  width: 10px
}
@media screen and (max-width: 600px) {
  .btn--ninja {
    height: 70px;
    line-height: 68px;
    width: 100%
  }
}
.defaultList {
  padding-left: 1.4em;
  width: 100%
}
.defaultList li {
  list-style: disc;
  line-height: 1.25;
  margin-top: 0.4em
}
.defaultList li:first-of-type {
  margin-top: 0
}
.defaultList.type--none {
  padding-left: 0
}
.defaultList.type--none li {
  list-style-type: none
}
.plainTable {
  border-bottom: 1px dotted #999;
  border-top: 1px dotted #999;
  width: 100%
}
.plainTable.sandwichLine tr {
  border-top: 1px dotted #999
}
.plainTable.sandwichLine tr:first-of-type {
  border-top-width: 1px
}
.plainTable.sandwichLine tr:last-of-type {
  border-bottom: 1px dotted #999
}
.plainTable tr {
  border-top: 1px dotted #999
}
.plainTable tr:first-of-type {
  border-top-width: 0
}
.plainTable th, .plainTable td {
  line-height: 1.35;
  padding: 0.9em 0.5em;
  text-align: left;
  vertical-align: top
}
.plainTable th {
  font-weight: 500;
  width: 30%
}
.plainTable td {
  font-weight: 500;
  width: 70%
}
.plainTable dl {
  line-height: 1.125
}
.plainTable dt {
  margin-top: 1em
}
.plainTable dt:first-of-type {
  margin-top: 0
}
.plainTable dd {
  font-size: 1.6rem
}
@media screen and (max-width: 800px) {
  .cat--form .plainTable {
    display: block
  }
  .cat--form .plainTable tbody, .cat--form .plainTable tr, .cat--form .plainTable th, .cat--form .plainTable td {
    display: block;
    width: 100%
  }
  .cat--form .plainTable th, .cat--form .plainTable td {
    padding: 10px 0
  }
  .cat--form .plainTable th {
    font-weight: 700;
    position: relative;
    padding-bottom: 0
  }
  .cat--form .plainTable th::after {
    border-bottom: 1px solid #999;
    bottom: -5px;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    width: 1em
  }
}
@media screen and (max-width: 600px) {
  .plainTable {
    display: block
  }
  .plainTable tbody, .plainTable tr, .plainTable th, .plainTable td {
    display: block;
    width: 100%
  }
  .plainTable th, .plainTable td {
    padding: 10px 0
  }
  .plainTable th {
    font-weight: 700;
    position: relative;
    padding-bottom: 0
  }
  .plainTable th::after {
    border-bottom: 1px solid #999;
    bottom: -5px;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    width: 1em
  }
}
.font-noto {
  font-family: "Noto Sans Japanese", sans-serif
}
.bg--White {
  background-color: #fff
}
.bg--Gray {
  background-color: #ccc
}
.bg--black {
  background-color: #333;
  color: #fff
}
.txt--left {
  text-align: left !important
}
.txt--center {
  text-align: center !important
}
.txt--right {
  text-align: right !important
}
.image {
  margin-bottom: 30px
}
@media screen and (max-width: 600px) {
  .image {
    margin-bottom: 20px
  }
}
.with-line {
  border: 1px solid #999
}
.attention, .required {
  color: #cc2e29 !important;
  font-weight: inherit
}
.smallTxt {
  font-size: 1.2rem;
  font-weight: inherit
}
.weightBold {
  font-weight: 700
}
.newline {
  display: inline-block;
  font-weight: inherit
}
.txt--narrow1 {
  font-weight: inherit;
  letter-spacing: -1px
}
.txt--narrow2 {
  letter-spacing: -2px
}
.txt--narrow3 {
  font-weight: inherit;
  letter-spacing: -3px
}
.noWrap {
  white-space: nowrap
}
.only--pc {
  display: block
}
.only--sp {
  display: none
}
@media screen and (max-width: 600px) {
  .only--pc {
    display: none
  }
  .only--sp {
    display: block
  }
}
a.disabled {
  color: #777;
  pointer-events: none
}
input, textarea, select {
  background: #fff;
  border-color: #cc2e29;
  border-style: solid;
  border-width: 1px;
  cursor: pointer;
  outline-color: #cc2e29
}
input {
  height: 35px;
  line-height: 1;
  padding: 0 10px
}
select {
  border-radius: 2px;
  height: 35px;
  line-height: 35px;
  padding: 0 10px
}
/*# sourceMappingURL=_maps/common.css.map */
.headertel {
  display: none
}
@media screen and (max-width: 600px) {
  .headertel {
    background-color: #cc2e29;
    border-radius: 0;
    bottom: auto;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 60px;
    left: auto;
    margin: 0 auto;
    padding: 7px 5px 4px 5px;
    position: fixed;
    right: 60px;
    top: 0;
    max-width: 140px;
    width: 100%;
    z-index: 20
  }
  .headertel .type--tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    height: 50px;
    margin-right: 5px;
    width: 100%
  }
  .headertel .type--tel .image {
    margin: 0 5px 0 0
  }
  .headertel .type--tel .textPart .telephone {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 3px 0
  }
  .headertel .type--tel .textPart .telephone a {
    color: #fff
  }
  .headertel .type--tel .textPart .text {
    font-size: 1.1rem;
    margin: 0
  }
  .headertel .note {
    font-size: 1.0rem;
    line-height: 1;
    margin: 5px 0 0 0;
    text-align: center;
    width: 100%
  }
}