@charset "UTF-8";
/* 赤　＝　#e50012　rgb(229,0,18) */
/* 背景　＝　#fbfaf8 */
/* ベージュ　＝　#fbe6d4　rgb(251,230,212) */
/* 黒　＝　#4d4545 */
.font-size-l { font-size: 120% !important; }

.font-size-xl { font-size: 140% !important; }

.txt_underline { text-decoration: underline; }

.pc_no { display: none; }

.mb-8{
  margin-bottom: 8rem !important;
}

@media screen and (max-width: 640px) { .pc_no { display: block; } }
/*===================================================================
　↓　#head-image
===================================================================*/
#head-image { max-width: 1180px; /*1100+40+40*/ margin: auto; padding: 0 40px 0; box-sizing: border-box; position: relative; margin-bottom: 70px; line-height: 1; }

#head-image .page-title { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: 500px; background-color: rgba(255, 255, 255, 0); height: 80px; color: #e50012; display: flex; justify-content: center; align-items: center; text-align: center; }

#head-image .page-title p { font-size: 2.8rem; font-weight: 400; margin-bottom: 10px; }

#head-image .page-title h1 { font-size: 1.6rem; font-weight: 500; }

#head-image img { width: 100%; border-radius: 10px; }

@media screen and (max-width: 1000px) { #head-image { margin-top: 30px; margin-bottom: 50px; } }
@media screen and (max-width: 768px) { #head-image { padding: 0; margin-top: 0; margin-bottom: 50px; }
  #head-image img { border-radius: 0; } }
@media screen and (max-width: 640px) { #head-image { margin-bottom: 40px; }
  #head-image .page-title { width: 260px; height: 60px; }
  #head-image .page-title p { font-size: 1.6rem; margin-bottom: 10px; }
  #head-image .page-title h1 { font-size: 1.4rem; } }
/*===================================================================
　↓　.white-back（白背景）
===================================================================*/
.white-back { background-color: #fff; /*padding: 60px 50px 50px;*/ padding: 45px 50px; position: relative; border-radius: 10px; box-sizing: border-box; }

.white-back p { line-height: 2.2em; margin-bottom: 15px; }

.white-back p:last-child { margin-bottom: 0; }

@media screen and (max-width: 768px) { .white-back { background-color: #fff; /*padding: 60px 40px 50px;*/ padding: 40px 45px; position: relative; border-radius: 10px; } }
@media screen and (max-width: 640px) { .white-back { /*padding: 40px 20px 35px;*/ padding: 25px 20px; } }
/*===================================================================
　↓　.white-item-box（グレーのライン付き｜予約についてなど）
===================================================================*/
.white-item-box { background-color: #fff; padding: 35px 40px 30px; box-sizing: border-box; border-radius: 10px; margin-bottom: 30px; }

.white-item-box:last-child { margin-bottom: 0; }

.white-item-box h2 { font-size: 1.6rem; color: #e50012; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid #eee; font-weight: 500; }

.white-item-box h3.sub-title { font-size: 1.6rem; color: #e50012; margin-top: 20px; font-weight: 500; }

.white-item-box p { line-height: 2.2em; margin-bottom: 20px; text-align: left; }

.white-item-box p:last-of-type { margin-bottom: 0; }

@media screen and (max-width: 768px) { .white-item-box { padding: 25px 30px 20px; margin-bottom: 20px; }
  .white-item-box h2 { padding-bottom: 15px; margin-bottom: 15px; } }
@media screen and (max-width: 640px) { .white-item-box { padding: 20px; }
  .white-item-box h2 { padding-bottom: 15px; margin-bottom: 15px; }
  .white-item-box p { margin-bottom: 15px; } }
/*===================================================================
　↓　.rose-title
===================================================================*/
/*ドットライン付き*/
.rose-title { font-size: 1.8rem; font-weight: 400; line-height: 60px; color: #e50012; text-align: center; background-image: url(../img/base/rose-title.png); background-position: center; background-repeat: no-repeat; background-size: contain; }

/*ドットライン付き*/
.dot-line { background-image: url(../img/base/dotted.png); background-position: center; background-repeat: repeat-x; background-size: 4px 2px; margin-bottom: 40px; }

/*白背景付き*/
.top-margin { /* セクション自体をタイトルの分下げる */ max-width: 840px !important; padding-top: 30px !important; }

.white-back .rose-title { position: absolute; width: 100%; top: -30px; left: 0; }

@media screen and (max-width: 768px) { .dot-line { margin-bottom: 30px; } }
@media screen and (max-width: 640px) { .rose-title { font-size: 1.6rem; line-height: 50px; }
  .dot-line { margin-bottom: 25px; }
  .white-back .rose-title { top: -25px; } }
/*===================================================================
　↓　.click-btn
===================================================================*/
.click-btn { display: table; background-color: rgba(229, 0, 18, 0); border: 1px solid rgba(229, 0, 18, 0.3); padding: 20px 70px; border-radius: 10px; margin: auto; -webkit-transition: 0.4s; -moz-transition: 0.4s; -ms-transition: 0.4s; transition: 0.4s; cursor: pointer; }

.click-btn img { display: table-cell; vertical-align: middle; width: 80px; height: auto; border-radius: 50%; }

.click-btn p { display: table-cell; vertical-align: middle; line-height: 1.6em; color: #e50012; /*赤*/ }

.click-btn p span.bold { font-weight: 700; }

.click-btn p span.small { font-size: 1.2rem; }

.click-btn:hover, .click-btn.active { background-color: rgba(229, 0, 18, 0.2); border: 1px solid rgba(229, 0, 18, 0); }

.click-btn.sp-only { display: none; }

@media screen and (max-width: 640px) { .click-btn { padding: 20px 20px; max-width: 100%; box-sizing: border-box; }
  .click-btn img { width: 60px; }
  .click-btn p { font-size: 1.2rem; }
  .click-btn p span.small { font-size: 1rem; }
  .click-btn.sp-only { display: table; } }
/*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
　↓　#foreword（はじめの文章）
-*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/
#foreword { margin-bottom: 70px; }

#foreword .main-image { text-align: center; position: relative; }

#foreword .main-image img { width: 240px; height: auto; background-color: #fff; border-radius: 50%; }

#foreword .main-image h2, #foreword .main-image p { color: #e50012; font-size: 1.8rem; font-weight: 500; position: absolute; width: 100%; top: -10px; left: 0; letter-spacing: 0.05em; }

.red { color: #e50012; }

.bg-red { background-color: #e50012; }

.bg-lightestpink { background-color: #fbf2f0; }

.container-m { max-width: 860px; margin: 40px auto auto; padding: 0 1rem; line-height: 2; }

.container-l { max-width: 860px; margin: 40px auto auto; padding: 0 1rem; line-height: 2; }

.dotlink a, .smooth a, a.smooth, a.dotlink { font-weight: 500; border-bottom: 2px dotted #e50012; }

a.border-none{border-bottom: none; }
a.border-none:hover{border-bottom: none; }
a.border-none:focus{color: #fff;background:#e50012 !important; }

.mycontainer h2, h2.h2 { font-size: 2.8rem; text-align: center; margin-bottom: 3rem; color: #e50012; line-height: 1.5; }
.mycontainer h2 span, h2.h2 span { display: block; font-size: 1.4rem; }

h3.title1 { font-size: 1.8rem; background: #fbf2f0; color: #e50012; border-left: 5px solid #e50012; padding: 1rem; text-align: left; margin-bottom: 2rem; }

h3.title2 { font-size: 1.8rem; margin-bottom: 2rem; text-align: left; font-weight: bold; border-left: 5px solid #e50012; background: #fff; padding: 1rem; }

h4.h4 { color: #e50012; font-size: 1.6rem; background: #fff; padding: 18px 50px 18px 30px; margin-bottom: 0; border-bottom: 1px solid #ddd; border-radius: 10px 10px 0 0; }

h5.h5 { font-size: 1.4rem; font-weight: bold; }

h6.h6 { font-size: 1.4rem; color: #e50012; font-weight: normal; }

.collapsed.collapse_ttl { display: block; background: url("../img/base/select-down.png") right 1.4rem center no-repeat; background-size: 1rem; }

.collapse_ttl { display: block; background: url("../img/base/select-up.png") right 1.4rem center no-repeat; background-size: 1rem; }

/*
#contents ul{ li::marker { color: $red; }
}
*/
@media (max-width: 640px) { .mycontainer h2, h2.h2 { font-size: 1.6rem; }
  h3.title1, h3.title2 { font-size: 1.4rem; }
  h4.h4 { font-size: 1.4rem; }
  h6.h6, h5.h5 { font-size: 1.4rem; } }

.btn_Pink { display: block; margin: 0 auto; padding: 0; }
.btn_Pink a { display: block; width: 28rem; margin: 0 auto; padding: 1rem; background: #fce5e7 !important; border-radius: 2.8rem; font-size: 2.4rem; color: #e50012; text-align: center; }
.btn_Pink a:hover { opacity: .7; }

ol.englishList li { margin: 0 0 0 3.5rem; }

@media (max-width: 640px) { ol.englishList li { margin: 0 0 0 1.5rem; }
