@charset "utf-8";
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝　初期設定　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
* {
  margin: 0px;
  padding: 0px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
img {
  max-width: 100%;
  height: auto;
}
.normal_img {
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
}
/* #===========================================
    #
    # Vanishing point
    #
    #========================================== */
@media screen and (min-width: 1000px) {
  .vanish-pc {
    display: none !important;
  }
}
@media screen and (min-width: 600px) and (max-width: 999px) {
  .vanish-tl {
    display: none !important;
  }
}
@media screen and (max-width: 599px) {
  .vanish-sp {
    display: none !important;
  }
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝　ページレイアウト　＝＝＝＝＝＝＝＝＝＝＝＝＝ */
body{
  width: 100%;
  -webkit-text-size-adjust: 100%;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
html{font-size: 62.5%;
}
body,p{font-size: 1.6rem;
}
@media screen and (max-width:768px) {
body,p{
    line-height: 150%
    }    
    }

#contanir {
  overflow: hidden;
}
header {
  width: 100%;
}
#main {
  width: 85%;
  margin: 0px auto;
  padding: 0px 5px;
}
@media screen and (max-width:768px) {
  #main {
    width: 100%;
    margin: 0px auto;
    padding: 0px 5px;
  }
}
footer {
  width: 100%;
  clear: both;
  margin: 0px auto;
  padding: 15px 50px;
  background: #2cb9b3;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝　ヘッダー　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#logo {
  display: block;
  float: left;
  width: 200px;
  margin: 10px 0px 5px 10px;
}
@media screen and (max-width: 768px) {
  #logo {
    width: 400px;
  }
}
#catch {
  display: block;
  float: left;
  width: auto;
  margin: 14px 0px 5px 10px;
  font-size: 0.85em;
}
@media screen and (max-width:768px) {
  #catch {
    display: none;
  }
}
#header-top-link {
  float: right;
  margin: 10px 10px 5px;
  list-style-type: none;
}
#header-top-link li {
  display: inline-block;
  margin-left: 10px;
}
#header-top-link a {
  display: block;
  text-decoration: none;
}
#header-top-link img {
  height: 30px;
}
@media screen and (max-width: 768px) {
  #header-top-link img {
    height: 18px;
    padding-right: 5px;
  }
}
#header-top-link span {
  display: none;
}
@media screen and (max-width: 768px) {
  #header-top-link span {
    display: inline;
    color: #666;
    font-size: 12px;
  }
}
#header-top:after {
  display: table;
  content: "";
  clear: both;
}
#header-img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  margin: 0 auto;
  background: #fff url(img/top.svg) center no-repeat;
}
@media screen and (max-width: 768px) {
  #header-img {
    background: url(img/top_mo.png) no-repeat center center;
    background-size: contain;
    margin-bottom: -50px;
  }
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝　ナビゲーション　＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#sp-menu {
  background: #2cb9b3;
  color: #FFF;
  font-size: 13px;
  padding-left: 10px;
  line-height: 35px;
}
@media only screen and (min-width:769px) {
  #sp-menu {
    display: none;
  }
}
#sp-menu img {
  height: 35px;
  padding: 0px;
  margin-right: 8px;
  float: left;
  clear: both
}
nav ul {
  list-style-type: none;
  display: none;
}
@media only screen and (min-width:769px) {
  nav ul {
    display: block;
  }
}
nav li {
  width: 100%;
  text-align: center;
  float: left;
  border-bottom: solid 1px #ccc6;
}
nav li:nth-child(odd) {
  border-right: solid 1px #fff;
}
@media only screen and (min-width:769px) {
  nav li {
    width: 14.28571428571429%;
    border-right: solid 1px #fff;
    border-bottom: none;
  }
  nav li:last-child {
    border-right: none;
  }
}
nav a {
  display: block;
  background: #2cb9b3;
  color: #FFF;
  font-weight: 400;
  font-size: 16px;
  line-height: 45px;
  padding-left: 15px;
  text-decoration: none;
}
@media only screen and (min-width:769px) {
  nav a {
    line-height: 60px;
    text-align: center;
    padding-left: 0;
  }
}
nav a:hover {
  background: #888888;
}
nav ul:after {
  display: table;
  content: "";
  clear: both;
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝　メイン用　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#main section {
  margin-bottom: 60px;
}
.main-text {
  padding-left: 30px;
  font-size: 1.05em;
  line-height: 1.85em
}
@media only screen and (max-width:768px) {
  .main-text {
    font-size: 1.0em;
    line-height: 1.85em
  }
}
/*-----------------------------------------------
　　見出し設定
-----------------------------------------------*/
H1 {
  font-size: 30px;
  font-weight: 800;
  ont-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial;
}
.padding_h1 {
  width: 100%;
  margin: 100px auto 30px !important;
  text-align: center;
  padding: 15px 15px 15px 20px;
  background: #FD9718;
  letter-spacing: 5px;
  border: solid 8px #FFB50F;
  border-radius: 64px;
  color: #fff;
}
.form {
  width: 100%;
  margin: 30px auto !important;
  position: relative;
  color: white;
  background: #e4007f;
  line-height: 1.4;
  padding: 15px 0;
  margin-bottom: 20px;
  border-radius: 10px;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
}
.text {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .padding_h1 {
    width: 98%;
    margin: 20px auto !important;
    text-align: center;
    padding: 15px 15px 15px 20px;
    background: #FD9718;
    color: #fff;
    letter-spacing: 5px;
    border: solid 8px #FFB50F;
    border-radius: 64px;
    font-size: 1em
  }
  .text {
    display: inline
  }
}
.padding_h1b {
  margin: 150px calc(50% - 50vw) 100px;
  width: 100vw;
  padding: 15px 15px 15px 20px;
  background: #2cb9b3;
  text-align: center;
  color: #fff;
  letter-spacing: 5px;
  border: solid 3px #2cb9b3;
}
@media screen and (max-width: 768px) {
  .padding_h1b {
  margin: 120px calc(50% - 50vw) 40px;
  width: 100vw;
  }
}

