@charset "utf-8";

/*
======== table of content. ===============
summary:共通設定
==========================================
*/

/*!
 * ress.css • v2.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */
 html{box-sizing:border-box;-webkit-text-size-adjust:100%;word-break:break-word;-moz-tab-size:4;tab-size:4}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[disabled]{cursor:default}[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}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer;color:inherit}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}img{border-style:none}progress{vertical-align:baseline}svg:not([fill]){fill:currentColor}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}


/* ================================================================================
bese
================================================================================= */
html {
  font-size:62.5%;
}
body {
  width:100%;
  font-family:'Noto Sans JP', sans-serif;
  font-size:1.5rem;
  font-weight:500;
  line-height:1.8;
  color:#e8030c;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6 {
  font-weight:500;
}
hr {
  display:none;
}
a {
  text-decoration:none;
  color:#e8030c;
  outline:none;
}
strong {
  font-weight:bold;
}
ol, ul {
  list-style:none;
}
img {
  height:auto;
  max-width:100%;
  vertical-align:bottom;
}
#wrapper {
  position:relative;
  min-width:1200px;
  margin:0 auto;
}

/* PC版は電話番号を無効化 ----------------------------　*/
body.pc a[href^="tel:"],
body.pc a[href^="tel:"]:hover {
  cursor:default;
  pointer-events:none;
  opacity:1;
}

/* PC調整 ----------------------------　*/
@media (min-width:769px) {
a:hover {
  opacity:.7;
}
}

/* SP調整 ----------------------------　*/
@media (max-width:768px) {
body {
  font-size:1.4rem;
  line-height:1.6;
}
img {
  width:100%;
  height:auto;
}
#wrapper {
  min-width:320px;
}
}


/* ================================================================================
header
================================================================================= */
#header {
  position:relative;
  padding-bottom:29px;
}
#header_inner {
  position:relative;
  max-width:1200px;
  height:100px;
  margin:0 auto;
}
#header_inner a,
#header_inner img {
  display:block;
}
#logo {
  padding:32px 0 0 41px;
}
#logo a {
  width:426px;
}
#logo a:hover {
  opacity:.75;
}
.header_coupon_pc {
  position:absolute;
  top:22px;
  right:30px;
  width:175px;
}
.header_coupon_pc a {
  padding:9px 0 7px;
  background:#e8030c;
  border-radius:25px;
  font-size:1.8rem;
  font-weight:bold;
  color:#fff;
  text-align:center;
  vertical-align:top;
}
.header_coupon_pc a::before {
  content:"";
  display:inline-block;
  position:relative;
  top:-3px;
  width:38px;
  height:34px;
  margin-right:15px;
  background:url(../img/icon_coupon.svg);
  background-size:cover;
}

/* SP調整 ----------------------------　*/
@media (max-width:768px) {
#header {
  width:100%;
  height:60px;
  padding-bottom:0;
}
#header_inner {
  width:100%;
  height:60px;
  background:#fff;
}
#logo {
  padding:22px 0 0 15px;
}
#logo a {
  width:211px;
}
#logo a:hover {
  opacity:1;
}
.header_coupon_pc {
  display:none;
}

/* nav_open　--------------------- */
.nav_open #header_inner {
  position:fixed;
  top:0;
  left:0;
  z-index:999;
}
}


