@charset "UTF-8";

html,
body {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  background-color: #ECF4E0;
  background-image:
    repeating-linear-gradient(to bottom,
      rgba(212, 232, 190, 0.50),
      rgba(212, 232, 190, 0.50) 23px,
      rgba(0, 0, 0, 0) 0,
      rgba(0, 0, 0, 0) 46px),
    repeating-linear-gradient(to right,
      rgba(212, 232, 190, 0.50),
      rgba(212, 232, 190, 0.50) 23px,
      rgba(0, 0, 0, 0) 0,
      rgba(0, 0, 0, 0) 46px);

}

body,
h1,
h2,
h3,
ul,
li,
a,
p {
  color: #484848;
  list-style: none;
  text-decoration: none;
}

/* ボタン関連共通CSS */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
  /*rem算出をしやすくするために*/
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
}

.btn02,
a.btn02,
button.btn02 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
}

/* 文字エフェクト */
.t-yellow {
  background: linear-gradient(transparent 60%, #FFF799 60%);
}

.t-red {
  background: linear-gradient(transparent 60%, #f76d8e 60%);
}

.t-big01 {
  font-size: 52px
}

.t-big02 {
  font-size: 27px
}

.t-strong {
  font-size: 40px
}

.t-strong02 {
  font-size: 30px
}

.t-small {
  font-size: 12px
}

.t-small02 {
  font-size: 20px
}

.t-small03 {
  font-size: 15px;
}

.t-small04 {
  font-size: 20px;
}


/**** ヘッダー ****/
.header {
  width: 100%;
  background-color: #5CB53C;
  display: grid;
  grid-template-columns: 2fr 3fr;

}

.kaisyamei {
  margin: 3rem 3rem 2rem;
}

.kaisyamei a {
  font-size: 20px;
  color: #fff;
  align-items: center;
}

.header-wrapp {
  padding: 10px;
  margin: 2rem 2rem 2rem 0;
  text-align: center;
  display: flex;
  justify-content: left;
}

.membership a {
  background-color: #fff;
  border-radius: 20px;
  padding: 10px 40px;
  margin: 20px;
  font-size: 20px;
  font-weight: 500;
  color: #5CB53C;
}

.membership a:hover {
  background-color: #34930C;
  color: #fff;
}

.login a {
  background-color: #fff;
  border-radius: 20px;
  padding: 10px 30px;
  margin: 20px;
  font-size: 20px;
  font-weight: 500;
  color: #5CB53C;
}

.login a:hover {
  background-color: #34930C;
  color: #fff;
}

.kani {
  text-align: center;
  margin: 20px 0;
}

.kani a {
  display: inline-block;
  padding: 14px 28px;
  background: linear-gradient(135deg, #ff3b3b, #ff9800);
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  transition: transform 0.15s, box-shadow 0.15s;
}

.kani a:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 16px rgba(0,0,0,0.4);
}


/**** ナビゲーションメニュー ****/
.menu {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  width: 100vw;
  position: fixed;
  z-index: 2;
  bottom: 0;
  background-color: #5CB53C;
}

.menu a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 10px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  border: 1px solid #fff;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.menu a:hover {
  background-color: #34930C
}

/* 戻るボタン */
html {
  scroll-behavior: smooth;
}

.pagetop {
  height: 80px;
  width: 80px;
  position: fixed;
  right: 30px;
  bottom: 80px;
  background: #fff;
  border: solid 2px #5CB53C;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
}

.pagetop__arrow {
  height: 10px;
  width: 10px;
  border-top: 3px solid #5CB53C;
  border-right: 3px solid #5CB53C;
  transform: translateY(20%) rotate(-45deg);
}



/* トップイラスト */
.header-pc {
  width: 100%;
}

.header-sp {
  display: none;
}

/* ボタン共通CSS */


/**** 1番目の誘導ボタン ****/
.denwa {
  width: 95%;
  background-color: #fff;
  margin: 5rem auto 2rem;
  padding: 4rem 0;

}

.call-support-sp {
  display: none;
}

.call-support-pc {
  width: 70%;
  margin: 0 auto;
}

.call-support-pc img {
  width: 100%;
}

/* 電話ボタン */
.btn01 {
  margin: 1rem 0;
  padding: 0;
  text-align: center
}

.btn-border02 {
  margin: 10px auto;
  padding: 0;
}

a.btn-border02 {
  padding: 10px 100px;
  border: 2px solid #34930C;
  border-radius: 0;
  background: #5CB53C;
  box-shadow: 10px 10px 0 #34930C;
  font-size: 24px;
  line-height: 3rem;
  color: #fff;
}

/* お申込ボタン */
.btn-border {
  margin: 10px 0 20px 0;
  padding: 0;
}

a.btn-border {
  padding: 20px 100px;
  border: 2px solid #840a24;
  border-radius: 0;
  background: #e54366;
  -webkit-box-shadow: 10px 10px 0 #840a24;
  box-shadow: 10px 10px 0 #840a24;
  font-size: 30px
}

a.btn-border:hover {
  -webkit-box-shadow: -10px -10px 0 #840a24;
  box-shadow: -10px -10px 0 #840a24;
}

/**** お知らせ ****/
.news {
  width: 95%;
  background-color: #fff;
  margin: 0 auto;
}

.news-contents {
  width: 70%;
  margin: 0 auto;
  padding: 3rem 0 5rem;
}

.news h3 {
  margin: 0;
  padding: 30px 0;
  text-align: center;
  font-size: 40px;
}

.news-list .item a {
  display: flex;
  text-decoration: none;
  color: #484848;
  border-bottom: 1px solid #484848;
  padding: 40px 40px;
}

.news-list .item:first-child a {
  border-top: 1px solid #484848;
}

.news-list .item .date {
  margin: 0;
  min-width: 120px;
  font-size: 30px;
  color: #484848;
  padding: 0 40px 0 0;
}

.news-list .item .title {
  margin: 0;
  width: 100%;
  font-size: 24px;
  display: flex;
  align-items: center;
}

.news-list .item a:hover .title {
  color: #7e7e7e;
}

/**** イントロ ****/
.intro {
  width: 90%;
  background-color: #fff;
  margin: 3rem auto 2rem;
  padding: 4rem 0;
}

.intro-logo {
  width: 30%;
  margin: 0 auto;
  padding: 2rem 0;
}

.intro h2 {
  font-size: 50px;
  text-align: center;
  margin: 2rem 0;
}

.intro-p {
  font-size: 24px;
  text-align: center;
  margin: 0 auto 3rem;
  line-height: 4rem;
}

/* 保険の特長 */
.intro-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding: 3rem;
}

