@charset "utf-8";
a.anchor {
  display: block;
  padding-top: 14rem;
  margin-top: -14rem;
}

/*-------------ヘッダースタイルここから-------------*/
header {
  width: 100%;
  height: 105px;
  position: fixed;
  z-index: 900;
}
/*---------------------------------------------
  Hamburger Navigation
---------------------------------------------*/
.hamburger-nav-toggle-btn {
  float: right;
  background-color: #0067B2;
  border: 1px solid #033980;
  border-radius: 8px;
  margin: 10px 2% 49px 0;
  padding: 0;
  height: auto;
}
.hamburger-nav-toggle-btn.close::before, .hamburger-nav-toggle-btn.open::before {
  font-size: 3.8rem;
  font-weight: normal;
  color: #FFFFFF;
  line-height: 1em;
  padding-top: 0px;
  padding-bottom: 0px;
}
.hamburger-nav-toggle-btn.open::before {
  content: url(../../images/common/hm_b.png);
  vertical-align: bottom;
  float: left;
  font-size: 0px;
}
.hamburger-nav-toggle-btn.close::before {
  content: url(../../images/common/hm_a.png);
  vertical-align: bottom;
  font-size: 0px;
  float: left;
}
.hamburger-nav-list {
  list-style: none;
  clear: both;
  margin-bottom: 0px;
  display: none;
}
.hamburger-nav-list > li {
  border-top: 1px solid #ffffff;
}
.hamburger-nav-list > li a {
  padding: 6px 14px;
  color: #FFFFFF;
  text-decoration: none;
  background-color: #0067B2;
  width: 100%;
  display: inline-block;
  font-size: 1.5rem;
}
.hamburger-nav-list li a:hover {
  background-color: #033980;
}
.hamburger-nav-list > .se_menu01 a {
  background-color: #333;
}
.hamburger-nav-list > .se_menu01 a:hover {
  background-color: #000;
}
.hamburger-nav-list > .se_menu02 a {
  font-weight: bold;
  background-color: #ed1c24;
}
.hamburger-nav-list > .se_menu02 a:hover {
  background-color: #c2181e;
}
.hamburger-nav-list > .se_menu03 a {
  font-weight: bold;
  background-color: #93278f;
}
.hamburger-nav-list > .se_menu03 a:hover {
  background-color: #661b64;
}
.hamburger-nav-list > .se_menu02 .yellow,  .hamburger-nav-list > .se_menu03 .yellow {
  color: #FFFF00;
  font-weight: normal;
  font-size: 1.4rem;
}
/*---------------------------------------------
  Hamburger Navigation end
---------------------------------------------*/
.header_in {
  display: flex;
}
.header_left {
  background-color:#033980;
  height: 105px;
  padding-top: 1rem;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 440px;
}
.header_left .h_left_top {
  margin-bottom:0.7rem;
  display: flex;
}
.header_left .h_left_top .h_logo {
  width: 230px;
  z-index: 1001; /***ヘッダーロゴのリンクを外す際はこの行を削除***/
}
.header_left .store_name {
  background-color: #0071BC;
  width: 200px;
  height: 54px;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.store_name p {
  font-size: 1.8rem; /***店名が2行の場合は1.5rem_1行の場合は1.8rem***/
  line-height: 1.4em;
  font-weight: bold;
  color: #FFF;
  text-align: center;
}
.header_left .h_left_bottom {
  font-size: 1.5rem;
  color: #FFF;
  font-weight: bold;
  margin-left: 25px;
}
.header_center {
  background-color: #FFF;
  height: 105px;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.h_tel {
  color: #FFF;
  font-size: 1.2rem;
  background-color: #033980;
  padding: 8px;
  display: flex;
  justify-content: end;
  align-items: center;
}
.tel_no {
  color: #FFF;
  font-size: 1.7rem;
  font-weight: bold;
  margin-right: 1em;
  padding-left: 1.3em;
  background-image: url(../../images/s_common/tel_pict.svg);
  background-repeat: no-repeat;
}
.h_menu {
    width: 100%;
    padding: 1.5rem 1rem;
    display: flex;
    justify-content: space-around;
}
.h_menu li {
  font-weight: bold;
  text-align: center;
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  margin: 0 1px;
}
.h_menu li a {
  position: relative; /* 擬似要素の基準位置とする */
  display: block;
  text-decoration: none;
  padding: 15px 2px;
  overflow: hidden; /* 広がる下線がはみ出さないように隠す */
}
.h_menu li a::before {
  content: ''; /* 擬似要素にはcontentプロパティが必要 */
  position: absolute;
  bottom: 0; /* 下に配置 */
  left: 50%; /* 中央に配置するために左から50% */
  width: 100%; /* 親要素の幅いっぱいに */
  height: 3px; /* 線の太さ */
  background-color: #033980; /* 線の色 */
  transform: translateX(-50%) scaleX(0); /* 初期状態では中央に寄せて横に0に縮めておく */
  transform-origin: center; /* 中央を起点に拡大・縮小 */
  transition: transform 0.3s ease-out; /* アニメーションの速度とイージング */
}
.h_menu li a:hover::before {
  transform: translateX(-50%) scaleX(1); /* ホバー時に中央に寄せたまま横に1に拡大 */
}
.header_right {
  background-color: #FFF;
  height: 105px;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 236px;
  display: flex;
}
.header_right img {
  width: 100%;
}
.header_right a:hover {
  opacity: 0.9;
}
/*-------------ヘッダースタイルここまで-------------*/



/*-------------ページTOPボタンここから-------------*/
main #page-top a {
  position: fixed;
  bottom: 15px;
  right: 15px;
  display: block;
  background-color: #CCC;
  text-align: center;
  color: #333;
  font-size: 2.5rem;
  text-decoration: none;
  padding: 5px 5px;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  border-radius: 50%;
  opacity: 0.5;
}
main #page-top a:hover {
  background-color: #b2d1fb;
  color: #FFF;
}
/*-------------ページTOPボタンここまで-------------*/



