﻿@charset "UTF-8";
/*** 共済ページ ***/
h2.k_tit {
    position: relative;
    padding-bottom:14px;
    margin-bottom:40px;
    font-weight: bold;
    font-size: 26px;
    text-align: center;
    color: #e50113;
}
h2.k_tit::before {
    position: absolute;
    border-bottom:3px solid #e50113;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width:80px;
    content: '';
}
.blue {
  color:#4553ae;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size:150%;
}

.telarea .tit {
  background: #d22d26 !important;
}
.tel00 a,
.tel01 a {
  display: block;
  font-size: 160%;
  font-weight: bold;
  font-family: sans-serif;s
}
.tel00 a b,
.tel01 a b {
  color: #f35f17;
}
.telarea .free b {
  background:none !important;
}

.btn_pi {
  position: relative;
  border: 2px solid #e885b7;
  padding:12px 40px 12px 30px;
  background: #e885b7;
  text-decoration: none !important;
  text-align: center;
  border-radius: 50px;
  color: #fff !important;
  margin: auto;
  display: inline-block;
  font-size:110%;
}
.btn_pi:after {
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -9px;
  color: #fff;
  font-family: FontAwesome;
  content: "\f105";
  vertical-align: middle;
}

/** 独自フッター **/
footer {
  background:#f2f2f2;
}
footer p {
  padding:0 !important;
  color:#333333 !important;
  font-size:90% !important;
}
footer .w_box {
  background:#fff;
  padding:20px;
  text-align: left;
}
.copy {
  background:#fff;
  text-align:center;
  color:#999999 !important;
  font-size:75%;
  padding:15px 0;
}
.foot_txt {
  text-align:right;
  font-size:90%;
}
.f_area .foot_sns img {
  max-width:32px;
}

/** タブ切り替え **/
 .tabs {
   margin-top: 50px;
   width:100%;
   margin: 0 auto;
 }
 .tab_item {
   width: calc(100%/2);
   height: 50px;
   background-color: #fff;
   color: #828282;
   line-height:45px;
   border-radius:10px 10px 0 0;
   text-align: center;
   display: block;
   float: left;
   text-align: center;
   transition: all 0.2s ease;
	 font-size: 90%;
	 font-weight: bold;
 }
 .tab_item:hover {
   opacity: 0.75;
 }
 input[name="tab_item"] {
   display: none;
 }
 .tab_content {
   display: none;
   clear: both;
   overflow: hidden;
   background-color:#fff;
   border:2px solid #e50113;
 }
 #all:checked ~ #all_content,
 #programming:checked ~ #programming_content {
   display: block;
 }
 .tabs input:checked + .tab_item_sougei,
 .tabs input:checked + .tab_item_idou {
   background-color: #e50113;
   color: #fff;
   border-radius:10px 10px 0 0;
	 border-left:none;
	 border-right:none;
	 border-bottom:none;
   font-weight: bold;
	 font-size: 110%;
 }
 .tabs label b {
   font-size:120%;
 }

/***** PC・スマホ 共通 *****/

@media (min-width:960px) {
  .in_box {
    width: 960px;
    margin: 0 auto;
  }
  .foot_sns img {
    margin-bottom:20px;
  }
}

@media screen and ( max-width:959px ) {
  .wrap960 {
    padding: 20px;
  }
}