.intro-box {
  width: 95%;
  padding: 2rem;
  margin: 0 auto;
}

.ib-p {
  margin: 0;
  padding: 10px 0;
  font-size: 24px;
  text-align: center;
  line-height: 1.2em;
  color: #484848;
  font-weight: bold
}

/* ７営業日以内に保険金をお支払いします */
.oshiharai {
  width: 80%;
  margin: 0 auto 6rem;
}

.oshiharai-sp {
  display: none;
}

.oshiharai-pc {
  width: 100%;
  text-align: center;
}

/**** プラン ****/
.plan {
  width: 95%;
  background-color: #fff;
  margin: 5rem auto 0;
}

.plan-all {
  padding: 20px;
  background-color: #fff;
  border: 2px solid #34930C;
  text-align: center
}

.midashi01 {
  background-color: #34930C;
  margin: 0;
  padding: 50px;
  color: #fff;
  text-align: center;
  font-size: 46px
}

.p-slide {
  visibility: hidden
}

/* プラン表 */
.table-sp {
  display: none;
}

.table-pc {
  display: block;
}

.plan-main table {
  width: 100%;
  max-width: 1350px;
  margin: 0 auto;
  font-size: 15px;
  border: solid 2px #34930C;
  border-collapse: collapse
}

.plan-main td {
  border: solid 2px #34930C;
  padding: 7px;
  font-size: 20px;
  line-height: 1.5em;
  vertical-align: middle;
}

.table-title {
  background-color: #5CB53C;
  color: #fff;
  text-align: left;
  font-weight: 500;
  line-height: 1.2em;
}

.plan-p {
  color: #fff;
  margin: 0 auto;
}