/*-------------メインスタイルここから-------------*/
h2 {
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  position: relative;
  padding-bottom: 2rem;
  margin-bottom:4rem;
}
h2::before {
  position: absolute;
  border-bottom: 5px solid #333;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  content: '';
}
.join_experience {
  padding-top:107px;
  width: 100%;
  display: flex;
}
.join_experience img {
  width: 100%;
}
.main_top {
  padding-top: 105px;
  width: 100%;
  display: flex;
}
.main_top .main_left {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 440px;
}
.main_left .campaign {
  width: 100%;
}
.main_left .campaign img {
  width: 100%;
}
.to_main a {
  width: 100%;
  display: block;
  background-color: #033980;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #FFF;
  padding: 2rem;
  position: relative;
}
.to_main a::after {
  font-size: 1.2rem;
  content: "＞";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
.to_main a:hover {
  background-color: #000;
}
.to_main a:hover::after {
  right: 18px;
}
.left_join_experience {
  display: flex;
}
.left_join_experience img {
  width: 100%;
}
.main_top .main_right {
  background-image: url(../images/main_photo.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
 flex-grow: 1;
 flex-shrink: 1;
 flex-basis: auto;
}
.main_right .main_comment {
  padding: 3rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: baseline;
  justify-content: space-between;
}
.main_comment .mc_top {
  height: 220px;
}
.mc_bottom {
  height: 190px;
  width: 310px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.mc_bottom .mcb_a {
  width: 100%;
}
.mc_bottom .mcb_b {
  width: 100%;
}
.mc_top img,.mc_bottom img {
  height: 100%;
}
.anshin_button a {
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  background-color: #033980;
  padding: 1.8rem 1.5rem;
  position: fixed;
  right: 0;
  z-index: 500;
  top: 15rem;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;/* IE対応 */
}
.anshin_button a:hover {
  background-color: #ed1c24;
}
.main_obi p {
  background-color: #000;
  color: #FFF;
  font-size: 1.6rem;
  text-align: center;
  padding: 1rem 0;
  margin-bottom: 6rem;
}
.campaign_sp {
  width: 96%;
  margin: 0 auto 5rem;
}
.campaign_sp img {
  width: 100%;
}
/*-------------その他バナー等ここから-------------*/
.other_banners {
  margin-bottom: 6rem;
}
.o_banners {
  margin: 0 auto;
  width: 960px;
}
.o_banners_sp {
  margin: 0 auto;
  width: 96%;
}
.o_banners img ,.o_banners_sp img {
  width: 100%;
}
/*-------------その他バナー等ここまで-------------*/
.equipment {
  width: 80%;
  margin: 0 auto 1.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.equipment_sub p {
  color: #033980;
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 6rem;
}
.pictogram {
  margin: 0 8px 12px;
  width: 85px;
}
.pictogram img {
  margin-bottom: 0.5rem;
}
.pictogram p {
  font-size: 1.3rem;
  line-height: 1.1em;
  font-weight: bold;
  text-align: center;
}
.features {
  background-color: #F2F2F2;
  padding: 3rem;
  margin-bottom: 5rem;
}
.features_in {
  margin: 0 auto;
  width: 1000px;
  display: flex;
  justify-content: space-between;
}
.features .fe_left {
  width: 40%;
}
.fe_left h3 {
  font-size: 2.4rem;
  line-height: 1.4em;
  font-weight: bold;
  color: #033980;
  margin: 2rem 0 2rem;
}
.features .fe_right {
  width: 55%;
}
.fe_right img {
  width: 100%;
}
.slide {
  margin-bottom: 5rem;
}
/*---------------------------------------------
  swiper start
---------------------------------------------*/
.swiper-wrapper {
  width: 35%;/* サイズ調整 */
}
.swiper-slide img {
  width: 100%;
}
.swiper-slide {
  position: relative;
}
.slide_text {
  position: absolute;
  top: 82%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 1.2vw;
  font-weight: bold;
  background-color: rgba(3,57,128,0.9);
  padding: 10px 10% 12px;
  border-radius: 9999px;
}
.swiper-button-next,.swiper-button-prev {
  background-color: rgb(255, 255, 255, 0.7);
  padding: 10px;
}
/*---------------------------------------------
  swiper end
---------------------------------------------*/
.machine_list {
  width: 100%;
  background-image: url(../../images/s_common/machine_back_b.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 6rem 0;
  margin-bottom: 6rem;
}
.machine_list h2 {
  color: #FFF;
}
.machine_list h2::before {
  border-bottom: 5px solid #FFF;
}
.machine_list_in {
  margin: 0 auto;
  padding: 1rem 3rem 2rem;
  background-color: #FFF;
  border-radius: 10px;
  width: 1000px;
}
.machine_list_in h4 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
  color: #033980;
  margin-bottom: 1.5rem;
  padding-top: 2rem;
}
.machine_list_in .h4_w {
  color: #a80606;
}
.machine_list_in .machine {
  width: 100%;
  background-color:  #033980;
  padding: 1.5rem 1.5rem 0.5rem;
  margin-bottom: 1rem;
}
.machine_list_in .machine_w {
  width: 100%;
  background-color:  #a80606;
  padding: 1.5rem 1.5rem 0.5rem;
  margin-bottom: 1rem;
}
.machine_list_in .machine p,.machine_list_in .machine_w p {
  color: #FFF;
  font-size: 2rem;
  line-height: 1em;
  margin-bottom: 1rem;
}
.machine_list_in .machine ul,.machine_list_in .machine_w ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.machine_list_in .machine li,.machine_list_in .machine_w li {
  font-weight: bold;
  width: 49%;
  background-color:  #FFF;
  padding: 0.7rem 1rem;
  margin-bottom: 1rem;
  border-radius: 5px;
}
.kome {
  font-size: 1.4rem;
  margin-left: 0.3em;
  font-weight: bold;
}
.list_explanaion {
  font-size: 1.6rem;
  line-height: 1.5em;
  color: #FFF;
  text-align: center;
  padding: 1rem 0 0;
}
.arrow {
  width: 56px;
  margin: 0 auto;
  margin-bottom: 1rem;
}
/*-------------ご入会の流れここから-------------*/
.flow {
  margin: 0 auto 6rem;
  width: 1000px;
}
.t_bold {
  font-weight: bold;
}
.t_blue {
  color:#033980;
}
.flow .flow_list {
  border: 10px solid #e0ebff;
  width: 100%;
  padding: 3rem;
  margin-bottom:2rem;
}
.flow .flow_number {
  color:#033980;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5em;
  text-align: center;
}
.flow .flow_button {
  margin: 2rem auto;
  width: 600px;
  display: flex;
  justify-content:space-between;
}
.flow_button a {
  color: #FFF;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  padding: 2rem;
  width: 100%;
}
.flow .flow_button_02 {
  margin: 2rem auto;
  width: 600px;
}
.flow_button_02 a {
  color: #FFF;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  padding: 2rem;
  width: 100%;
}
.fb_tel p,.fb_experience p,.fb_join p {
  font-size: 1.4rem;
}
.fb_tel_in {
  border-radius: 5px;
  background-color: #033980;
  margin-bottom: 0.3rem;
}
.fb_experience_in {
  border-radius: 5px;
  background-color: #93278f;
  margin-bottom: 0.3rem;
}
.fb_join_in {
  border-radius: 5px;
  background-color: #ed1c24;
  margin-bottom: 0.3rem;
}
.fb_tel,.fb_experience {
  width: 47%;
}
.fb_join {
  width: 100%;
}
.flow_bold {
  font-size: 2rem;
  line-height: 1em;
  font-weight: bold;
  margin-top: 2rem;
}
.ft_left p,.ft_right p {
  font-size: 1.3rem;
}
.flow_list .bring {
  margin-top: 2.5rem;
  text-align: center;
}
.flow_list .bring_02 {
  margin-top:1rem;
  text-align: center;
  display: flex;
  justify-content: center;
}
.bring li {
  margin-bottom: 0.5rem;
}
.bring_02 li {
  margin: 0 1.5rem;
}
.bring_sub {
  display: block;
  font-size: 1.2rem;
}
.flow p {
  text-align: center;
}
/*-------------無料体験8月からここから-------------*/
.flow .shi_off {
  font-size: 1.5rem;
  font-weight: bold;
  color: #FF0000;
}
/*-------------無料体験8月からここまで-------------*/

/*-------------ご入会の流れここまで-------------*/
.price_list {
  margin: 0 auto 6rem;
  width: 1000px;
}
.price_list table {
  margin: 0 auto 1rem;
  width: 100%;
}
table tbody tr .a {
  width:20%;
}
table tbody tr .b {
  width:20%;
}
table tbody tr .c {
  width:20%;
}
table tbody tr .d {
  width:40%;
}
table tbody {
  border-top: 1px solid #CCC;
  border-left: 1px solid #CCC;
}
table tbody tr th {
  background-color: #e0ebff;
  font-weight: normal;
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  padding: 2rem 0.5rem;
  vertical-align: middle;
}
tbody .mini {
  margin-top: 0.5rem;
  display: block;
  font-size: 1.2rem;
  line-height: 1.2em;
}
table tbody tr td {
  border-right: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  text-align: center;
  padding: 2rem 0.5rem;
  vertical-align: middle;
}
tbody .text_blue {
  font-size: 2rem;
  font-weight: bold;
  color:#033980;
}
tbody .text_left {
  text-align: left;
  padding-left: 1em;
  line-height: 1.3em;
}
tbody .taxplus {
  font-size: 1.2rem;
  font-weight: normal;
  text-align: center;
}
tbody .mini_01 {
  font-size: 1.4rem;
  display: block;
}
tbody .mini_02 {
  font-size: 1.4rem;
  display: block;
}
tbody .mini_03 {
  font-size: 1.2rem;
  line-height: 1.2em;
  display: block;
  margin-bottom: 0.5rem;
}
tbody .mini_04 {
  background-color: #004EBC;
  color: #FFF;
  font-size: 1.4rem;
  padding: 0.4rem 1rem 0.6rem;
  display: inline-block;
}
.tu_comment {
  line-height: 1.4em;
}
.anshin_pack {
  margin-bottom: 6rem;
}
.anshin_pack h3 {
  font-size: 3rem;
  line-height: 1.4em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4rem;
}
.ap_image_waku {
  width: 1000px;
}
.ap_image_waku,.ap_image_waku_sp {
  background-color: #4eb5f4;
  margin: 0 auto;
  border-radius: 10px;
}
.ap_image_waku {
  padding: 4rem;
}
.ap_image_waku_sp {
  padding: 1rem;
}
.ap_image_waku img,.ap_image_waku_sp img {
  width: 100%;
  margin-bottom: 0.5rem;
}
.ap_image_waku a,.ap_image_waku_sp a {
  color: #FFF;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  text-decoration: none;
  display: block;
  margin: 0 auto 0.5rem;
  background: linear-gradient(0deg, #151B6F, #0071BC);
  width: 98%;
  padding: 2rem 0.5rem;
  border-radius: 10px;
}
.ap_image_waku_sp a {
  font-size: 1.4rem;
}
.ap_image_waku a:hover,.ap_image_waku_sp a:hover {
  background:linear-gradient(0deg, #151B6F, #004EBC);
}
.co_members {
  margin: 0 auto 6rem;
  width: 740px;
}
.co_members img {
  width: 100%;
}
.access iframe {
  width: 100%;
  height: 40rem;
}
/*-------------メインスタイルここまで-------------*/



/*-------------フッタースタイルここから-------------*/
.footer_in {
  background-color: #033980;
  width: 100%;
  padding: 3rem;
  margin-bottom: 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: end;
}
.f_left {
  margin-right: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.f_left img {
  width: 90%;
}
.f_left h5 {
  color: #FFF;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3em;
  margin-bottom: 0.3rem;
}
.f_left p {
  color: #FFF;
  text-align: center;
  line-height: 1.3em;
}
.f_left .adress {
  font-size: 1.4rem;
}
.f_left .tel {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.f_left .others {
  font-size: 1.2rem;
  margin-bottom: 0.8rem;
}
.f_left .open_hours {
  font-size: 1.2rem;
  padding: 0.5rem 1rem;
  border: 1px solid #FFF;
}
.f_right {
  background-color: rgba(256,256,256,0.8);
  width: 480px;
  padding: 1.5rem 1.5rem 0.8rem;
  border-radius: 10px;
}
.f_right p {
  color: #033980;
  font-weight: bold;
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 0.5rem;
}
.f_right .link_5 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.link_5 .oe {
  background-color:rgba(256,256,256,0);
  color: #033980;
  font-size: 1.9rem;
  font-weight: bold;
  text-align: center;
  background-color: none;
}
.link_5 li {
  width: 49%;
  margin-bottom: 0.7rem;
}
.link_5 li img {
  width: 100%;
}
.footer_link {
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.6em;
  margin-bottom: 3rem;
}
.footer_link a {
  text-decoration: none;
  color: #333;
}
.footer_link a:hover {
  text-decoration: underline;
  color: #333;
}
.sns {
  margin: 0 auto 4rem;
  display: flex;
  justify-content: center;
}
.sns img {
  width: 43px;
  margin: 0 1.2rem;
}
.copyright {
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 1.7rem;
}
/*-------------フッタースタイルここまで-------------*/



/*-------------スマートフォン（865px以下）ここから-------------*/
@media (max-width:865px){
/*----SPヘッダーここから----*/
.header_left {
  flex-basis: 100%;
  height: 72px;
  padding: 0.3rem 0;
}
.h_left_top {
  display: flex;
  flex-direction: column;
}
.h_left_top .store_name {
  margin-top: 1rem;
  width: 100%;
  height: 3.8rem;
  border-radius: 0;
}
.store_name p {
  font-size: 2rem;
}
.h_left_top .store_name br {
  display: none;
}
.header_left .h_left_bottom {
  display: none;
}
.header_center {
  display: none;
}
.header_right {
  display: none;
}
 .sp_menu  {
  z-index: 1000;
  position: fixed;
  width: 100%;
}
/*----SPヘッダーここまで----*/

/*----SPメインここから----*/
h2 {
  font-size: 2.3rem;
}
.main_top {
  padding : 0;
}
.main_top .main_left {
  display: none;
}
.main_top .main_right {
  height: 360px;
}
.main_right .main_comment {
  height: 100%;
  padding: 1.5rem;
}
.main_comment .mc_top {
  height: 140px;
}
.mc_bottom {
  height: 116px;
  width: 190px;
}
.main_obi p {
  background-color: #000;
  font-size: 1rem;
  line-height: 1.5em;
  padding: 0.7rem 0;
  margin-bottom: 1.2rem;
}
.anshin_button {
  display: none;
}
.campaign_sp {
  margin: 0 auto 3rem;
}
/*-------------SPその他バナー等ここから-------------*/
.other_banners {
  margin-bottom: 5rem;
}
.o_banners {
  display: none;
}
/*-------------SPその他バナー等ここまで-------------*/
.equipment {
  width: 98%;
  margin-bottom: 1rem;
}
.equipment_sub p {
  font-size: 1.1rem;
  margin-bottom: 3rem;
}
.pictogram {
  width: 70px;
}
.pictogram p {
  font-size: 1.1rem;
}
.features {
  padding: 2rem 0;
  margin-bottom: 3rem;
}
.features_in {
  margin: 0 auto;
  width: 90%;
  display: flex;
  flex-direction: column-reverse;
}
.features .fe_left {
  margin: 0 auto;
  width: 100%;
}
.features .fe_left p {
  font-size: 1.5rem;
  line-height: 1.5em;
}
.fe_left h3 {
  font-size: 2.2rem;
  margin: 1.5rem 0 1rem;
}
.features .fe_right {
  width: 100%;
}
.fe_right img {
  width: 100%;
}
.swiper-wrapper {
  /* サイズ調整 */
  width: 86%;
 }
.slide_text {
  top: 80%;
  padding: 8px 6% 10px;
  font-size: 3.6vw;
}
.machine_list {
  width: 100%;
  background-color: #033980;
  padding: 4rem 0;
}
.machine_list_in {
  padding: 1rem 1rem 2rem;
  width: 96%;
}
.machine_list_in h4 {
  font-size: 2rem;
  margin-bottom: 1rem;
  padding-top: 1rem;
}
.machine_list_in .machine,.machine_list_in .machine_w {
  padding: 1rem 1rem 0;
}
.machine_list_in .machine p,.machine_list_in .machine_w p {
  font-size: 1.5rem;
}
.machine_list_in .machine ul,.machine_list_in .machine_w ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.machine_list_in .machine li,.machine_list_in .machine_w li {
  width: 100%;
  font-size: 1.4rem;
  padding: 0.3rem 0.5rem;
}
.list_explanaion {
  font-size: 1.3rem;
}
/*-------------ご入会の流れSPここから-------------*/
.flow {
  width: 92%;
}
.flow .flow_list {
  border: 8px solid #e0ebff;
  width: 100%;
  padding: 2rem 0 1.5rem;
}
.flow .flow_number {
  font-size: 1.6rem;
}
.flow .flow_button {
  margin: 1.5rem auto;
  width: 90%;
  flex-direction: column;
}
.flow .flow_button a {
  font-size: 1.8rem;
  padding: 1.2rem;
}
.fb_tel {
  width: 100%;
  margin-bottom: 1rem;
}
.fb_experience,.fb_join {
  width: 100%;
}
.flow_list .flow_bold {
  font-size: 1.4rem;
  margin-top: 1rem;
}
.flow p {
  font-size: 1.2rem;
}
.flow_list .bring {
  margin-top: 1.5rem;
}
.flow_list .bring_02 {
  flex-direction: column;
  margin-top: 0.5rem;
}
.bring li {
  font-size: 1.2rem;
}
.bring_02 li {
  font-size: 1.2rem;
  flex-direction: column;
}
.bring_sub {
  font-size: 1rem;
}
/*-------------ご入会の流れSPここまで-------------*/
.price_list {
  width: 96%;
}
table tbody tr .a {
  width:20%;
}
table tbody tr .b {
  width:18%;
}
table tbody tr .c {
  width:20%;
}
table tbody tr .d {
  width:42%;
}
table tbody tr th {
  padding: 0.8rem 0.5rem;
  font-size: 1.2rem;
  line-height: 1.4em;
}
table tbody tr td {
  padding: 1rem 0rem;
  font-size: 1rem;
  line-height: 1.2em;
}
tbody .text_blue {
  font-size: 1.4rem;
}
tbody .member_type {
  font-size: 1.1rem;
}
tbody .taxplus {
  font-size: 0.9rem;
}
tbody .text_left {
  font-size: 1.1rem;
  padding-left: 0.5em;
  margin-bottom: 0.2rem;
}
tbody .text_left .sub_c {
  font-size: 1.1rem;
}
tbody .d .mini {
  margin-top: 0.2rem;
  font-size: 0.8rem;
  line-height: 1.3em;
}
tbody .mini_01 {
  font-size: 1rem;
  display: block;
}
tbody .mini_02 {
  font-size: 1rem;
  display: block;
}
tbody .mini_03 {
  font-size: 1rem;
  line-height: 1.2em;
  display: block;
  margin-bottom: 0.5rem;
}
tbody .mini_04 {
  background-color: #004EBC;
  color: #FFF;
  font-size: 1.1rem;
  padding: 0.2rem 0.3rem 0.3rem;
  display: inline-block;
}
.tu_comment {
  font-size: 1.2rem;
}
.anshin_pack {
  margin-bottom: 3rem;
}
.anshin_pack h3 {
  font-size: 2.3rem;
}
.ap_image_waku {
  width: 96%;
}
.ap_image_waku {
  display: none;
}
.ap_image_waku_sp {
  width: 96%;
}
.ap_image_waku_sp img {
  width: 100%;
}
.anshin_pack h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.co_members {
  width: 96%;
  margin-bottom: 4rem;
}
.access iframe {
  height: 30rem;
}
/*----SPメインここまで----*/

/*----SPフッターここから----*/
.footer_in {
  flex-direction: column;
  padding: 3rem 1.5rem 1.5rem;
  margin-bottom: 2rem;
  align-items: center;
}
.f_left {
  margin: 0 0 4rem 0;
}
.f_right {
  width:100%;
  padding: 1rem 1rem 0.3rem;
  border-radius: 5px;
}
.f_right p {
  font-size: 2.5rem;
}
.link_5 li {
  background-color: #FFF;
  width: 49%;
  margin-bottom: 0.7rem;
}
.link_5 .oe {
  font-size: 3.5vw;
}
.footer_link {
  display: none;
}
/*----SPフッターここまで----*/
}
/*-------------スマートフォン（865px以下）ここまで-------------*/



/*-------------タブレット（866pxから1100pxまで）ここから-------------*/
@media (min-width:866px) and (max-width:1100px){
.header_right {
  display: none;
}
.main_top .main_left {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 40%;
}
.main_comment .mc_top {
  height: 180px;
}
.mc_bottom {
  height: 150px;
  width: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.main_left .to_main a {
  font-size: 1.7rem;
}
.main_obi p {
  font-size: 1.5rem;
}
/*-------------その他バナー等ここからSP-------------*/
.o_banners {
  width: 92%;
}
/*-------------その他バナー等ここまでSP-------------*/
.features_in {
  width: 96%;
}
.swiper-wrapper {
  /* サイズ調整 */
  width: 40%;
}
.slide_text {
  top: 80%;
}
.machine_list_in {
  width: 90%;
}
.flow {
  width: 90%;
}
.price_list {
  width: 90%;
}
.ap_image_waku {
  width: 90%;
}
}
/*-------------タブレット（866pxから1100pxまで）ここまで-------------*/



/*-------------PC・タブレット共通（866px以上）ここから-------------*/
@media (min-width:866px){
 .sp_menu  {
  display: none;
  }
/*-------------その他バナー等ここからSP-------------*/
.o_banners_sp {
  display: none;
}
/*-------------その他バナー等ここまでSP-------------*/
.join_experience {
  display: none;
}
.main_obi p br {
  display: none;
}
.campaign_sp {
  display: none;
}
table .a br {
  display: none;
}
table .member_type br {
  display: none;
} 
table .text_left .sub_c br {
  display: none;
}
tbody .mini br {
  display: none;
}
.tu_comment br {
  display: none;
}
.ap_image_waku_sp {
  display: none;
}
.list_explanaion br {
  display: none;
}
}
/*-------------PC・タブレット共通（866px以上）ここまで-------------*/



/*-------------タブレット（600pxから865pxまで）ここから-------------*/
@media (min-width:600px) and (max-width:865px){
.main_obi p br {
  display: none;
}
}
/*-------------タブレット（600pxから865pxまで）ここまで-------------*/