.innner_h1 {
  font-size: 20px;
  color: #fff;
  padding: 5px 0px 5px 15px;
  ;
  /*font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial ;*/
  letter-spacing: 1px;
}
H2 {
  font-size: 30px;
  font-weight: 600;
}
.padding_h3 {
  width: 100%;
  margin: 20px auto !important;
  padding: 10px 10px 10px 15px;
  background: #e8e8e8;
  text-align: left;
  color: #2cb9b3;
  letter-spacing: 5px;
  border: solid 2px #2cb9b3;
  border-radius: 10px;
  font-weight: 600
}
@media screen and (max-width:768px) {
  H2 {
    font-size: 24px;
    font-weight: 600;
  }
  .padding_h3 {
    width: 100%;
    padding: 10px;
    text-align: left;
    background: #e8e8e8;
    color: #2cb9b3;
    border: solid 2px #2cb9b3;
    border-radius: 0px;
    margin: 15px 0px 20px 0px !important;
  }
}
h3 {
  font-size: 1.35em;
  line-height: 200%;
  color: #000;
  font-weight: 600;
}
@media screen and (max-width:768px) {
 h3 {
  font-size: 1.1em;
}
}
p{
    font-size: 1em;
}

/*-----------------------------------------------
　　テーブルデザイン設定
-----------------------------------------------*/
tr, th, td {
  border: solid 1px; /* 枠線指定 */
  border-color: #999;
  padding: 5px; /* 余白指定 */
  text-align: center;
}
table{
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse; /* セルの線を重ねる */
  text-align: center;
}
/*-----------------------------------------------
　　吹き出し設定
-----------------------------------------------*/
.sale1_icon {
  position: relative;
  display: inline-block;
  margin: 2em 0;
  padding: 25px 10px;
  width: 100px;
  height: 100px;
  line-height: 25px;
  vertical-align: middle;
  text-align: center;
  color: #FFF;
  font-size: 15px;
  font-weight: bold;
  background: #e4007f;
  border-radius: 50%;
  box-sizing: border-box;
  margin-left: 10%;
  margin-bottom: 0px;
}
.sale1_icon:before {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e4007f;
  z-index: 0;
}
.sale1small {
  width: 100%;
  margin: 0 auto;
  padding-left: 15px;
  font-size: 25px;
  color: #fff;
}
.sale1big {
  text-align: center;
  margin: 0 auto;
  font-size: 42px;
  font-weight: 900;
  color: #fff;
}
@media screen and (max-width:768px) {
  .sale1big {
    text-align: center;
    margin: 0 auto;
    font-size: 24px;
    font-weight: 800;
    color: #fff;
  }
}
.attention {
  width: 90%;
  border-radius: 20px;
  margin: 0 auto;
  padding: 15px;
  font-size: 0.95em;
  line-height: 180%;
  background-color: #eeeeef;
  border: 2px solid #ccc
}
.attention2 {
  font-size: 0.75em;
  line-height: 130%;
  padding: 0.5em 1em;
  margin: 3em 0 1em 2em;
  background: #f4f4f4;
  border-left: solid 10px #5bb7ae;
}
.attention_sale1 {
  width: 90%;
  border-radius: 20px;
  margin: 0 auto;
  padding: 15px;
  font-size: 22px;
  color: #000;
  line-height: 180%;
  background-color: #fbb03b
}
/*-----------------------------------------------
　　見出し Ul li 設定
-----------------------------------------------*/
.defaultlist, .defaultlist li {
  padding: 0px;
  margin: 0px;
}
.defaultlist li {
  list-style-type: none !important;
  list-style-image: none !important;
  margin: 5px 0px 5px 10px !important;
}
.list li {
  position: relative;
  padding-left: 20px;
}
.list li:after, .list li:before {
  content: '';
  display: block;
  position: absolute;
  top: 4px;
  left: 10px;
  height: 11px;
  width: 4px;
  background: #aaa;
  border-radius: 10px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
.list li:before {
  top: 8px;
  left: 5px;
  height: 8px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}
.noliststyle {
  list-style: none;
  padding-left: 20px;
  line-height: 1.50em
}

@media screen and (max-width:768px) {
.noliststyle {
  padding-left: 0px;
}
}

/*.indent {
  padding-left: 20px;
}*/

/*-----------------------------------------------
　　各種デザイン設定
-----------------------------------------------*/
.map {
  background: url(img/map.png) no-repeat top right;
  height: 900px;
  margin-top: -30px;
}
.space {
  margin-top: 30px;
}
@media only screen and (max-width:768px) {
  .map {
    background: #FFF;
  }
  .space {
    padding-top: 30px;
  }
}
.flex {
  background: #fff url(img/img_go.jpg) left top no-repeat;
  margin: 10px auto;
  padding: 0px 0px 15px 300px;
}
.flex p {
  margin: 0px;
  line-height: 170%;
  font-size: 1em
}
@media screen and (max-width:768px) {
  .flex {
    background: #fff url(img/none.jpg) 0 0 no-repeat;
    padding: 15px;
  }
  .flex p {
    font-size: 15px;
  }
}
.flex2 {
  background: #fff url(img/img_question.jpg) 0 0 no-repeat;
  margin: 0 auto;
  padding: 15px 0px 15px 280px;
}
.flex p {
  margin: 0px;
  line-height: 170%;
  font-size: 1em
}
.flex2 ul {
  margin: 0px;
  line-height: 200%;
  font-size: 1em
}
@media screen and (max-width:768px) {
  .flex2 {
    background: #fff url(img/none.jpg) 0 0 no-repeat;
    background-color: #fff;
    padding: 20px 0 0 20px;
  }

  .check_sp {
    padding: 0px 20px
  }
}
img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
.img_center {
  text-align: center;
}
@media screen and (min-width:769px) {
  .hidden {
    display: none
  }
}
/*-----------------------------------------------
　文字デザイン設定
-----------------------------------------------*/
.color {
  background-color: #e2e2e2; /* 背景色指定 */
  color: #000; /* 文字色指定 */
  font-weight: normal; /* 文字の太さ指定 */
  font-size: 1.15em;
}
.color2 {
  background-color: #8dc21f; /* 背景色指定 */
  color: #fff; /* 文字色指定 */
  font-weight: normal; /* 文字の太さ指定 */
}
.kome {
  color: #F00;
  font-weight: bold;
  font-size: 12px;
}
.lineheight {
  line-height: 180%
}
.impact {
  display: block;
  width: 100%;
  font-weight: 600;
  color: #000;
  background: #e7e7e7;
  border: 1px solid #2cb9b3;
  padding: 0.15em 0 0.15em 0.5em;
  margin: 15px 0;
  border-radius: 6px;
}
.right {
  width: 80%;
  float: right;
}
.smallfont {
  padding-left: 40px;
  font-size: 0.85em;
}
/*-----------------------------------------------
　ＴＯＰアイコン設定
-----------------------------------------------*/
#page_top {
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #ef3f98;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a {
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before {
  font-family: FontAwesome;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after {
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/*-----------------------------------------------
　　blockquote 設定
-----------------------------------------------*/
*, *:before, *:after {
  /*font-family: 'FontAwesome';*/
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.cp_quote {
  position: relative;
  overflow: hidden;
  width: 85%;
  margin: 1em auto;
  text-align: left;
  color: #333333;
  box-shadow: none !important;
}
/* 写真 */
.cp_quote img {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: 120px;
  max-width: 100%;
  height: 160px;
  border-radius: 50%;
  object-fit: cover;
}
/* 引用 */
.cp_quote blockquote {
  line-height: 1.6em;
  position: relative;
  display: block;
  margin: 0 0 -50px 0;
  padding: 30px 50px 65px 50px;
  color: #fff;
  border-radius: 8px;
  background: #2cb9b3;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}
/* アイコン */
.cp_quote blockquote:before, .cp_quote blockquote:after {
  font-size: 50px;
  font-style: normal;
  position: absolute;
  content: '\201C';
  opacity: 0.3;
}
.cp_quote blockquote:before {
  top: 35px;
  left: 20px;
}
.cp_quote blockquote:after {
  right: 20px;
  bottom: 35px;
  content: '\201D';
}
/* 引用元名 */
.cp_quote .author {
  margin: 0;
  text-align: center;
}
.cp_quote .author h5 {
  font-weight: bold;
  padding: 0px 5px 0px 5px;
  margin: 0;
  opacity: 0.8;
}
.cp_quote .author h5 span {
  font-size: .6em;
  font-weight: normal;
  display: block;
  margin: 0;
  padding: 0 5px 0 5px;
}
/*-----------------------------------------------
　　画像クリックで拡大 設定
-----------------------------------------------*/
.lb {
  display: flex;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, .7);
  opacity: 0;
  transition: .3s opacity ease;
  z-index: -1;
}
.lb img {
  width: auto !important;
  max-height: 100% !important;
  transform: scale(.7);
  transition: .4s transform ease;
  pointer-events: none;
}
.lb:target {
  opacity: 1;
  z-index: 103;
}
.lb:target img {
  transform: scale(1);
}
@media screen and (max-width:768px) {
  .lb {
    display: none
  }
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝　フッター用　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
footer ul {
  width: 100%;
  margin-bottom: 30px;
  list-style-type: none;
}
@media only screen and (min-width:769px) {
  footer ul {
    width: 300px;
  }
}
footer li {
  width: 50%;
  float: left;
}
footer P a {
  color: #FFF;
}
footer li a {
  display: block;
  color: #FFF;
  font-size: 13px;
  line-height: 45px;
  padding-left: 10px;
  text-decoration: none;
}
@media only screen and (min-width:769px) {
  footer li a {
    line-height: 24px;
  }
}
footer li a:hover {
  background: #09e0db;
}
footer ul:after {
  display: table;
  content: "";
  clear: both;
}
#select-layout {
  margin-bottom: 30px;
  text-align: right;
  color: #FFF;
  font-size: 13px;
}
#PC-site, #MO-site {
  padding: 5px 8px;
  border: solid 1px #999;
  display: none;
}
.copyright {
  text-align: right;
  color: #FFF;
  font-size: 12px;
}
@media only screen and (min-width:769px) {
  .copyright br {
    display: none;
  }
}
#footerFloatingMenu {
  display: block;
  width: 100%;
  position: fixed;
  left: 0px;
  bottom: 2px;
  z-index: 9999;
  text-align: center;
  padding: 0;
}
#footerFloatingMenu img {
  max-width: 99%;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝　グリッドシステム　＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.row {
  margin: 10px -15px;
}
.row:after {
  display: table;
  content: "";
  clear: both;
}
@media screen and (max-width:768px) {
.row {
  margin: 10px 20px;
}
}
.sm-1-div, .sm-2-div, .sm-3-div, .sm-4-div {
  display: block;
  float: left;
  /*padding: 0px 15px;*/
}
.sm-1-div {
  width: 100%;
}
.sm-2-div {
  width: 50%;
}
.sm-3-div {
  width: 33.33333333%;
}
.sm-4-div {
  width: 25%;
}

@media only screen and (min-width:769px) {
  .bg-1-div {
    width: 100%;
  }
  .bg-2-div {
    width: 50%;
  }
  .bg-3-div {
    width: 33.33333333%;
  }
  .bg-4-div {
    width: 25%;
  }
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝　汎用クラス　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 縦方向の間隔調整 */
.height-space {
  height: 0px;
  margin-bottom: 40px;
}

/* 小画面－内余白ゼロ */
@media only screen and (max-width:768px) {
  .sm-nopad {
    padding: 0;
  }
}
.kakaku_table {
  vertical-align: top !important;
  line-height: 180%;
  font-size: 13px;
  text-align: left;
}
.kakaku_table_important {
  padding-top: 20px;
  font-size: 13px;
  line-height: 150%;
  font-weight: 600;
  color: #E7007C
}
.topmargin {
  margin-top: -100px
}
@media only screen and (max-width:768px) {
  .none {
    display: none
  }
}
.text_center {
  text-align: center;
}
span .text {
  display: inline-block;
}
.over-width {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.tanka {
  width: 380px !important;
  margin: 10px auto 0 0;
}
.haihu {
font-size: 15px;
width: 80%;
}
.pr_block {
  margin-bottom: 30px;
  clear: both
}
/* PR吹き出し見出し */
ol.pr_title {
  counter-reset: list;
  list-style-type: none;
  font: 1.5em 'arial narrow', sans-serif;
  padding: 1.6em;
  color: #1C9E99
}
ol.pr_title li {
  position: relative;
  line-height: 50px;
  margin: 7px 0 10px 30px;
  padding-left: 10px;
  font-weight: bold;
  background: #fff;
}
ol.pr_title li:before {
  counter-increment: list;
  content: counter(list);
  position: absolute;
  left: -60px;
  width: 50px;
  height: 50px;
  text-align: center;
  color: #fff;
  background: #E3007D;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
ol.pr_title li:after {
  content: "";
  display: block;
  position: absolute;
  left: -10px;
  height: 0;
  width: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 7px solid #E3007D;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media only screen and (max-width:768px) {
  ol.pr_title {
    font: 1.1em 'arial narrow', sans-serif;
  }
  ol.pr_title li {
    line-height: 25px;
  }
  ol.pr_title li:before {
    left: -46px;
    width: 36px;
    height: 36px;
    top: 50%;
  }
  ol.pr_title li:after {
    content: "";
    display: block;
    position: absolute;
    left: -10px;
    height: 0;
    width: 0;
    top: 50%;
  }
}