.plan-name01 {
  background-color: #5CB53C;
  color: #fff;
  font-weight: 500;
}

.plan-name01 img {
  width: 50%;
  vertical-align: middle;
  padding: 0 10px;
}

.plan-name02 {
  background-color: #5CB53C;
  color: #fff;
  font-weight: 500;
}

.plan-name02 img {
  width: 33%;
  vertical-align: middle;
  padding: 0 10px;
}

.plan-name03 {
  background-color: #5CB53C;
  color: #fff;
  font-weight: 500;
}

.plan-name03 img {
  width: 40%
}

.plan-name04 {
  background-color: #5CB53C;
  color: #fff;
  font-weight: 500;
}

.plan-name04 img {
  width: 17%
}

.plan-message {
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 24px;
  font-weight: 500;
}

.hokenryou-img {
  margin: 0;
  padding: 20px 0;
  vertical-align: bottom;
  text-align: center;
  width: 100%;
}

.plus img  {width: 10%;
            margin: 30px}

/* 申込方法確認表 */
.moushikomihyou-sp {
  display: none;
}

.moushikomihyou-pc {
  width: 100%;
  margin-bottom: 3rem;
}

/* プランの特徴 */
.plan-tokucho {
  width: 100%;
  background: #fff;
  border: 4px solid #5CB53C;
}

.plan-tokucho-last {
  margin-bottom: 5rem;
}

.plan-tokucho .box-title01 {
  font-size: 26px;
  background: #5CB53C;
  padding: 20px;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 1em;
  line-height: 1.5em;
}

.box-title01 img {
  width: 20%;
}

.plan-icon-all {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  margin: 1rem;
}

.plan-icon {
  margin: 0.5rem;
}

.plan-icon img {
  width: 100%;
}

.plan-tokucho p {
  text-align: left;
  font-size: 20px;
  font-weight: 500;
  margin: 2rem 4rem;
}

.plan-tokucho .box-title02 {
  font-size: 26px;
  background: #5CB53C;
  padding: 20px;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 1em;
  line-height: 1.5em;
}

.box-title02 img {
  width: 15%;
}

/* 賠償責任 */

.plan-tokucho .box-title03 {
  font-size: 26px;
  background: #5CB53C;
  padding: 20px;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 1em;
  line-height: 1.5em;
}

.box-title03 img {
  width: 6%;
}

/**** Q-A ****/
.q-a {
  width: 95%;
  margin: 0 auto;
  background-color: #fff;
  padding: 3rem;
}

.q-a-all {
  width: 90%;
  margin: 0 auto;
  border: 2px solid #34930C;
}

.midashi01 {
  background-color: #34930C;
  margin: 0;
  padding: 50px;
  color: #fff;
  text-align: center;
  font-size: 46px
}

/*---------------------------------
アコーディオンボックス
--------------------------------*/
.acbox {
  width: auto;
  font-size: 0px;
  /* ラベルと開く部分を分離する時は数値を入れる */
  margin: 40px 200px;
  /* ボックス全体の位置調整 */
}

.acbox label {
  width: auto;
  font-size: 16px;
  /* ラベルの文字サイズ */
  font-weight: bold;
  text-align: left;
  background: #5CB53C;
  /* ラベルの背景色 */
  position: relative;
  display: block;
  padding: 20px;
  cursor: pointer;
  color: #fff;
}

.acbox label:hover {
  background: #34930C;
  /* ラベルにマウスを乗せた時の背景色 */
}

.acbox input {
  display: none;
}

.acbox label:after {
  color: #34930C;
  content: "▼";
  /* ラベルのアイコン */
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -10px;
}

.acbox input:checked~label::after {
  content: "▲";
  /* ラベルをクリックした後のアイコン */
}

.acbox div {
  height: 0px;
  overflow: hidden;
  opacity: 0;
  transition: 0.15s;
  /* 開閉スピードの設定 */
}

.acbox input:checked~div {
  height: auto;
  padding: 20px;
  /* 開いた部分の枠内の余白 */
  border-radius: 0px;
  background: #fff;
  /* 開いた部分の背景色 */
  border: solid 3px #34930C;
  opacity: 1;
}

