﻿html:not(.responsive) {
	min-width: 1000px;
	/* viewport */
}



/*=============================================
 * body
 *=============================================*/

body {
	color: #181818;
	font-family: 'Zen Kaku Gothic Antique';
	font-style: normal;
	font-weight: 600;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: 0em;
	background: #ffffff;
	min-width: inherit;
	min-height: inherit;
	max-height: 100%;
}

@media only screen and (max-width: 767px) {
body {

	font-size: 15px;
	line-height: 2;
}
}

/*=============================================
 * fonts - DON'T EDIT
 *=============================================*/

.fnt-mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.fnt-meiryo {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシックPro", "ＭＳ ゴシック", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.fnt-gothic {
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

/*=============================================
 * <main>
 *=============================================*/

main {
	clear: both;
	width: 100%;
	position: relative;
	overflow: hidden;
}



/*=============================================
 * <header>
 *=============================================*/

header {
	position: relative;
	width: 100%;
	z-index: 100;
}

.sp {
	display: none;
}

.tb {
	display: none;
}


@media only screen and (max-width: 767px) {

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

}







@media only screen and (device-width : 375px) and (device-height : 812px) and (-webkit-device-pixel-ratio : 3) {

}

@media only screen and (min-width: 999px) {
	body {

		position: static !important;
		top: 0 !important;
	}
}



/*=============================================
 * <footer>
 *=============================================*/

#pagetop {
	cursor: pointer;
	transition: opacity 0.1s ease;
	position: fixed;
	bottom: 10px;
	right: 10px;
	opacity: 0;
}

#socialbuttons {
	width: 350px;
	margin: inherit;
}

.lg-box {
	display: none;
}


/*=============================================
 * copyright
 *=============================================*/



/* ==========================================================================
   css popup
   ========================================================================== */
/* Hide scroll bar */
html.remodal-is-locked {
	overflow: hidden;
	-ms-touch-action: none;
	touch-action: none;
}

/* Anti FOUC */
.remodal,
[data-remodal-id] {
	display: none;
}

/* Necessary styles of the overlay */
.remodal-overlay {
	position: fixed;
	z-index: 9999;
	top: -5000px;
	right: -5000px;
	bottom: -5000px;
	left: -5000px;
	display: none;
}

/* Necessary styles of the wrapper */
.remodal-wrapper {
	position: fixed;
	z-index: 10000;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	overflow: auto;
	text-align: center;
	-webkit-overflow-scrolling: touch;
}

.remodal-wrapper:after {
	display: inline-block;
	height: 100%;
	margin-left: -0.05em;
	content: "";
}