/* ================================================================================
nav PCサイズ
================================================================================= */
@media (min-width:769px) {
#nav_toggle,
#global_nav_list .sp_acc {
  display:none;
}
#global_nav_list {
  display:-webkit-flex;
  display:flex;
  -webkit-justify-content:center;
  justify-content:center;
  position:relative;
  font-size:1.6rem;
  font-weight:bold;
}
#global_nav_list a {
  display:block;
  position:relative;
  width:146px;
  height:40px;
  padding:8px 0 0;
  text-align:center;
}
#global_nav_list a:hover {
  opacity:1;
}
#global_nav_list .sp_only {
  display:none;
}
#global_nav_list li a::after,
#global_nav_list::after {
  content:"";
  display:block;
  position:absolute;
  top:10px;
  left:0;
  width:1px;
  height:30px;
  background:#e8030c;
}
#global_nav_list::after {
  position:relative;
}
#global_nav_list > li:hover > a,
#global_nav_list > li.current > a {
  color:#fff;
}
#global_nav_list > li > a::before {
  content:"";
  display:block;
  position:absolute;
  bottom:0;
  left:0;
  width:148px;
  height:100%;
  z-index:-1;
  opacity:0;
  background:#e8030c;
  transition:opacity .2s ease;
}
#global_nav_list > li:hover > a::before,
#global_nav_list > li.current > a::before {
  opacity:1;
}
#global_nav_list li ul {
  display:-webkit-flex !important;
  display:flex !important;
  -webkit-justify-content:center;
  justify-content:center;
  position:absolute;
  z-index:98;
  width:100%;
  height:0;
  top:35px;
  left:0;
  opacity:0;
  visibility:hidden;
  background:#e8030c;
  transition:top .35s ease, height .35s ease;
}
#global_nav_list li:hover ul,
#global_nav_list li.current ul {
  visibility:visible;
  top:40px;
  height:45px;
  opacity:1;
}
#global_nav_list > li:hover ul {
  z-index:99;
}
#global_nav_list ul a {
  display:block;
  position:relative;
  width:auto;
  min-width:130px;
  padding:8px 36px 0 36px;
  text-align:center;
  color:#fff;
}
#global_nav_list ul li a::after {
  top:14px;
  height:20px;
  background:#fff;
}
#global_nav_list ul li:first-child a::after {
  display:none;
}
#global_nav_list ul li a::before {
  content:"";
  display:block;
  position:absolute;
  top:18px;
  left:10px;
  width:0;
  height:0;
  border-style:solid;
  border-width:6px 0 6px 12px;
  border-color:transparent transparent transparent #fff;
  opacity:0;
  transition:all .2s;
}
#global_nav_list li .current a::before,
#global_nav_list ul li a:hover::before {
  left:18px;
  opacity:1;
}

/* current_page調整 ---------------- */
#global_nav_list > li.current_hidden > a::before,
#global_nav_list li.current_hidden ul {
  opacity:0;
  visibility:hidden;
}
#global_nav_list > li.current.current_hidden > a {
  color:#e8030c;
}
}


/* ================================================================================
nav SPサイズ
================================================================================= */
@media (max-width:768px) {
.nav_open,
.nav_open body {
  overflow:hidden;
}
#global_nav {
  background:#fff;
}
#nav_toggle {
  position:fixed;
  top:0;
  right:0;
  height:60px;
  z-index:1000;
}
#nav_toggle div {
  position:relative;
  width:60px;
  height:60px;
  background:#fbd7cf;
}
#nav_toggle span {
  display:block;
  position:absolute;
  left:0;
  right:0;
  margin:0 auto;
  width:20px;
  height:2px;
  background:#e8030c;
  transition:all 0.3s;
}
#nav_toggle span:nth-child(1) {
  top:25px;
}
#nav_toggle span:nth-child(2) {
  top:34px;
}

/* nav_toggle open ----------------- */
.nav_open #nav_toggle div {
  background:transparent;
}
.nav_open #nav_toggle span {
  width:20px;
  top:30px;
}
.nav_open #nav_toggle span:nth-child(1) {
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
}
.nav_open #nav_toggle span:nth-child(2) {
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
}