.acbox input:checked~label {
  background: #34930C;
  /* クリック後のラベルの背景色 */
}

.acbox-under {
  font-size: 15px;
  /* 開いた部分の文字サイズ */
  text-align: left;
  color: #34930C;
  /* 開いた部分の文字色 */
}

/**** お問い合わせ ****/
.otoiawase {
  width: 95%;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 5rem;
  background-color: #fff
}

.otoiawase img {
  width: 30%;
  margin-top: 3rem;
}

.panf {
  width: 50%;
  margin: 0 auto;
}

.panf img {
  width: 100%;
}

.otoiawase p {
  margin: 3rem 0;
  padding: 0;
  font-size: 30px;
  font-weight: 500;
}

/**** フッター ****/
.copyright {
  width: 100%;
  background-color: #5CB53C;
  text-align: center;
  margin: 0;
  padding: 0.3rem 0 6rem;
}

.copyright p {
  padding: 10px;
  color: #fff;
  font-size: 14px;
}

/* ########################### 1100px以下 ##############################*/
@media (max-width: 1100px) {
  .midashi01 {
    font-size: 3.5rem;
  }

  /* お知らせ */
  .news-contents {
    width: 80%;
  }

  .news-list .item .date {
    font-size: 20px;
  }

  .news-list .item .title {
    font-size: 18px;
  }

  /* イントロ */
  .intro h2 {
    font-size: 35px;
  }

  .intro-p {
    margin: 0 auto;
  }

  .intro-p .t-big02 {
    font-size: 24px;
  }

  /* 保険金表 */
  .plan-all {
    padding: 1rem;
  }

  .plan-main table {
    border-collapse: collapse;
  }

  .plam-main td {
    font-size: 15px;
  }

  .ib-p {
    font-size: 20px;
  }

  /* q-a */
  .acbox {
    width: auto;
    font-size: 0px;
    /* ラベルと開く部分を分離する時は数値を入れる */
    margin: 40px 100px;
    /* ボックス全体の位置調整 */
  }

}

/* #################### 820px以下 ##############################*/
@media (max-width: 820px) {
  body {
    font-size: 90%;
  }

  .kaisyamei a {
    font-size: 15px;
  }

  .membership a,
  .login a {
    font-size: 18px;
    margin: 0 1rem 0 0;
  }

  .midashi01 {
    font-size: 2.5rem;
  }

  /**** ナビゲーションメニュー ****/
  .menu {
    grid-template-columns: 1fr 1fr;
    grid-row-gap: 0;
  }

  .menu a {
    padding: 10px 15px;
  }


  /* 申込誘導ボタン */
  .denwa {
    margin: 2rem auto;
  }

  a.btn-border02 {
    padding: 10px 20px;
    font-size: 22px;
  }

  a.btn-border {
    font-size: 24px;
    padding: 15px 20px;
  }

  /* イントロ */
  .intro-box {
    width: 100%;
  }

  /* プラン表 */
  .plan-main table {
    width: 100%;
  }

  .plan-main td {
    font-size: 15px;
  }

  .plan-name01 img {
    width: 85%;
  }

  .plan-name02 img {
    width: 65%;
  }

  /* q-a */
  .acbox {
    margin: 40px;
  }

  /* TOP戻るボタン */
  .pagetop {
    height: 65px;
    width: 65px;
    bottom: 140px;
  }

  /* フッター */
  .copyright {
    padding: 0.3rem 0 11rem;
  }
}

/* #################### 640px以下 ##############################*/
@media (max-width: 640px) {

  .membership a,
  .login a {
    font-size: 18px;
    margin: 0 1rem 0 0;
    padding: 10px 14px;
  }

  a.btn-border02 {
    padding: 10px 20px;
    font-size: 15px;
  }

  a.btn-border {
    font-size: 15px;
    padding: 15px 20px;
  }

  /* 電話受付 */
  .call-support-pc {
    display: none;
  }

  .call-support-sp {
    display: block;
    width: 60%;
    margin: 0 auto;
  }

  .call-support-sp img {
    width: 100%;
  }

}