/* Fix iPad, iPhone glitches */
.remodal-overlay,
.remodal-wrapper {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */
.remodal {
	position: relative;
	outline: none;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

.remodal-is-initialized {
	/* Disable Anti-FOUC */
	display: inline-block;
}

/* Default theme styles for the background */
.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
	-webkit-filter: blur(3px);
	filter: blur(3px);
}

/* Default theme styles of the overlay */
.remodal-overlay {
	background: rgba(0, 0, 0, 0.95);
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
	-webkit-animation-duration: 0.3s;
	animation-duration: 0.3s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening {
	-webkit-animation-name: remodal-overlay-opening-keyframes;
	animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing {
	-webkit-animation-name: remodal-overlay-closing-keyframes;
	animation-name: remodal-overlay-closing-keyframes;
}

/* Default theme styles of the wrapper */
.remodal-wrapper {
	padding: 10px 10px 0;
}

/* Default theme styles of the modal dialog */
.remodal {
	box-sizing: border-box;
	width: 100%;
	padding: 22px;
	margin-bottom: 10px;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	color: #FFF;
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
	-webkit-animation-duration: 0.3s;
	animation-duration: 0.3s;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
	-webkit-animation-name: remodal-opening-keyframes;
	animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
	-webkit-animation-name: remodal-closing-keyframes;
	animation-name: remodal-closing-keyframes;
}

/* Vertical align of the modal dialog */
.remodal,
.remodal-wrapper:after {
	vertical-align: middle;
}

/* Close button */
.remodal-close {
	position: absolute;
	bottom: 10px;
	right: 50%;
	display: block;
	overflow: visible;
	margin: 0 -207px 0 0;
	padding: 0;
	cursor: pointer;
	-webkit-transition: color 0.2s;
	transition: color 0.2s;
	text-decoration: none;
	color: #95979c;
	border: 0;
	outline: 0;
	background: url(../img/index/close_btn.png) no-repeat;
	width: 413px;
	height: 78px;
}

.remodal-close:before {
	display: none !important;
}

@media only screen and (max-width: 767px) {
	.remodal-wrapper {
		padding: 45px 2px 45px;
	}

	.remodal-close {
		background: url(../img/index/close_btn.png) no-repeat center bottom;
		background-size: 100% auto;
		width: 280px;
		height: 78px;
		margin: 0 -140px 0 0;
	}

	.remodal {
		padding: 50px 22px 30px;
	}

	.remodal-close:before {
		font-size: 35px !important;
	}

	/* .js-scroll-sp {
		overflow-y: auto;
		width: 100%;
		height: 100vh;
		padding-bottom: 100px;
		position: relative;
	} */
}
/* ==========================================================================
   end css popup
   ========================================================================== */


.remodal-close img {
	width: 100%;
	height: auto;
}

.remodal-close:hover,
.remodal-close:focus {
	color: #2b2e38;
}

.remodal-close:before {
	font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
	font-size: 25px;
	line-height: 35px;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 35px;
	content: "\00d7";
	text-align: center;
}

/* Dialog buttons */
.remodal-confirm,
.remodal-cancel {
	font: inherit;
	display: inline-block;
	overflow: visible;
	min-width: 110px;
	margin: 0;
	padding: 12px 0;
	cursor: pointer;
	-webkit-transition: background 0.2s;
	transition: background 0.2s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border: 0;
	outline: 0;
}

.remodal-confirm {
	color: #fff;
	background: #81c784;
}

.remodal-confirm:hover,
.remodal-confirm:focus {
	background: #66bb6a;
}

.remodal-cancel {
	color: #fff;
	background: #e57373;
}

.remodal-cancel:hover,
.remodal-cancel:focus {
	background: #ef5350;
}

/* Remove inner padding and border in Firefox 4+ for the button tag. */
.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
	padding: 0;
	border: 0;
}

/* Keyframes
	 ========================================================================== */
@-webkit-keyframes remodal-opening-keyframes {
	from {
		-webkit-transform: scale(1.05);
		transform: scale(1.05);
		opacity: 0;
	}

	to {
		-webkit-transform: none;
		transform: none;
		opacity: 1;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
}

@keyframes remodal-opening-keyframes {
	from {
		-webkit-transform: scale(1.05);
		transform: scale(1.05);
		opacity: 0;
	}

	to {
		-webkit-transform: none;
		transform: none;
		opacity: 1;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
}

@-webkit-keyframes remodal-closing-keyframes {
	from {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}

	to {
		-webkit-transform: scale(0.95);
		transform: scale(0.95);
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
}

@keyframes remodal-closing-keyframes {
	from {
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
	}

	to {
		-webkit-transform: scale(0.95);
		transform: scale(0.95);
		opacity: 0;
		-webkit-filter: blur(0);
		filter: blur(0);
	}
}

@-webkit-keyframes remodal-overlay-opening-keyframes {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes remodal-overlay-opening-keyframes {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@-webkit-keyframes remodal-overlay-closing-keyframes {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes remodal-overlay-closing-keyframes {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

/* Media queries
	 ========================================================================== */
@media only screen and (min-width: 641px) {
	.remodal {
		max-width: 999px;
	}
}



/* IE8
	 ========================================================================== */
.lt-ie9 .remodal-overlay {
	background: #2b2e38;
}

.lt-ie9 .remodal {
	width: 700px;
}

/* ==========================================================================
	 end css popup
	 ========================================================================== */


.ob-img {
    background-size: cover;
    background-position: center center;
    position: relative;
}

.ob-img img {
    object-fit: cover;
    width: 100% !important;
    height: 100% !important;
}



@media only screen and (min-width: 768px) {
	.d__flex {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}
	.d__flex.jus {
		justify-content: space-between;
	}
	.ob-img img {
		position: absolute;
		top: 0px;
		left: 0px;
		right: 0px;
		bottom: 0px;
	}
}

.bRadius20 {
	border-radius: 20px;
	overflow: hidden;
}
.bRadius30 {
	border-radius: 30px;
	overflow: hidden;
}



body.navOpen,
body.navOpen *,
body.navOpen *:hover,
body.navOpen *:focus,
body.navOpen *:active {
  /*    cursor: none !important;*/
  touch-action: none !important;
  pointer-events: none !important;
}

.navOpen {
  overflow: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: none !important;
  pointer-events: none !important;
}

body.navOpen .hamburger,
body.navOpen .menu_toggle,
body.navOpen .menu_toggle * {
  touch-action: auto !important;
  pointer-events: visible !important;
}


.menu_toggle {
  display: none;
}



@media screen and (max-width: 767px) {
  .menu_toggle {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    width: 100% !important;
    top: 0;
    right: 0;
    height: 100vh;
    overflow-y: auto;
    z-index: 999;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10vw 5% 200px;
    transition: all 0.4s ease;
    text-align: center;
    color: #181818;
    display: block;
    background: #e1d9cc;
  }

  .menu_toggle .logo-s {
    width: 37vw;
    margin: 0 auto 10vw;
  }
	
	.menu_toggle .inner {
		padding-top: 0;
		padding-bottom: 0;
	}
	.menu_toggle .footerNav {
        margin-bottom: 10vw;
        display: flex;
        flex-direction: column;
        text-align: left;
        gap: 29px;
        padding: 0 8vw
 }
	.menu_toggle .footerNav a {
		font-size: 20px;
		font-weight: 700;
		transition: all .4s ease;
	}
	
	.menu_toggle .footerNav a.active {
		text-decoration-line: underline;
		text-underline-offset: 4px;						
	}
	.menu_toggle .linkOther {
        margin-bottom: 8vw;
        text-align: left;
        margin-left: 8vw;
	}
	.menu_toggle .linkOther a {
		font-size: 16px;
		text-decoration-line: underline;
		text-underline-offset: 4px;
		font-weight: 700;
	}
	.menu_toggle .linkOther a.active {
		text-decoration-line: underline;
		text-underline-offset: 4px;	
	}
	.menu_toggle .bnr__tel {
		margin-bottom: 5vw;
	}
	.menu_toggle .bnr__tel a {
		display: block;
		line-height: 1;
		padding: 11px 0;
		background: #fff;
		border-radius: 8px;
		border: 3px solid #c92c24;
		color: #c92c24;
		position: relative;
	}
	
	.menu_toggle .bnr__tel a::after {
		content: "";
		background: url("../img/index/arrow01.png") no-repeat center;
		background-size: 100% auto;
		width: 15px;
		height: 15px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 16px;
	}
	
	.menu_toggle .bnr__tel span {
		position: relative;
		padding-left: 26px;
		font-size: 32px;
		letter-spacing: 0.05em;
		line-height: 1;
	}
	.menu_toggle .bnr__tel span::before {
		content: "";
		background: url(../img/index/icon-tel2.png) no-repeat center;
		background-size: 100% auto;
		width: 23px;
		height: 26px;
		position: absolute;
		top: 48%;
		left: -6px;
		transform: translateY(-50%);
	}

	.bnr__mail {
		
	}
	.bnr__mail a {
		border-radius: 8px;
		line-height: 1;
		height: 65px;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		color: #fff;
		transition: all .4s ease;
		background: #c92c24;
	}
	
	
	
	.bnr__mail a::after {
		content: "";
		background: url("../img/index/arrow02.png") no-repeat center;
		background-size: 100% auto;
		width: 15px;
		height: 15px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 16px;
	}
	.bnr__mail a span {
		position: relative;
		padding-left: 30px;
		font-size: 20px;
		font-weight: 700;
		letter-spacing: 0.01em;
	}
	.bnr__mail a span::before {
		content: "";
		background: url(../img/index/icon_mailBlack2.png) no-repeat center;
		width: 26px;
		height: 21px;
		background-size: 100% auto;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: -8px;
	}
	
	

  .navOpen .menu_toggle {
    opacity: 1;
    visibility: visible;
  }
	

}




.hamburger {
	line-height: 1;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: #fff;
	text-align: center;
	text-transform: none;
	margin: 0;
	overflow: visible;
	z-index: 101;
	background: #000;
	height: 70px;
}
.hamburger::after {
/*
	content: 'MENU';
	display: block;
	position: absolute;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.16em;
	font-family: "Roboto Condensed", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	bottom: 15px;
	right: 0;
	left: 0;
*/
}
.hamburger .hamburger-box {
	width: 43px;
	height: 22px;
	display: block;
	position: relative;
	padding-top: 38px;
	margin: 0 auto;
}
.hamburger .hamburger-inner {
	display: block;
	top: 50%;
}
.hamburger .hamburger-inner, .hamburger .hamburger-inner::before, .hamburger .hamburger-inner::after {
	width: 100%;
	border-top: 4px solid;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}
.hamburger .hamburger-inner::before, .hamburger .hamburger-inner::after {
	content: '';
	display: block;
}
.hamburger .hamburger-inner::before {
	top: -15px;
}
.hamburger .hamburger-inner::after {
	bottom: -12px;
}
.hamburger.is-active::after {
/*	content: 'CLOSE';*/
}

@media screen and (min-width: 768px) {
.hamburger {
	display: none;
}
}
/** Vortex Reverse **/
.hamburger--vortex-r .hamburger-inner {
	transition-duration: 0.2s;
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
	transition-duration: 0s;
	transition-delay: 0.1s;
	transition-timing-function: linear;
}
.hamburger--vortex-r .hamburger-inner::before {
	transition-property: top, opacity;
}
.hamburger--vortex-r .hamburger-inner::after {
	transition-property: bottom, transform;
}
.hamburger--vortex-r.is-active .hamburger-inner {
	transform: rotate(-765deg);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	border-width: 4px;
}
.hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
	transition-delay: 0s;
}
.hamburger--vortex-r.is-active .hamburger-inner::before {
	top: 0;
	opacity: 0;
}
.hamburger--vortex-r.is-active .hamburger-inner::after {
	bottom: 0;
	transform: rotate(-90deg);
	border-width: 4px;
}




/*=============================================
 * fadeIn
 *=============================================*/
@-webkit-keyframes fadeInUp {
   from {
      opacity: 0;
      -webkit-transform: translate3d(0, 30px, 0);
      transform: translate3d(0, 30px, 0);
   }

   to {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
   }
}

@keyframes fadeInUp {
   from {
      opacity: 0;
      -webkit-transform: translate3d(0, 30px, 0);
      transform: translate3d(0, 30px, 0);
   }

   to {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
   }
}

.fadeInUp {
   -webkit-animation-name: fadeInUp;
   animation-name: fadeInUp;
   animation-duration: 2s;
   animation-delay: 0.3s;
	  animation-fill-mode: both;

}




.cl-red {
  color: #c92c24;
}
.bnr__shared a {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 15px;
  line-height: 1;
  padding: 20px 0;
  position: relative;
  border-radius: 35px;
  overflow: hidden;
  text-decoration: none;
  background: #c92c24;
  transition: all .4s ease;
}
.bnr__shared a::after {
  content: "";
  background: url("../img/index/arrow02.png") no-repeat center;
  background-size: 100% auto;
  width: 15px;
  height: 15px;
  top: 50%;
  transform: translateY(-50%);
  right: 18px;
  position: absolute;
}
@media only screen and (min-width: 768px) {
  .bnr__shared a {
    font-size: 16px;
    padding: 27px 10px 27px 0;
    border-radius: 35px;
  }
  .bnr__shared a::after {
    width: 15px;
    height: 15px;
    right: 31px;
  }
  .bnr__shared a:hover {
    background: #000;
  }
}
.hv__line {
  position: relative;
  z-index: 2;
}
.hv__line span {
  display: inline-block;
  position: relative;
  line-height: 1;
}
.hv__line span::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  bottom: -15px;
  background: url("../img/index/lead_line.jpg") repeat-x bottom left;
  height: 3px;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}




.activeLine .hv__line span::before {
	right: 3px;
}


@media only screen and (min-width: 768px) {
  .hv__line span::before {
    bottom: -19px;
    height: 4px;
  }
}
.Nav {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  gap: 28px;
}
.Nav a {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.1em;
  transition: all .4s ease;
}
.Nav a.active, .Nav a:hover {
  text-decoration-line: underline;
  text-underline-offset: 4px;
}
.linkOther a {
  color: #c92c24;
  font-size: 16px;
  text-decoration-line: underline;
  text-underline-offset: 6px;
  transition: all .4s ease;
  font-weight: 600;
}
@media only screen and (min-width: 768px) {
  .linkOther a {
    font-size: 13px;
  }
  .linkOther a:hover {
    text-decoration: none;
  }
}
header h1 {
    position: absolute;
    top: -50px;
    left: 0;
    line-height: 1;
}
.nav__fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 123;
}
.nav__fixed .header__wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  overflow: hidden;
}
.nav__fixed .header__wrap .logo {
  width: 123px;
  padding: 20px 0 0 27px;
}
.nav__fixed .header__wrap .header__right {
  width: 874px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}
.nav__fixed .header__wrap .header__right .header__nav {
  width: 493px;
  text-align: right;
}
.nav__fixed .header__wrap .header__right .header__nav .linkOther {
  margin-bottom: 12px;
  line-height: 1;
  padding-top: 5px;
}
.nav__fixed .header__wrap .header__right .header__nav .Nav {
  justify-content: flex-end;
}
.nav__fixed .header__wrap .header__right .bnr__mail {
  width: 38px;
  margin-left: 31px;
  margin-right: 0;
  display: flex;
  align-items: center;
}
.nav__fixed .header__wrap .header__right .header__tel {
  padding: 20px 14px;
  text-align: center;
  color: #fff;
  background: #c92c24;
  width: 231px;
}
.nav__fixed .header__wrap .header__right .header__tel a {
  display: block;
  color: #fff;
}
.nav__fixed .header__wrap .header__right .header__tel small {
  display: block;
  font-size: 16px;
  line-height: 1;
  margin-bottom: 8px;
  padding-left: 23px;
  letter-spacing: 1px;
}
.nav__fixed .header__wrap .header__right .header__tel span {
  font-size: 30px;
  position: relative;
  padding-left: 30px;
}
.nav__fixed .header__wrap .header__right .header__tel span::before {
  content: "";
  background: url("../img/index/tel_icon.png") no-repeat center;
  width: 20px;
  height: 24px;
  background-size: 100% auto;
  position: absolute;
  top: 52%;
  transform: translateY(-50%);
  left: 0;
  filter: brightness(0) invert(1);
}


.footer__tel a {
  display: block;
  text-align: center;
	position: relative;
}

.footer__tel a::after {
    content: "";
    background: url("../img/index/arrow01.png") no-repeat center;
    background-size: 100% auto;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 24px;	
}

.footer__tel dl {
  line-height: 1;
  padding: 14px 0;
  border-radius: 8px;
  border: 4px solid #c92c24;
  overflow: hidden;
  background: #fff;
  font-weight: 700;
  text-align: center;
}
.footer__tel dl dt {
  font-size: 4vw;
  margin-bottom: 2vw;
}
.footer__tel dl dd span {
  position: relative;
  padding-left: 0;
  font-size: 35px;
}
.footer__tel dl dd span::before {
  content: "";
  background: url("../img/index/icon-tel2.png") no-repeat center;
  background-size: 100% auto;
  width: 20px;
  height: 23px;
  position: absolute;
  top: 9px;
  left: -31px;
}
@media only screen and (min-width: 768px) {
  .footer__tel dl {
    padding: 10px 0;
    border: 4px solid #c92c24;
  }
  .footer__tel dl dt {
    font-size: 13px;
    margin-bottom: 10px;
  }
  .footer__tel dl dd span {
    padding-left: 28px;
    font-size: 28px;
  }
  .footer__tel dl dd span::before {
    width: 20px;
    height: 23px;
    top: 4px;
    left: 0;
  }
}
.footer__web a {
  border-radius: 8px;
  background: #c92c24;
  line-height: 1;
  height: 78px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  transition: all .4s ease;
}
.footer__web a::after {
  content: "";
  background: url("../img/index/icon_arrow02.png") no-repeat center;
  background-size: 100% auto;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 24px;
}
.footer__web a span {
  position: relative;
  padding-left: 30px;
  font-size: 20px;
  letter-spacing: 0.1em;
}
.footer__web a span::before {
  content: "";
  background: url("../img/index/icon_mailBlack2.png") no-repeat center;
  width: 27px;
  height: 21px;
  background-size: 100% auto;
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  left: -11px;
}
@media only screen and (min-width: 768px) {
  .footer__web a {
    border-radius: 8px;
    height: 78px;
  }
  .footer__web a::after {
    width: 15px;
    height: 15px;
    right: 24px;
  }
  .footer__web a:hover {
    background: #000;
    text-decoration: none;
  }
  .footer__web a span {
    padding-left: 30px;
    font-size: 16px;
  }
  .footer__web a span::before {
    width: 26px;
    height: 21px;
    left: -11px;
  }
}
footer {
  padding-top: 17vw;
  background: #e1d9cc;
  padding-left: 0;
  padding-right: 0;
}
footer .set1 {
  padding: 0 5vw 10vw;
}
footer .set1 .logo {
  max-width: 160px;
  margin: 0 auto 7vw;
  width: 37vw;
}
footer .set1 .footer__nav {
  gap: 15px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  margin-left: 20px;
}
footer .set1 .linkOther {
	margin-left: 20px;
}
footer .set1 .footer__nav li a {
  font-size: 20px;
  font-weight: 700;
  transition: all .4s ease;
}
footer .set1 .footer__nav li {
	width: 100%;
}
footer .set1 .footer__nav li a:hover {
  text-decoration-line: underline;
  text-underline-offset: 4px;
}
footer .set1 .footer__bnr {
  position: relative;
  padding-top: 14vw;
}
footer .set1 .footer__bnr .footer__tel {
  margin-bottom: 20px;
}
footer .set2 {
  background: #ffffff;
  text-align: center;
  padding: 10px 0 81px;
  font-size: 3.2vw;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  footer {
    padding-top: 68px;
  }
  footer .set1 {
    padding: 0 0 66px;
  }
  footer .set1 .logo {
    width: 160px;
    margin: 0 0 47px;
  }
  footer .set1 .footer__nav {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    gap: 40px;
    margin-left: 0;
    margin-bottom: 14px;
  }
	footer .set1 .footer__nav li {
		width: auto;
	}
  footer .set1 .footer__nav li a {
    font-size: 16px;
  }
  footer .set1 .footer__bnr {
    position: absolute;
    top: 12px;
    right: 0;
    width: 288px;
    padding-top: 0;
  }
  footer .set1 .footer__bnr .footer__tel {
    margin-bottom: 20px;
  }
  footer .set2 {
    padding: 6px 0;
    font-size: 10px;
    letter-spacing: 1px;
  }
	footer .set1 .linkOther {
		margin-left: 0;
	}
}
#ft-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #c92c24;
  z-index: 1000;
  height: 65px;
  overflow: hidden;
}
.ft-fixed__shared {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ft-fixed__shared .ft__info {
  border-right: 2px solid #000;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  font-size: 18px;
  padding: 8px 11px;
  letter-spacing: 0.1em;
}
.ft-fixed__shared .ft__tel {
  text-align: center;
  padding-top: 0;
}
.ft-fixed__shared .ft__tel a {
  display: block;
}
.ft-fixed__shared .ft__tel span {
  position: relative;
  padding-left: 26px;
  font-size: 28px;
  color: #fff;
  letter-spacing: 0.01em;
}
.ft-fixed__shared .ft__tel span::before {
  content: "";
  background: url("../img/index/icon-tel.png") no-repeat center;
  background-size: 100% auto;
  width: 20px;
  height: 23px;
  position: absolute;
  top: 50%;
  left: 1px;
  transform: translateY(-50%);
}
.ft-fixed__shared .hamburger {
  width: 67px;
  text-align: center;
  background: #222222;
  position: relative;
  color: #fff;
  height: 66px;
}
.navOpen #ft-fixed .ft__info,
.navOpen #ft-fixed .ft__tel {
  opacity: 0;
  visibility: visible;
}



/* iPhone X */
@media only screen and (min-device-width: 375px) and (min-device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait) {
footer::after {
	height: 36px;
	content: '';
	background: #c92c24;
	position: fixed;
	bottom: 0px;
	left: 0;
	right: 0;
	z-index: 7;
}
#ft-fixed {
	bottom: calc(env(safe-area-inset-bottom) - 0px);
}
}

/* iPhone XR */
@media only screen and (min-device-width: 414px) and (min-device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait) {
footer::after {
	height: 36px;
	content: '';
	background: #c92c24;
	position: fixed;
	bottom: 0px;
	left: 0;
	right: 0;
	z-index: 7;
}
#ft-fixed {
	bottom: calc(env(safe-area-inset-bottom) - 0px);
}
}

/* iPhone 11 */
@media only screen and (-webkit-min-device-pixel-ratio: 3), only screen and (min--moz-device-pixel-ratio: 3), only screen and (-o-min-device-pixel-ratio: 3 / 1), only screen and (min-device-pixel-ratio: 3), only screen and (min-resolution: 458dpi), only screen and (min-resolution: 3dppx) {
footer::after {
	height: 36px;
	content: '';
	background: #c92c24;
	position: fixed;
	bottom: 0px;
	left: 0;
	right: 0;
	z-index: 7;
}
#ft-fixed {
	bottom: calc(env(safe-area-inset-bottom) - 0px);
}
}

@media screen and (min-width: 768px) {
footer::after, #ft-fixed {
	display: none;
}
}
