@charset "UTF-8";
/******************
 * css_all
 ******************/
@import url("/ts/wp-content/themes/base/css/default.css");
@import url("/ts/wp-content/themes/base/css/default_sp.css") screen and (max-width: 767px);
@import url("/ts/wp-content/themes/base/css/custom.css");
@import url("/ts/wp-content/themes/base/css/custom_sp.css") screen and (max-width: 767px);
@import url("/ts/wp-content/themes/base/css/utility.css");
@import url("/ts/wp-content/themes/base/css/utility_sp.css") screen and (max-width: 767px);
@import url("/ts/wp-content/themes/base/js/pc_fix_menu3/pc_fix_menu3.css");
@import url("/ts/wp-content/themes/base/js/swiper4/css/swiper.min.css");

/* 20241223更新
 * [電話相談あり・なし 20241223:::] <= 検索
pc_fix_menu3.php
parts_contact_bnr.php
parts_sp_fix_menu.php
header.php
*/

/* footer 20220826
---------------------------------------------*/
@media (min-width:768px) {
  .fn_footer-1 {
    width: 100%;
    background-color: #043786;
    margin: 0;
    padding: 0;
  }
  .fn_footer-1_in {
    width: 1000px;
    margin: 0 auto;
    text-align: center;
  }
  .fn_footer-1_in ul {
    display: flex;
    width: 1000px;
    justify-content: space-around;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  /* button */
  .fn_footer-1_in ul li img {
    width: 400px;
    margin: 0 auto;
    margin: 0;
    padding: .1em 0 .5em;
    transition: all .2s ease-in-out;
  }
  .fn_footer-1_in ul li img:hover {
    width: 400px;
    margin: 0 auto;
    position: relative;
    top: 1px;
    filter: brightness(106%);
  }
  /* 文字 */
  .fn_footer-1_in ul li > p {
    display: block;
    height: 40px;
    line-height: 40px;
    vertical-align: bottom;
  }
  /* 文字 左 */
  .fn_footer-1_in ul li:first-child p {
    margin: 8px 0 0;
    padding: 0;
    color: white;
    font-size: 20px;
  }
  .fn_footer-1_in ul li:first-child p span {
    font-size: 17px;
    font-weight: 500;
    display: inline-block;
    margin-left: .4em;
  }
  .fn_footer-1_in ul li:first-child p > img {
    width: 23px;
    margin-right: .4em;
    vertical-align: -40%;
  }
  .fn_footer-1_in ul li:first-child p > img:hover {
    top: 0;
    filter: brightness(100%);
  }
  .fn_footer-1_in ul li:first-child {
    flex: 0 0 50%;
    align-items: center;
    background-color: #043786;
    padding: 0 0 .5em;
  }
  /* 文字 右 */
  .fn_footer-1_in ul li:last-child p {
    margin: 5px 0 0;
    padding: 0;
    color: #ffeb00;
    font-size: 20px;
  }
  /* span price */
  .fn_footer-1_in ul li:last-child p span {
    font-size: 150%;
    font-weight: 500;
    display: inline-block;
    font-family: 'Roboto', sans-serif;
    margin-left: .1em;
    margin-right: .1em;
    position: relative;
    top: 2px;
  }
  .fn_footer-1_in ul li:last-child p > img {
    width: 40px;
    margin-right: .4em;
    margin-left: .4em;
    vertical-align: -35%;
  }
  .fn_footer-1_in ul li:last-child p > img:last-of-type {
    width: 44px;
    margin-right: .4em;
    margin-left: .2em;
    vertical-align: -35%;
  }
  .fn_footer-1_in ul li:last-child p > img:hover {
    top: 0;
    filter: brightness(100%);
  }
  /* 右帯　*/
  .fn_footer-1_in ul li:last-child {
    flex: 0 0 50%;
    align-items: center;
    background-color: #ff295b;
    position: relative;
    padding: 0 0 .5em;
  }
  .fn_footer-1_in ul li:last-child::after {
    content: "";
    background-color: #ff295b;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
  .fn_footer-3 {
    width: 100%;
    background-color: #043786; /*#fe295b;*/
    margin: 0;
    padding: 0;
  }
  .fn_footer-3_in {
    width: 1000px;
    margin: 0 auto;
    text-align: center;
  }
  .fn_footer-3_in ul {
    display: flex;
    width: 1000px;
    justify-content: space-around;
    list-style: none;
    margin: 0;
    padding: 0 0 5px 0;
    align-items: center;
    max-height: 130px;
  }
  .fn_footer-3_in ul li p {
    margin: 0 0;
    padding: 0;
    color: #ffeb00;
    font-size: 20px;
    height: 40px;
    line-height: 40px;
    vertical-align: bottom;
  }
  .fn_footer-3_in ul li p > img {
    width: 40px;
    margin-right: 0.4em;
    margin-left: 0.4em;
    vertical-align: -10%;
  }
  .fn_footer-3_in ul li p span {
    font-size: 150%;
    font-weight: 500;
    display: inline-block;
    font-family: 'Roboto', sans-serif;
    margin-left: 0.1em;
    margin-right: 0.1em;
    position: relative;
    top: 2px;
  }
}
/**
 * 古いです
 * 鳴り分け 切り替え block--none
 * tel-Modal-3,tel-Callback
 * tel-Nariwake_Support,tel-Nariwake_Callback
-------------------------------------------------*/
.tel-Normal {
  display: none !important; /*0*/
  margin: 0;
  padding: 0;
}
.tel-Modal-3 {
  display: none !important; /*1*/
  margin: 0;
  padding: 0;
}
.tel-Callback {
  display: none !important; /*2*/
  margin: 0;
  padding: 0;
}
.tel-Nariwake_Support- { /**/
  display: none !important; /*31*/
  margin: 0;
  padding: 0;
}
.tel-Nariwake_Callback- { /**/
  display: none !important; /*32*/
  margin: 0;
  padding: 0;
}
/****/
.TimeDisplay {
  position: absolute;
  top: -100vh;
  left: -100vw;
}
.TimeDisplay.on {
  position: static;
}
.TimeHidden {}
.TimeHidden.on {
  position: absolute;
  top: -100vh;
  left: -100vw;
}
/*****************************************************/
@media (min-width:767px) {
  .tel_wrapTop {
    display: none;
  }
}
@media (max-width:768px) {
  .tel_wrapTop {
    display: block;
    text-align: center;
    width: 90%;
    margin: 1em 5%;
  }
}
/* add-margin padding 20g/100g
--------------------------------*/
@media (min-width:768px) {
  .add-margin_1 img {
    padding-top: 60px;
  }
  /*.add-margin_2 img {
	padding-top:60px;
}*/
}
@media (max-width:767px) {
  .add-margin_1 img {
    padding-top: 30px;
  }
  .add-margin_2 img {
    /*	padding-top:30px;*/
  }
}
/***************************************/
/* TOP add 水色speed
--------------------------------------*/
.header_form_wrap {
  text-align: center;
  background: #043786;
  height: auto;
  margin: 0 0 0;
  width: 100%;
  clear: both;
}
.header_form_wrap_in {
  text-align: center;
  margin: 0 auto;
  padding: 0 0 10px 0;
}
/* TOP add 黄色area
--------------------------------------*/
.header_form_wrap-2 {
  text-align: center;
  height: auto;
  margin: 0;
  width: 100%;
  clear: both;
}
.header_form_wrap_in-2 {
  text-align: center;
  margin: 0 auto;
  padding: 0;
}
/* TOP add 水色Speed　footer
--------------------------------------*/
.header_form_wrap-3-3 {
  text-align: center;
  margin: 0 auto;
  padding: 0 0 10px 0;
  background: #043786;
}
.header_form_wrap_in-3-3 {
  text-align: center;
  margin: 0 auto;
  padding: 0;
}
/* TOP add 黄色area　footer
--------------------------------------*/
.header_form_wrap-3 {
  text-align: center;
  height: auto;
  margin: 0;
  width: 100%;
  clear: both;
}
.header_form_wrap_in-3 {
  text-align: center;
  margin: 0 auto;
  padding: 0;
}
/********************************************/
.point_waku {
  display: table;
}
.p5 {
  display: table-cell;
  text-align: center;
  width: 20%;
}
.point_waku a img {
  /*transition-delay: .2s;*/
  border: 2px solid #DDF6FF;
  width: 98%;
  opacity: 1;
}
.point_waku a:hover img {
  border: 2px solid #043786;
  width: 98%;
  transition-delay: .1s;
  opacity: 1;
}
section#s-point1, section#s-point2, section#s-point3, section#s-point4, section#s-point5, section#s-point6 {
  margin-top: -60px !important;
  padding-top: 60px !important;
}
@media screen and (max-width:767px) {
  .point_waku {
    display: table;
    margin: 5px 0;
  }
  .p5 {
    display: table-cell;
    width: 33.333%;
  }
  .point_waku img {
    border: 2px solid #DDF6FF;
    width: 98%;
  }
  .point_waku a img {
    /*	transition-delay: .2s;*/
    border: 2px solid #DDF6FF;
    width: 98%;
    opacity: 1;
  }
  .point_waku a:hover img {
    transition-delay: .1s;
    border: 2px solid #043786;
    width: 98%;
    opacity: 1;
  }
  section#s-point1, section#s-point2, section#s-point3, section#s-point4, section#s-point5, section#s-point6 {
    margin-top: -64px !important;
    padding-top: 64px !important;
  }
}