/***** PC用 *****/
@media screen and ( min-width:641px ) {
  /* ヘッダー */
  header ul li a {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size:110%;
    font-weight: bold;
    text-decoration: none;
  }
  .headerlogo {
    margin:20px 0 15px;
  }
  .header_logo img {
    width:70%;
  }
  .header_pal img {
    width:30%;
  }
  .header_logo {
    float:left;
  }
  .header_pal {
    float:right;
    display: block;
    text-align: right;
  }
  header ul li {
    float: left;
    width:16.6%;
    padding:8px 0;
    margin:10px 0;
    text-align: center;
    font-size: 90%;
    border-right:1px solid #c9c9c9;
  }
  header ul li:last-child {
    border-right:none;
  }
  header ul li a:hover {
    color:#e50113;
    padding-bottom:14px;
    opacity:1 !important;
  }

  .k_products {
    background:url(../images/bg_kyosai.webp);
    background-position: top center;
    background-size: cover;
    padding:80px 0;
    margin-bottom:80px;
  }
  .tab_products ul,
  .tab_hosyo ul {
    padding:20px;
  }
  .tab_products ul li,
  .tab_hosyo ul li {
    width:33.3%;
    float:left;
    border-right:2px solid #e25061;
  }
  .tab_products ul li.line,
  .tab_hosyo ul li.line {
    border-top:2px solid #e25061;
    border-bottom:2px solid #e25061;
  }
  .tab_products ul li:nth-child(3n),
  .tab_hosyo ul li:nth-child(3n) {
    border-right:none;
  }
  .tab_products ul li img,
  .tab_hosyo ul li img {
    width:94%;
    padding:3%;
  }
  .btn_pi {
    min-width: 450px;
  }
  .bg_y {
    padding:50px 0 60px;
    margin:80px 0;
  }
  footer .w_box {
    margin-top:30px;
  }
  .f_area {
    position:relative;
  }
  .f_area .foot_sns {
    text-align: center;
    padding-bottom:20px;
  }

  .telarea .tel00 {
    float: left;
    width: 49%;
    border-right: 1px dashed #ccc;
  }
  .telarea .tel01 {
    float:right;
    width: 49%;
  }
  .telarea .free {
    padding-top:10px; !important;
  }
  .btn_kikaku img {
    vertical-align: bottom;
  }

  /* キャンペーンエリア */
  .carousel {
    padding:10px 0 2px;
    text-align: center;
  }
  .carousel .carouselbox {
    display: inline-block;
    width:45%;
    margin:0 5px;
    vertical-align: top;
  }
  .carousel div img {
    width:100%;
    margin-bottom:5px;
  }
  .campaign_only {
    padding:30px 200px;
  }
  .sample-slick {
    margin-bottom:70px;
  }

  /* 追従部分 */
  .float_button {
    position: fixed;
    width:56px;
    top:15%;
    right:0;
  }
  .float_button ul {
    width:56px;
  }
  .float_button ul li {
    margin-bottom:6px;
  }
  .float_button ul li img {
    width:100%;
  }
}