/* #################### 440px以下 ##############################*/
@media (max-width: 440px) {
  .header {
    display: grid;
    grid-template-columns: 1fr;
    height: 8rem;
  }

  .kaisyamei {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1rem auto;
  }

  .header-wrapp {
    padding: 10px 10px 15px;
    text-align: center;
    display: flex;
    justify-content: center;
    margin: 0 auto;
  }

  .membership a,
  .login a {
    font-size: 15px;
    margin: 0 1rem 0 0;
    padding:  8px 16px;
  }


  /* トップイラスト */
  .header-pc {
    display: none;
  }

  .header-sp {
    display: block;
    width: 100%;
  }

  /* 申込誘導ボタン */
  .denwa {
    padding: 1rem 0;
  }

  .call-support-sp {
    width: 90%;
  }

  a.btn-border02 {
    padding: 10px 0;
    font-size: 14px;
    line-height: 2rem;
    box-shadow: 2px 5px #34930C;
  }

  a.btn-border {
    padding: 18px 2px;
    font-size: 14px;
    line-height: 2rem;
    box-shadow: 2px 5px #840a24;
  }

  /* お知らせ */
  .news-contents {
    width: 95%;
    padding: 3rem 0;
  }

  .news-contents h3 {
    font-size: 27px;
  }

  .news-list {
    padding: 1rem;
  }

  .news-list .item .title {
    margin-top: 10px;
  }

  .news-list .item a {
    flex-wrap: wrap;
  }

  /* イントロ */
  .intro {
    margin: 2rem auto;
    padding: 2rem 0;
  }

  .intro-logo {
    width: 70%;
  }

  .intro h2 {
    font-size: 20px;
    margin: 1rem 0;
  }

  .intro-p {
    line-height: 2rem;
    margin: 1rem;
  }

  .intro-p .t-big02 {
    font-size: 14px;
  }

  .intro-wrap {
    grid-template-columns: 1fr;
  }

  .intro-box {
    padding: 1rem;
  }

  .ib-p {
    font-size: 16px;
  }

  .t-small02 {
    font-size: 16px;
  }

  /* ７営業日以内に保険金をお支払いします */
  .oshiharai-pc {
    display: none;
  }

  .oshiharai-sp {
    display: block;
    width: 100%;
    margin: 0 auto;
  }

  /* プラン表 */
  .midashi01 {
    font-size: 20px;
    padding: 20px;
  }

  .table-pc {
    display: none;
  }

  .table-sp {
    display: block;
  }

  .plan-tokucho-last{
    margin-bottom: 3rem;
  }

  .p-slide {
    visibility: visible;
    font-size: 12px;
  }

  .plan-message {
    font-size: 16px;
  }

  /* 保険申込確認表 */
  .moushikomihyou-pc {
    display: none;
  }

  .moushikomihyou-sp {
    display: block;
    width: 100%;
  }

  /* 保険の特徴 */
  .box-title01 img {
    width: 60%;
  }
  .plan-tokucho .box-title01 {
    font-size: 17px;
    padding: 14px;
    letter-spacing: 0.25rem;
  }

  .plan-icon-all{
    grid-template-columns: 1fr 1fr;
  }

  .plan-tokucho p {
    margin: 2rem;
    font-size: 16px;
    line-height: 2rem;
  }

  .box-title02 img {
    width: 43%;
  }
  .plan-tokucho .box-title02 {
    font-size: 17px;
    padding: 14px;
    letter-spacing: 0.25rem;
  }

  .t-strong02 {
    font-size: 19px;
  }

  /* q-a */
  .q-a {
    width: 100%;
    padding: 1rem;
  }

  .q-a-all{
    width: 100%;
  }

  .acbox {
    margin: 1.5rem;
  }

  .acbox label{
    padding: 18px 30px 18px 14px;
  }

  .acbox label:after {
    right: 12px;
  }

  /* お問い合わせ */
  .otoiawase img {
    width: 70%;
  }

  .panf {
    width: 95%;
  }
  .panf img {
    width: 100%;
  }  

  .otoiawase p {
    font-size: 21px;
    margin: 2rem 0;
  }

  .t-strong {
    font-size: 24px;
  }

  /* フッター */
  .copyright {
    padding: 0.1rem 0 13rem;
  }
}