/**
 * h2.moidashi
--------------------------------------*/
h2.midashi span.m_him {
  display: inline-block;
  background-color: #FC4679;
  border-radius: 24px;
  padding: 0px 1em;
  font-size: 24px;
  color: #FFED0D;
  margin-right: .5em;
  line-height: 1.4;
  vertical-align: 2%;
  letter-spacing: 2%;
}
h2.midashi span.m_him i {
  font-family: "Roboto";
  font-size: 30px;
  font-weight: 700;
  color: #FFED0D;
  font-style: normal;
  padding: 0 4px 0 6px;
  line-height: 1.4;
  vertical-align: -2%;
}
div.bg_color_cloudwifi {
  background: #fff;
}
@media screen and (max-width:767px) {
  /*	h2.midashi span.m_him {
		display: inline-block;
		background-color: #FC4679;
		border-radius: 24px;
		padding: 1px .8em 0px;
		font-size: 13px;
		color: #FFED0D;
		margin-right: .5em;
		line-height: 1.8;
		vertical-align: 2%;
		letter-spacing: 2%;
	}*/
  h2.midashi span.m_him {
    display: inline-block;
    background-color: #FC4679;
    border-radius: 24px;
    padding: 1px .8em 0px;
    font-size: 13px;
    color: #FFED0D;
    margin-right: .5em;
    /*line-height: 1.8;*/
    line-height: 1.9;
    /*vertical-align: 2%;*/
    letter-spacing: 2%;
    position: relative;
    top: -2px;
  }
  h2.midashi span.m_him i {
    font-family: "Roboto";
    font-size: 16px;
    font-weight: 700;
    color: #FFED0D;
    font-style: normal;
    padding: 0 4px 0 6px;
    line-height: 1.1;
    vertical-align: -3%;
  }
}
/* SNS
--------------------------------------*/
/*div.sns_wrap {
}
div.header_sns-share {
display:flex;
position:fixed;
top:338px;
right:135px;
z-index:99999900003;
}
div.header_sns-share div {
flex:0 0 32px;
margin-right:5px;
z-index:99999900004;
}
p.sns_share_txt {
position:absolute;
top:22px;
left:1.3em;
z-index:99999900005;
}*/
/*
*/
/* PC スライダーの下調整用パッチ
--------------------------------------*/
.main_acd {
  width: 1000px;
  margin:-0.8em auto 0em;
  background: none;
}
.pc_center {
  text-align: center;
}
@media screen and (max-width:767px) {
  .main_acd {
    width: 96%;
    margin: -1.5em auto 0em;
    background: none;
  }
  .pc_center {
    text-align: left !important;
  }
}
/*料金プラン
-----------------*/
/*.price4 div.u2s p {
    clear: both;
    padding: 20px;
	margin: 1.0rem 0;
}*/
.plan_ttl {
  background: #043786;
  color: #FFF;
  padding: 7px 10px 5px 10px !important;
  font-weight: bold;
  font-size: 20px;
  margin: 20px auto 0 auto !important;
  border: 1px solid #043786;
  text-align: left !important;
}
.plan_ttl span {
  border-left: 5px solid #FFF;
  padding-left: 15px;
}
.price4 .right table tr:nth-child(1) th {
  background: #043786;
  color: #FFF;
  padding: 7px 10px 5px 10px;
  font-weight: bold;
  font-size: 20px;
  width: 100%;
  border: 1px solid #043786;
  text-align: left !important;
}
.price4 .right table tr:nth-child(1) th span {
  border-left: 5px solid #FFF;
  padding-left: 15px;
}
.keiyaku_plan table {
  margin: 0 auto;
}
.keiyaku_plan table th {
  width: 20%;
  border: 1px solid #CCC;
  text-align: center;
  background: #D5F2F6;
  font-size: 16px;
  padding: 10px 0;
}
.keiyaku_plan table td {
  width: 20%;
  border: 1px solid #CCC;
  text-align: center;
  font-size: 16px;
  padding: 10px 0;
}
.plan_kikan {
  background: #043786;
  color: #FFF;
  padding: 7px 10px 5px 10px !important;
  font-weight: bold;
  font-size: 20px;
  margin: 30px auto 0 auto !important;
  border: 1px solid #043786;
  text-align: left !important;
}
.plan_kikan span {
  border-left: 5px solid #FFF;
  padding-left: 15px;
}
.price4 .left img {
  display: block;
  margin-bottom: 0;
}
@media screen and (max-width:767px) {
  .price4 div.u2s p {
    clear: both;
    padding: 0;
    font-size: 12px;
    margin: 1.0rem auto;
    width: 95%;
  }
  .price4 .plan_ttl {
    width: 95%;
    margin: 0 auto;
  }
  .keiyaku_plan table {
    width: 95%;
    margin: 0 auto;
    margin-bottom: 5px;
  }
  .keiyaku_plan table th {
    width: 20%;
    border: 1px solid #CCC;
    text-align: center;
    background: #D5F2F6;
    font-size: 12px;
    padding: 10px 0;
  }
  .keiyaku_plan table td {
    width: 20%;
    border: 1px solid #CCC;
    text-align: center;
    font-size: 12px;
    padding: 10px 1px;
  }
  .plan_ttl {
    background: #043786;
    color: #FFF;
    padding: 7px 10px 5px 10px !important;
    font-weight: bold;
    font-size: 14px;
    margin: 10px auto 0 auto !important;
    border: 1px solid #043786;
    text-align: left !important;
    width: 95%;
  }
  .plan_ttl span {
    border-left: 5px solid #FFF;
    padding-left: 15px;
    font: 16px;
  }
  .price4 .right table tr:nth-child(1) th span {
    border-left: 5px solid #FFF;
    padding-left: 15px;
    font: 16px;
  }
  .price4 .right table tr:nth-child(1) th {
    background: #043786;
    color: #FFF;
    padding: 7px 10px 5px 10px !important;
    font-weight: bold;
    font-size: 14px;
    margin: 10px auto 0 auto !important;
    border: 1px solid #043786;
    text-align: left !important;
    width: 95%;
  }
  .price4 .left img {
    display: block;
    margin-bottom: 30px;
  }
}
/* アフィリエイトリンク
----------------------------------------*/
footer p.af_link {
  font-size: 11px;
  color: #6B6B6B;
  text-align: center !important;
}
footer p.af_link a {
  color: #6B6B6B;
}
/* ロゴ横 wifianimation PC
--------------------------------------------------*/
@media (max-width:767px) {
  .wifi-symbol {
    display: none;
  }
}
@media (min-width:768px) {
  .wifi-symbol {
    display: none;
  }
  /*.wifi-symbol [foo],*/
  .wifi-symbol {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 40px;
    /*-ms-transform: rotate(0deg) translate(0px);
	-moz-transform: rotate(0deg) translate(0px);
	-o-transform: rotate(0deg) translate(0px);
	-webkit-transform: rotate(340deg) translate(0px);*/
    transform: rotate(343deg) translate(0px);
    top: -22px;
    left: 151px;
  }
  .wifi-symbol .wifi-circle {
    box-sizing: border-box;
    /*-moz-box-sizing: border-box;*/
    display: block;
    width: 100%;
    height: 100%;
    font-size: 4px;
    position: absolute;
    bottom: 0;
    left: 0;
    border-color: #00A9C2;
    border-style: solid;
    border-width: .8em .8em 0 0;
    /*-webkit-border-radius: 0 100% 0 0;*/
    border-radius: 0 100% 0 0;
    opacity: 0;
    /* -o-animation: wifianimation 2s infinite;
  -moz-animation: wifianimation 2s infinite;
  -webkit-animation: wifianimation 2s infinite;*/
    animation: wifianimation 2s infinite;
  }
  .wifi-symbol .wifi-circle.first {
    width: 5.5em;
    height: 5.5em;
    /*-o-animation-delay: 800ms;
  -moz-animation-delay: 800ms;
  -webkit-animation-delay: 800ms;*/
    animation-delay: 800ms;
  }
  .wifi-symbol .wifi-circle.second {
    width: 4em;
    height: 4em;
    /*-o-animation-delay: 400ms;
  -moz-animation-delay: 400ms;
  -webkit-animation-delay: 400ms;*/
    animation-delay: 400ms;
  }
  .wifi-symbol .wifi-circle.third {
    width: 2.5em;
    height: 2.5em;
  }
  .wifi-symbol .wifi-circle.fourth {
    width: 0.5em;
    height: 0.5em;
    opacity: 1;
    background-color: #00A9C2;
    /*-o-animation: none;
  -moz-animation: none;
  -webkit-animation: none;*/
    animation: none;
  }
}
/*
@-o-keyframes wifianimation
{
  0% {
    opacity: 0.4;
  }
  5% {
    opactiy: 1;
  }
  6% {
    opactiy: 0.1;
  }
  100% {
    opactiy: 0.1;
  }
}
*/
/*@-moz-keyframes wifianimation
{
  0% {
    opacity: 0.4;
  }
  5% {
    opactiy: 1;
  }
  6% {
    opactiy: 0.1;
  }
  100% {
    opactiy: 0.1;
  }
}*/
/*@-webkit-keyframes wifianimation
{
  0% {
    opacity: 0.4;
  }
  5% {
    opactiy: 1;
  }
  6% {
    opactiy: 0.1;
  }
  100% {
    opactiy: 0.1;
  }
}*/
@keyframes wifianimation {
  0% {
    opacity: 0.4;
  }
  5% {
    opactiy: 1;
  }
  6% {
    opactiy: 0.1;
  }
  100% {
    opactiy: 0.1;
  }
}
/* wifianimation PC END --------------------*/
@media (min-width:768px) {
  .mov_area {
    border: 1px solid #333;
    background: white;
    border-radius: 8px;
    padding: 2.2em 1.2em 2em 2em;
    /*margin-bottom:2em;*/
  }
}
/*************************************************/
/* swiper4
--------------------------------------*/
@media all and (min-width:768px) {
  .swiper-slide {
    width: 100vw;
    /*  height: 400px;*/
    margin: 0 auto 20px;
    overflow: hidden;
    position: relative;
    padding: 0;
  }
  .swiper-slide img.obfit1 {
    /*object-fit: cover !important;*/
    height: 400px;
    width: 1091px;
    /*width: 100%;
	max-width: 1200px;*/
  }
  .swiper-container, .swiper-container_02 {
    padding-bottom: 10px;
  }
  .swiper-button-prev {
    left: calc(40% - 420px);
  }
  .swiper-button-next {
    right: calc(40% - 420px);
  }
}
@media all and (max-width:767px) {
  .swiper-container2, .swiper-container2_02 {
    padding-bottom: 10px;
  }
  .swiper-slide {
    /*  height: calc(100vw * 0.9);*/
    /*  margin: 0 auto 30px;*/
    margin: 0 auto;
    overflow: hidden;
    position: relative;
  }
  .swiper-slide img {
    /*  height: calc(100vw * 0.9);*/
    height: auto;
    margin: 0 auto 30px;
    /*	margin: 0 auto;*/
    overflow: hidden;
    position: relative;
  }
  .swiper-button-prev, .swiper-button-next {
    display: none;
  }
  .mainvisual {
    overflow: hidden;
    /*	width: 100%;*/
    margin-bottom: 20px;
  }
}
.mainvisual {
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
}
.container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  width: 100%;
}
.swiper-container, .swiper-container_02 {
  width: 100%;
  height: 100%;
  overflow: visible;
  z-index: 0;
}
.swiper-custom-button {
  background-image: none !important;
  background: rgba(255, 255, 255, 0.9);
  color: #333;
  font-size: 28px !important;
  text-align: center;
  width: 50px !important;
  height: 50px !important;
  line-height: 50px;
  font-weight: bold;
  top: 50%;
  border-radius: 2px;
  border: 1px solid #333;
  transform: translateY(-32%);
}
.swiper-custom-button .fa {
  line-height: 62px;
}
/* SP */
.swiper-container2, .swiper-container2_02 {
  width: 100%;
  height: 100%;
  overflow: visible;
  z-index: 1;
}
.swiper-container2, .swiper-container2_02 {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}
.swiper-pagination2 {
  position: absolute;
  text-align: center;
  transition: .3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10
}
.swiper-pagination2.swiper-pagination-hidden {
  opacity: 0
}
.swiper-pagination2 {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms opacity;
  -o-transition: 300ms opacity;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination2.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-pagination-bullet {
  outline: none;
}