/***** スマホ用 *****/
@media screen and ( max-width:640px ) {
  /* ヘッダー */
 header {
   padding:12px 10px 12px 20px;
   height:auto;
 }
 .drawer-hamburger-icon,
 .drawer-hamburger-icon:after,
 .drawer-hamburger-icon:before {
     width: 100%;
     height: 2px;
     -webkit-transition: all .6s cubic-bezier(.19,1,.22,1);
     transition: all .6s cubic-bezier(.19,1,.22,1);
     background-color: #727070;
 }
 .drawer-hamburger-icon {
     position: relative;
     display: block;
     margin-top: 10px;
 }
 .headerlogo {
   float:left;
   width:60%;
 }
 .headerlogo img {
   width:70%;
 }
 .headerbtn {
   float:right;
   text-align:right;
   width:30%;
 }
 .headerbtn .palbtn {
   width:36%;
   display:inline-block;
   border-radius:8px;
   margin-right:45%;
   vertical-align: top;
 }
 .headerbtn img {
   width:100%;
 }

  /* ハンバーガーメニュー */
 .drawer {
   position: fixed;
   z-index:1000;
   right:10px;
   top:10px;
   background: url(../img/btn_menu.png);
   background-size:cover;
   background-position: bottom;
}
.navbar_toggle {
 width: 40px;
 cursor: pointer;
 background:#fedce2;
 padding:12px 10px;
 height: 40px;
 border-radius: 50px;
 margin-bottom: 14px;
}
.navbar_toggle_icon {
   position: relative;
   display: block;
   height: 2px;
   width:20px;
   background: #e50113;
   transition: ease .5s;
}
.navbar_toggle_icon:nth-child(1) {
   top: 0;
}
.navbar_toggle_icon:nth-child(2) {
   margin:4px 0;
}
.navbar_toggle_icon:nth-child(3) {
   top: 0;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
   top:6px;
   transform: rotate(45deg);
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
   opacity: 0;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
   top: -6px;
   transform: rotate(-45deg);
}
.menu {
   transition: ease .5s;
   z-index:950;
   background: #fff;
   width:70%;
   height:100%;
   position: fixed;
   padding:6%;
   top: 0px;
   left: 0px;
   opacity: 0;
   visibility: hidden;
   justify-content: center;
   align-items: center;
   overflow-y: auto;
}
.menu.open {
   opacity: 1;
   visibility: visible;
}
.menu li {
 font-size:17px;
 border-bottom: 1px solid #dddddd;
}
.menu li a {
 color: #333;
 text-decoration: none;
 display: block;
 padding:16px 10px;
}
.menusub {
 margin-top:40px;
 font-size:94%;
}
.menusub p a {
 display:inline-block;
 text-decoration:none;
 margin-right:10px;
 color:#636363;
}
.menusub p a img {
 width:36px;
}


  .k_products {
    background:url(../images/bg_kyosai.webp);
    background-position: top center;
    background-size: cover;
    padding:40px 0;
    margin-bottom:40px;
  }
  .tab_products ul,
  .tab_hosyo ul {
    padding:10px;
  }
  .tab_products ul li,
  .tab_hosyo ul li {
    width:50%;
    float:left;
    border-bottom:2px solid #e25061;
    border-right:2px solid #e25061;
  }
  .tab_products ul li:nth-child(2n),
  .tab_hosyo ul li:nth-child(2n) {
    border-right:none;
    border-right:2px solid #fff;
  }
  .tab_products ul li:last-child {
    border-bottom:none;
    border-right:2px solid #e25061;
  }
  .tab_hosyo ul li:nth-child(7),
  .tab_hosyo ul li:last-child {
    border-bottom:none;
  }
  .tab_products ul li img,
  .tab_hosyo ul li img {
    width:96%;
    padding:2%;
  }

  .soudan img {
    width: 100%;
    padding: 0 20% 40px;
    display: block;
  }
  .bg_y {
    padding:20px 0 30px;
    margin:40px 0 30px;
  }
  .cp_qa .cp_actab label {
    padding: 20px 40px 20px 0;
  }

  .telarea .tel00 {
    border-bottom: 1px dashed #ccc;
    padding: 10px;
  }
  .telarea .tel01 {
    padding: 10px;
  }
  .btn_kikaku img {
    width:80%;
    vertical-align: bottom;
  }

  .carouselbox img {
    width: 100%;
  }
  .slick-arrow {
    display: none !important;
  }
  .slick-dots li.slick-active button:before {
    opacity:1;
    color:#e50113 !important;
  }
  .slick-dots li {
    margin: 0 2px !important;
  }


  /* 追従部分 */
  .float-button__wrap {
    width:100%;
    position: fixed;
    bottom:0;
    left:0;
    z-index: 10;
  }
  .float-button__wrap {
    display: none;/*最初は隠す*/
    width:100%;
    position: fixed;
    bottom:0;
    left:0;
    z-index: 10;
    border-top:1px solid #d6d6d6;
    background:#fdf7f0;
  }
  .body-in {
    position: relative;
  }
  .float-button__wrap ul {
    padding:5px 3px;
  }
  .float-button__wrap ul li {
    width: calc(100%/3);
    float: left;
  }
  .b_seikyu {
    background-color:#2eaf71;
    line-height:48px;
    font-size:110%;
   }
  .b_otegaru {
    background-color:#e885b7;
    font-size:96%;
   }
  .b_mousikomi {
    background-color:#e88a3d;
    line-height:48px;
    font-size:110%;
  }
  .float-button__wrap a {
    display:block;
    text-align: center;
    vertical-align: top;
    color:#fff;
    margin:2.5px;
    height:48px;
    border-radius:6px;
  }
}