/* ナビゲーション内 ----------------- */
#global_nav {
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:100%;
  visibility:hidden;
  z-index:998;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  opacity:0;
  transition:opacity .4s ease, visibility .4s ease;
}
#global_nav_list {
  overflow:hidden;
  padding-top:80px;
  background-color:#fff;
}
#global_nav_list > li {
  position:relative;
  opacity:0;
  -webkit-transform:translateX(60px);
  transform:translateX(60px);
  transition:transform .4s ease, opacity .4s ease;
}
#global_nav_list > li + li {
  border-top:1px solid #fdebe7;
}
#global_nav_list .pc_only {
  display:none;
}
#global_nav_list a {
  display:block;
  padding:0 25px;
  color:#e8030c;
  line-height:43px;
}
#global_nav_list .current a {
  background:#e8030c;
  color:#fff;
}
#global_nav_list .sp_acc {
  display:block;
  position:absolute;
  right:0;
  top:0;
  height:43px;
  width:60px;
}
#global_nav_list .sp_acc:before {
  content:"";
  display:block;
  position:absolute;
  top:50%;
  right:24px;
  width:10px;
  height:10px;
  margin-top:-8px;
  border-top:2px solid #e8030c;
  border-left:2px solid #e8030c;
  -webkit-transform:rotate(-135deg);
  transform:rotate(-135deg);
}
#global_nav_list ul {
  display:none;
  padding-bottom:25px;
}
#global_nav_list ul a {
  line-height:2.3;
}
#global_nav_list ul .current a {
  background:transparent;
  color:#e8030c;
}
#global_nav_list ul a:before {
  content:"・";
}
#global_nav_list .open {
  background:#e8030c;
}
#global_nav_list .open a,
#global_nav_list .open ul .current a {
  color:#fff;
}
#global_nav_list .open .sp_acc:before {
  margin-top:-3px;
  border-top:2px solid #fff;
  border-left:2px solid #fff;
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
}

/* global_nav open ----------------- */
.nav_open #global_nav {
  height:auto;
  visibility:visible;
  opacity:1;
}
.nav_open #global_nav li {
  opacity:1;
  -webkit-transform:translateX(0);
  transform:translateX(0);
  transition:transform .7s ease, opacity .5s ease;
}
.nav_open #global_nav ul li:nth-child(1) {
  transition-delay:0s;
}
.nav_open #global_nav ul li:nth-child(2) {
  transition-delay:.05s;
}
.nav_open #global_nav ul li:nth-child(3) {
  transition-delay:.1s;
}
.nav_open #global_nav ul li:nth-child(4) {
  transition-delay:.15s;
}
.nav_open #global_nav ul li:nth-child(5) {
  transition-delay:.2s;
}
.nav_open #global_nav ul li:nth-child(6) {
  transition-delay:.25s;
}
.nav_open #global_nav ul li:nth-child(7) {
  transition-delay:.3s;
}
.nav_open #global_nav ul li:nth-child(8) {
  transition-delay:.35s;
}
.nav_open #global_nav ul li:nth-child(9) {
  transition-delay:.4s;
}
.nav_open #global_nav ul li:nth-child(10) {
  transition-delay:.45s;
}
}


/* ================================================================================
main
================================================================================= */
#main {
  position:relative;
  min-width:1100px;
}

/* SP調整 ----------------------------　*/
@media (max-width:768px) {
#main {
  min-width:320px;
}
}


/* ================================================================================
footer
================================================================================= */
#footer {
  position:relative;
  padding:62px 0 60px;
  background:#fdebe7;
}
#footer .footer_inner {
  display:-webkit-flex;
  display:flex;
  -webkit-justify-content:space-between;
  justify-content:space-between;
  max-width:1040px;
  margin:0 auto;
}
#footer .footer_detail {
  width:700px;
  font-size:1.4rem;
}
#footer .footer_detail dt {
  margin-bottom:50px;
}
#footer .footer_detail dt img {
  display:block;
  width:358px;
  height:auto;
}
#footer .footer_detail dd {
  margin-top:38px;
}
#footer .footer_detail .column {
  display:-webkit-flex;
  display:flex;
}
#footer .footer_detail .name {
  width:95px;
}
#footer .footer_detail .name span {
  display:block;
  width:78px;
  padding:2px;
  border:1px solid #e8030c;
  text-align:center;
}
#footer .footer_detail .column_group {
  position:relative;
  top:-7px;
  margin-right:17px;
  white-space:nowrap;
}
#footer .footer_detail .freedaial {
  -webkit-flex:1;
  flex:1;
  font-size:3rem;
  font-weight:bold;
  line-height:1;
  vertical-align:middle;
}
#footer .footer_detail .freedaial::before {
  content:"";
  display:inline-block;
  position:relative;
  top:-1px;
  width:50px;
  height:33px;
  background:url(../img/icon_freedial_red.svg) no-repeat;
  background-size:contain;
  margin-right:15px;
  vertical-align:top;
}
#footer .footer_detail .hours {
  margin-top:6px;
}
#footer .sns {
  display:-webkit-flex;
  display:flex;
  margin-top:10px;
}
#footer .sns li + li {
  margin-left:13px;
}
#footer .sns a {
  display:block;
  width:40px;
  height:40px;
  border-radius:50%;
  background-color:#e8030c;
  background-size:contain;
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
}
#footer .sns a:hover {
  opacity:.6;
}
#footer .sns .icon_facebook a { background-image:url(../img/icon_facebook.svg); }
#footer .sns .icon_twitter a { background-image:url(../img/icon_twitter.svg); }
#footer .sns .icon_instagram a { background-image:url(../img/icon_instagram.svg); }
#footer .sns .icon_line a { background-image:url(../img/icon_line.svg); }
#footer .sns .icon_youtube a { background-image:url(../img/icon_youtube.svg); }

#footer .footer_nav {
  display:-webkit-flex;
  display:flex;
  -webkit-justify-content:flex-end;
  justify-content:flex-end;
  margin-top:-5px;
  font-size:1.4rem;
  line-height:2;
}
#footer .footer_nav > ul {
  margin-left:40px;
}
#footer .footer_nav a {
  display:block;
}
#footer .footer_nav li ul {
  margin:7px 0 0 2px;
  padding-left:8px;
  border-left:1px solid #e8030c;
}
#footer .footer_nav li li {
  padding:0 10px;
}
#sp_bottom_ui {
  display:none;
}
#copyright {
  max-width:1040px;
  margin:30px auto 0;
  font-size:1.4rem;
}

/* SP調整 ----------------------------　*/
@media (max-width:768px) {
#footer {
  min-width:320px;
  padding:30px 15px 80px;
  text-align:center;
}
#footer .footer_inner {
  display:block;
}
#footer .footer_detail {
  width:auto;
}
#footer .footer_detail dt {
  margin-bottom:25px;
}
#footer .footer_detail dt img {
  width:262px;
  margin:0 auto;
}
#footer .footer_detail dd {
  margin-top:20px;
}
#footer .footer_detail .column {
  display:block;
}
#footer .footer_detail .name {
  margin:0 auto 15px;
}
#footer .footer_detail .name span {
  padding:3px;
}
#footer .footer_detail .column_group {
  position:static;
  margin:0 0 13px 0;
  white-space:normal;
}
#footer .footer_detail .freedaial::before {
  width:48px;
  height:32px;
}
#footer .footer_detail .hours {
  display:none;
}
#footer .sns {
  -webkit-justify-content:center;
  justify-content:center;
  margin-top:13px;
}
#footer .footer_nav {
  display:none;
}
#sp_bottom_ui {
  display:-webkit-flex;
  display:flex;
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  z-index:990;
}
#sp_bottom_ui .coupon {
  -webkit-flex:1;
  flex:1;
}
#sp_bottom_ui .pagetop {
  width:50px;
}
#sp_bottom_ui a {
  display:block;
  height:50px;
}
#sp_bottom_ui .coupon a {
  padding-top:10px;
  font-size:1.8rem;
  background:#f2f78b;
  font-weight:bold;
  color:#e8030c;
  text-align:center;
  vertical-align:top;
}
#sp_bottom_ui .coupon a::before {
  content:"";
  display:inline-block;
  position:relative;
  top:-3px;
  width:38px;
  height:34px;
  margin-right:15px;
  background:url(../img/icon_coupon_red.svg);
  background-size:cover;
}
#sp_bottom_ui .pagetop a {
  width:56px;
  background:#fbd7cf url(../img/sp_pagetop.svg) center center no-repeat;
  background-size:20px 10px;
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
}
#copyright {
  margin-top:15px;
  font-size:1.3rem;
}
}


/* ================================================================================
print
================================================================================= */
@media print {
}
