/*
 Theme Name:   hapiliv3.0
 Description:  hapiliv
 Version:      3.0.0
*/
/*-------------------------------------------
	fonts
--------------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700');

/*------------------------------------------

A modern CSS reset

Copyright (c) 2019 Andy Bell and other contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

------------------------------------------*/
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"],
ol[role="list"] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.6;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
/*  display: block;*/
  display: inline;
  height:auto;
  vertical-align:bottom;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


a img {
  border: none;
}
table {
  border-collapse: collapse;
  margin: 0 0 1.5em;
  width: 100%;
}
.wp-caption, .gallery-caption {
  max-width: 100%;
}
/*-------------------------------------------
	general
--------------------------------------------*/
body {
  font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", "Meiryo", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-size:20px;
  color: #282828;
}
body.page-template-page-plain {
  font-size:16px;
}

/*-- ■ Media Queries ■ --*/
@media (max-width: 768px) {
body{
  font-size:18px;
  font-size:1.125rem;
}
}
/*------------------------------------------

	Header

------------------------------------------*/
header{
  width:100%;
height:81px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  background:#FFF;
  box-shadow: 0px 3px 4px 0px rgb(0 0 0 / 20%);
}

header.scroll {
  position: fixed;
  padding-top:0;
  animation-name: anime;
  animation-duration: 0.3s;
}
@keyframes anime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

header .inner{
  position:relative;
  max-width:1320px;
}
.head-logo{
width:200px;
  display:inline-block;
  padding:14px 0 20px;
  margin:0;
line-height:1;
}
.home .head-logo{
display:none;
}
.navbox{
  position:absolute;
  top:15px;
  right:0;
}

/* grobal navigation (custom menu)
------------------------------------------*/
.grobal-nav {
}
#menu-grobal-menu{
  padding:0;
  margin:0;
  text-align:left;
}
#menu-grobal-menu li{
  display:inline-block;
}
#menu-grobal-menu li a{
  display:block;
  font-size:18px;
  font-size:1.125rem;
  font-weight:700;
  line-height:1;
  padding:15px 11px;
  text-align:center;
}
#menu-grobal-menu li.gn-inquiry a,
#menu-grobal-menu li.gn-download a,
#menu-grobal-menu li.gn-login a{
min-width:140px;
  color:#FFF;
  padding:11px;
  margin-left:10px;
  background:#E97132;
  border-radius:20px;
  box-shadow: 0px 3px 4px 0px rgb(0 0 0 / 20%);
}
#menu-grobal-menu li a:hover,
#menu-grobal-menu li.current-menu-item a{
  opacity:0.8;
}
.menu{
  list-style-type:none;
}


#toggle {
  display: none;
}
.hcontact {
  display: none;
}
/*-- ■ Media Queries ■ --*/
@media (max-width: 1320px) {
p.head-logo{
  margin:0 0 0 3%;
}
.navbox{
  right:3%;
}

}
@media (max-width: 1000px) {
header{
  height:68px;
}

header .inner{
  padding:0;
}
.home .head-logo{
display:inline-block;
}

p.head-logo{
  padding:9px 0 13px;
  background-size:60px 53px;
}


.httl a{
  padding:11px 0;
}
.navbox{
  top:0;
  right:0;
  width:300px;
  padding:20px;
  margin:0;
  display: none;
  z-index:10;
  background:#F7F7F7;
  border:10px #E5E5E5 solid;
  border-bottom:20px #E5E5E5 solid;
}
.navbox .btn{
  position:relative;
}

.grobal-nav{
  position:relative;
  width:100%;
  margin-left:0;
  margin-right:0;
}
#menu-grobal-menu{
  display:block;
  margin:0 auto 20px;
}
#menu-grobal-menu li{
  width:100%;
  display:block;
}
#menu-grobal-menu li a{
  text-align:center;
  padding: 15px 0;
  background-size:28.75px 30px;
}
#menu-grobal-menu li.gn-inquiry a,
#menu-grobal-menu li.gn-download a,
#menu-grobal-menu li.gn-login a{
  margin-left:0;
  margin-top:15px;
}
#toggle{
  display:block;
  position:absolute;
  top:20px;
  right:3%;
  cursor:pointer;
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 34px;
  height: 28px;
  z-index:100;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #D9D9D9;
  border-radius: 3px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 8px;
}
.menu-trigger span:nth-of-type(3) {
  top: 16px;
}
.menu-trigger span:nth-of-type(4) {
  bottom: 0;
}

#toggle.gnavon .menu-trigger span{
  background-color: #282828;
}

#toggle.gnavon .menu-trigger span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(12px) rotate(-45deg);
}
#toggle.gnavon .menu-trigger span:nth-of-type(2) {
  opacity: 0;
}
#toggle.gnavon .menu-trigger span:nth-of-type(3) {
  opacity: 0;
}
#toggle.gnavon .menu-trigger span:nth-of-type(4) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-12px) rotate(45deg);
}

}/* end 1000px */

@media (max-width: 480px) {
.navbox{
  width:100%;
}
}
/*------------------------------------------

	footer

------------------------------------------*/
#footer{
  position:relative;
  padding:40px 0 10px;
  background:#F469AB;
}
#footer .inner{
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  align-items:center;
  max-width:1320px;
}
.fbox01{
  width:330px;
  text-align:center;
}
.flogo {
  display:inline-block;
  font-size:36px;
  font-size:2.25rem;
  font-weight:700;
  padding:12px 0 12px 98px;
  margin:0;
  background:url("https://hapiliv.jp/wp-content/uploads/2023/01/hapiliv.svg") 0 center no-repeat;
  background-size:78px 69px;
}
.fbnr-list{
  padding:0;
  margin:20px 0 0;
}

.fbnr-list li{
  display:inline-block;
  list-style-type:none;
  margin:0 0 20px;
}
.fbnr-appstore{
  margin-right:20px;
}
.fbnr-appstore img{
  width:136px;
  height:50px;
}
.fbnr-googleplay img{
  height:50px;
}

.fbnr-list li.flogin{
  display:none;
}
.flogin a{
  display:inline-block;
  font-size:18px;
  font-size:1.125rem;
  font-weight:700;
  color:#FFF;
  line-height:1;
  padding:11px 30px;
  background:#88D3B4;
  border:2px #CCCCCC solid; 
  border-radius:20px;
  box-shadow: 0px 3px 4px 0px rgb(0 0 0 / 20%);
}


.fbox02{
  width:calc(100% - 390px);
  padding-right:40px;
}
.fnav .menu {
padding:0;
margin:0;
text-align:right;
}
.fnav .menu li{
  display:inline-block;
}
.fnav .menu li a{
  display:block;
  font-size:18px;
  font-size:1.125rem;
  font-weight:700;
  text-decoration:none;
  line-height:1;
  padding:15px 11px;
  text-decoration:none;
}
.fnav .menu li.gn-login a{
  color:#FFF;
  padding:11px 30px;
  margin-left:15px;
  background:#88D3B4;
  border:2px #CCCCCC solid; 
  border-radius:20px;
  box-shadow: 0px 3px 4px 0px rgb(0 0 0 / 20%);
}
.fnav .menu li a:hover,
.fnav .menu li.current-menu-item a{
  opacity:0.8;
}
.menu{
  list-style-type:none;
}

.fbox03{
  width:60px;
  text-align:right;
  padding:20px 0;
}
.copy{
  width:100%;
  font-size:14px;
  font-size:0.875rem;
  text-align:right;
  padding:0;
  margin:0;
}
.copy a{
  text-decoration:underline;
}

/*-- ■ Media Queries ■ --*/
@media (max-width: 1320px) {
#footer .inner{
  padding:0 3%;
}
}
@media (max-width: 1000px) {
#footer{
  position:relative;
  padding:120px 0 10px;
}
.fbox01{
  width:48%;
  text-align:center;
}
.flogo{
position:absolute;
top:20px;
left:50%;
margin-left:-121px;
}
.fbnr-list{
  padding:0;
  margin:0;
}
.fbnr-list{
  margin:0;
}

.fbnr-list li{
  display:block;
}

.fbnr-appstore{
  margin-right:0;
}
.fbnr-list li.flogin{
  display:block;
}


.fbox02{
  width:48%;
  padding-right:0;
}
.fnav .menu li{
  display:block;
  text-align:center;
}
.fnav .menu li a{
  display:inline-block;
}
.fnav .menu li.gn-login{
display:none;
}

.fbox03{
  width:100%;
}

}
@media (max-width: 480px) {
}
/*------------------------------------------

	Common

------------------------------------------*/
html {
  scroll-behavior: smooth;
}
p,figure {
  margin: 0 0 1.5em;
  padding: 0;
}

#main{
  padding:80px 0 0;
  background:#FFF;
}
.page-template-page-plain #main{
  padding:0;
}

.inner{
  max-width:1000px;
  margin:0 auto;
}
.inner02{
  max-width:1240px;
  margin:0 auto;
}
.sec{
  clear:both;
  padding-bottom:80px;
}

.menu{
  list-style-type:none;
}
a{
  color:#000;
  text-decoration:none;
  transition: opacity .4s,background-color .4s;
}

header a,
.grobal-nav a,
.page-navigation a{
  text-decoration:none;
}

a:hover{
  opacity:0.8;
}

.simple-list{
  list-style:none;
}
.simple-list li{
  text-indent:-1em;
  padding-left:1em;
  margin:0 0 0.3em;
}
.simple-list li:before{
  content:"・";
}

.note{
  font-size:15px;
  font-size:0.9375rem;
  text-indent:-1em;
  padding-left:1em;
}

.note:before{
  content:"※";
}
/*-- ■ Media Queries ■ --*/
@media (max-width: 1320px) {
.inner02{
  padding:0 3%;
  margin:0;
}
}
@media (max-width: 1000px) {
.inner{
  padding:0 3%;
  margin:0;
}
#main{
  padding:67px 0 0;
  background:#FFF;
}
}

/*------------------------------------------

	page-header

------------------------------------------*/


.phead{
  padding:50px 0;
  margin:0 0 60px;
  background-image:url("https://hapiliv.jp/wp-content/uploads/2026/02/tmain02_2026.jpg");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  background-color:#FFDCE8;
}
.phead h1{
  font-size:36px;
  font-size:2.25rem;
  font-weight:700;
  line-height:1;
}


/*-- ■ Media Queries ■ --*/
@media (max-width: 900px) {
}/* end 900px */

@media (max-width: 781px) {
}/* end 781px */

@media (max-width: 620px) {
.pagettl{
  margin-bottom:40px;
}
}/* end 620px */

@media (max-width: 480px) {
.phead{
  padding:40px 0;
  margin-bottom: 40px;
}
.phead h1{
  font-size:30px;
  font-size:1.875rem;
}
}/* end 480px */


/*------------------------------------------

	common

------------------------------------------*/
.lead{
  max-width:730px;
  text-align:center;
  margin:0 auto 60px;
}
.lead02{
  max-width:730px;
  font-size:24px;
  font-size:1.5rem;
  font-weight:700;
  text-align:center;
  margin:0 auto 60px;
}
.edit-body{
  padding:0 0 120px;
}
.edit-body .postbox h2{
  font-size:24px;
  font-weight:700;
  margin:60px 0 30px;
}
.edit-body .postbox h2:first-child{
  margin:0 0 30px;
}
.edit-body .postbox h3{
  font-size:18px;
  font-weight:700;
  margin:60px 0 30px;
}
.edit-body .postbox h4{
  font-weight:700;
  margin:60px 0 30px;
}
.edit-body .postbox ul,
.edit-body .postbox ol{
  margin:40px 0;
}

.edit-body .postbox ul ul,
.edit-body .postbox ol ul,
.edit-body .postbox ul ol,
.edit-body .postbox ol ol{
  margin:10px 0;
}
.edit-body .postbox .wp-block-columns{
  margin:60px 0;
}

/*-- ■ Media Queries ■ --*/
@media (max-width: 768px) {
.lead02{
  font-size:20px;
  font-size:1.25rem;
}

.edit-body .postbox h2{
font-size:22px;
}

}

/*--------------------------------------------------------------
	midashi
--------------------------------------------------------------*/
.cmnmds01,
.edit-body h2.cmnmds01{
font-size:32px;
font-size:2rem;
font-weight:700;
line-height:2;
text-align:center;
margin-bottom:60px;
}
.cmnmds01 span{
padding-bottom:5px;
border-bottom:8px #F469AB dotted;
}

.cmnmds01+.lead{
margin-top:-30px;
}



/*-- ■ Media Queries ■ --*/
@media (max-width: 781px) {
}


/*------------------------------------------

	HOME

------------------------------------------*/
.tcsec{
padding-bottom:60px;
}
.tcsec .inner{
position:relative;
}

/*-- ■ Media Queries ■ --*/
@media (max-width: 480px) {
}
/*------------------------------------------
	main
------------------------------------------*/
.tmain{
  background-image:url("https://hapiliv.jp/wp-content/uploads/2026/02/tmain02_2026.jpg");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
  background-color:#FFDCE8;
} 

.tmain .inner{
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  align-items:center;
  max-width:1320px;
}
.tmain .inner .txt{
  width:400px;
  font-weight:700;
  text-align:right;
}
.tmain .inner .txt p{
  margin-bottom:15px;
}
.tmain .inner .txt p .t01{
  font-size:28px;
  font-size:1.75rem;
  color:#F368AB;
}

.tmain .inner .txt p .t02{
  display:inline-block;
  font-size:30px;
  font-size:1.875rem;
line-height:1.6;
  margin-top:10px;
}


.tmain .inner .txt a {
display:inline-block;
width:140px;
font-size:18px;
    color: #FFF;
    line-height:1;
text-align:center;
    padding: 11px;
    margin:0 5px 10px;
    background: #E97132;
    border-radius: 20px;
    box-shadow: 0px 3px 4px 0px rgb(0 0 0 / 20%);
}

.tmain .inner .txt h1{
  font-size:64px;
  font-size:4rem;
  line-height:40px;
  margin-top:10px;
}
.tmain .inner .txt h1 span{
  display:inline-block;
  font-size:22px;
  font-size:1.375rem;
  margin-bottom:5px;
  border-bottom:4px #F469AB solid;
}
.tmain .inner .txt img{
width:400px;
}

.tmain .inner .txt .spbr{
  display:none;
}
.tmain .inner .img{
  width:67.5%;
  width:calc(100% - 400px - 3%);
  text-align:center;
}
.tmain .inner .txt02{
  width:100%;
  font-size:14px;
  font-size:0.875rem;
  text-align:right;
  padding:0;
  margin:0 0 20px 0;
}

/*-- ■ Media Queries ■ --*/
@media (max-width: 1320px) {
.tmain .inner{
  padding:0 3%;
}
}
@media (max-width: 1100px) {
.tmain .inner .txt{
  width:100%;
text-align:center;
}
.tmain .inner .txt p{
  max-width:530px;
  margin:40px auto ;
}
.tmain .inner .txt .btnbox {
text-align:center;
}
.tmain .inner .txt h1{
  max-width:530px;
  text-align:center;
  margin:30px auto 0;
}
.tmain .inner .img{
  width:100%;
  padding:40px 0 0;
}
}
@media (max-width: 1000px) {
}
@media (max-width: 480px) {
.tmain .inner .txt h1{
margin-top:0;
}
.tmain .inner .txt p{
  max-width:350px;
margin: 10px auto;
}
.tmain .inner .txt p .t02{
font-size:28px;
}
.tmain .inner .txt p span{
  line-height:1.4;
}
.tmain .inner .txt h1 span{
font-size:18px;
}
}


/*------------------------------------------
	function
------------------------------------------*/
#function{
  padding-top:100px;
}

.tfeature-frm{
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
}

.tfeature-frm01,
.tfeature-frm02,
.tfeature-frm03{
  width:33.3%;
  margin-bottom:60px;
  text-align:center;
}
.tfeature-frm-inner{
padding:0 10px;
}
.tfeature-frm01 .tfeature-frm-inner,
.tfeature-frm02 .tfeature-frm-inner{
border-right:4px #EC479D solid;
}
.tfeature-frm01 h3,
.tfeature-frm02 h3,
.tfeature-frm03 h3{
  font-size:24px;
  font-weight:700;
  line-height:1.4;
  margin-bottom:20px;
min-height:70px;
display: grid;
  place-items: center;
}
.tfeature-frm01 .img,
.tfeature-frm02 .img,
.tfeature-frm03 .img{
  margin-bottom:30px;
}
.tfeature-frm .txt{
font-size:18px;
padding:0 10px;
}
.tfeature-frm .txt span{
font-size:13px;
}

.tfunc-frm01,
.tfunc-frm02,
.tfunc-frm03{
  margin-bottom:60px;
}

.tfunc-frm01 h3,
.tfunc-frm02 h3,
.tfunc-frm03 h3{
  font-size:32px;
  font-size:2rem;
  font-weight:700;
  line-height:1.4;
  clear:both;
  margin-bottom:30px;
}
.tfunc-frm01 .img,
.tfunc-frm02 .img,
.tfunc-frm03 .img{
  margin-bottom:30px;
}
.tfunc-frm01 .txt,
.tfunc-frm02 .txt,
.tfunc-frm03 .txt{
}
.tfunc-frm01 h3,
.tfunc-frm01 .txt{
  width:56%;
  float:right;
}
.tfunc-frm01 .img{
  width:40%;
  float:left;
}
.tfunc-frm02 h3,
.tfunc-frm02 .txt{
  width:56%;
  float:left;
}
.tfunc-frm02 .img{
  width:40%;
  float:right;
}
.tfunc-frm03 h3,
.tfunc-frm03 .txt{
  width:64%;
  float:right;
}
.tfunc-frm03 .img{
  width:32%;
  float:left;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}

.tfunc-point {
padding-top:100px;
}
.tfunc-point-list {
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  padding:0;
}
.tfunc-point-list li{
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  width:33%;
  text-align:center;
  padding:15px;
  margin-bottom:20px;
  list-style:none;
border:5px #F469AB solid;
border-radius:18px;
}
.tfunc-point-list li .img{
width:37%;
}
.tfunc-point-list li .txt{
width:60%;
}


.tfunc-point-list li h3{
  font-size:20px;
  font-size:1.25rem;
  font-weight:700;
  margin:0;
}

.tfunc-point-list li p{
  font-size:18px;
  font-size:1.125rem;
  margin:10px 0 0;
}
.tfunc-merit {
  padding-top:80px;
}
.tfunc-merit-list {
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  padding:0;
}
.tfunc-merit-list li{
  width:30%;
  margin-bottom:60px;
  list-style:none;
  text-align:center;
}
.tfunc-merit-list li div{
}
.tfunc-merit-list li h3{
  font-size:22px;
  font-size:1.357rem;
  font-weight:700;
  margin:20px 0 20px;
min-height:70px;
display: grid;
    place-items: center;
}
.tfunc-merit-list li p{
  font-size:18px;
  font-size:1.125rem;
}
.tfunc-image {
  padding-top:80px;
}

#trouble{
  padding-bottom:0;
}
.tfunc-trouble {
  padding-top:100px;
}
.tfunc-trouble .catch{
  font-size:25px;
  font-size:1.5rem;
  font-weight:700;
  text-align:center;
  margin:0 0 10px;
}

.tfunc-trouble-list{
  padding:0;
}
.tfunc-trouble-list li{
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  align-items:center;
  padding:0;
  margin:0 0 60px;
  list-style:none;
}
.tfunc-trouble-list li:last-child{
  margin:0 0 0;
}
.tfunc-trouble-list .mds{
  width:40%;
}
.tfunc-trouble-list .mds .num{
  display:block;
  width:208px;
  font-size:32px;
  font-size:2rem;
  color:#FFF;
  font-weight:700;
  line-height:1;
  text-align:center;
  padding:8px;
  margin-bottom:40px;
  background:#F469AB;
  border-radius:31px;
}
.tfunc-trouble-list .mds .num span{
  font-size:46px;
  font-size:2.875rem;
  vertical-align:-7px;
  line-height:1;
}
.tfunc-trouble-list .mds .img{
text-align:center;
}

.tfunc-trouble-list .mds h4{
  display:inline-block;
  width:300px;
  font-size:20px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
  padding:30px 35px 50px;
  background-image:url("https://hapiliv.jp/wp-content/uploads/2023/01/ttrouble01.svg");
  background-repeat:no-repeat;
  background-position:center center;
  float:right;
}
.tfunc-trouble-list .detail{
  width:55%;
}
.tfunc-trouble-list .detail h5{
  font-size:24px;
  font-size:1.5rem;
  font-weight:700;
  margin:0 0 20px;
}
.tfunc-trouble-list .detail p{
}

.tfunc-function {
  padding-top:100px;
}
.tfunc-func-box{
  margin-top:100px;
  border:10px #88D3B4 solid;
  border-radius:33px;
}
.tfunc-func-box h3{
  width:240px;
  font-size:24px;
  font-size:1.5rem;
  font-weight:700;
  text-align:center;
  margin:-25px auto 60px;
  background:#FFF;
}
.tfunc-func-list{
  display: flex;
  justify-content:space-around;
  flex-wrap: wrap;
  padding:0 3%;
  margin:0;
  list-style:none;
}
.tfunc-func-list li{
  width:28%;
  margin-bottom:60px;
}

.tfunc-func-list li .spbr{
  display:none;
}

.tfunc-func-list li .img,
.tfunc-func-list li .txt h4{
  text-align:center;
}


.tfunc-func-list li .img img{
  height:100px;
}
.tfunc-func-list li .txt h4{
  font-size:20px;
  font-size:1.25rem;
  font-weight:700;
  margin:20px 0;
}
.tfunc-func-list li .txt p{
  font-size:18px;
  font-size:1.125rem;
  margin-bottom:0;
}
/*-- ■ Media Queries ■ --*/
@media (max-width: 768px) {
.tfeature-frm01,
.tfeature-frm02,
.tfeature-frm03{
  width:100%;
}
.tfeature-frm01 .tfeature-frm-inner,
.tfeature-frm02 .tfeature-frm-inner{
border-right:none;
}
.tfunc-merit-list li h3{
min-height:auto;
}
.tfunc-frm01 h3,
.tfunc-frm01 .txt,
.tfunc-frm01 .img,
.tfunc-frm02 h3,
.tfunc-frm02 .txt,
.tfunc-frm02 .img,
.tfunc-frm03 h3,
.tfunc-frm03 .txt,
.tfunc-frm03 .img{
  width:100%;
  float:none;
}
.tfunc-frm01 h3,
.tfunc-frm02 h3,
.tfunc-frm03 h3{
  font-size:24px;
  font-size:1.5rem;
}
.tfunc-frm01 .img,
.tfunc-frm02 .img,
.tfunc-frm03 .img{
  text-align:center;
}
.tfunc-frm01 .txt,
.tfunc-frm02 .txt,
.tfunc-frm03 .txt{
}
.tfunc-point-list li{
  width:100%;
}
.tfunc-point-list li .img{
width:30%;
}
.tfunc-point-list li .txt{
width:66%;
text-align:left;
}
.tfunc-point-list li .txt br{
display:none;
}

.tfunc-merit-list li{
  width:100%;
  margin-bottom:40px;
}
.tfunc-merit-list li div{
}
.tfunc-merit-list li p{
  text-align:left;
  margin:0;
}
.tfunc-trouble-list .mds{
  width:100%;
  margin-bottom: 20px;
}
.tfunc-trouble-list .detail{
  width:100%;
}
.tfunc-trouble-list .mds .num{
  margin-bottom: 20px;
}

.tfunc-func-list li{
  width:100%;
  display: flex;
  justify-content:space-around;
  flex-wrap: wrap;
  align-items:center;
  margin-bottom:60px;
}

.tfunc-func-list li .img{
  width:30%;
}
.tfunc-func-list li .txt{
  width:60%;
  margin:0:
}
.tfunc-func-list li .txt h4{
  margin:0 0 20px;
}
}

@media (max-width: 480px) {
.tfunc-func-list li .spbr{
  display:block;
}
}
/*------------------------------------------
	case
------------------------------------------*/
#case{
  padding-top:100px;
}
.tcase-list{
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  max-width:1120px;
  padding:0 3%;
  margin:0 auto;
  list-style:none;
}
.tcase-list li{
  width:30.35%;
  text-align:center;
  margin-bottom:60px;
}
.tcase-list::after{
  display: block;
  content:"";
  width:30.35%;
}
.tcase-list li .img{
 ?height:120px;
  margin-bottom:20px;
}
.tcase-list li .img img{
 ?max-height:120px;
}
.tcase-list li p{
  font-weight:700;
  margin-bottom:0;
}

/*-- ■ Media Queries ■ --*/
@media (max-width: 1220px) {
}
@media (max-width: 1030px) {
}
@media (max-width: 768px) {
.tcase-list li{
  margin-bottom:30px;
}
.tcase-list li p{
  font-size:14px;
  font-size:0.875rem;
}
.tcase-list li .img{
  height:auto;
  margin-bottom:20px;
}

}


/*------------------------------------------
	flow
------------------------------------------*/
#flow{
  padding-top:100px;
}
#flow .lead span{
font-size:1.2em;
color:#F469AB;
font-weight:bold;
}
#flow .lead .spbr{
display:none;
}

.tflow-list{
  padding:0;
  margin:0;
}
.tflow-list li{
  position:relative;
  padding:0 0 60px 72px;
  border-left:8px #F9CDE5 solid;
list-style:none;
}
.tflow-list li:last-child{
  padding:0 0 0 72px;
}
.tflow-list li::before{
content:"";
display:block;
width:56px;
height:56px;
border-radius:28px;
background:#F469AB;
position:absolute;
top:-8px;
left:-32px;
}
.tflow-list li:last-child::after{
content:"";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 13px solid transparent;
  border-left: 13px solid transparent;
  border-top: 26px solid #f9cde5;
  border-bottom: 0;
position:absolute;
bottom:-7px;
left:-17px;
}
.tflow-list li .mds{
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
padding:0 0 10px;
  border-bottom:4px #F469AB solid;
}
.tflow-list li .mds .step{
  width:140px;
  font-size:34px;
  font-size:2.125rem;
  font-weight:700;
  line-height:1;
text-align:center;
margin:0;
}
.tflow-list li .mds .step span{
color:#F469AB;
margin-left:5px;
}
.tflow-list li  .mds h3{
  width:calc(100% - 7% - 140px);
  font-size:24px;
  font-size:1.5rem;
  font-weight:700;
}


.tflow-list li .txt{
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  align-items:center;
padding:30px 0;
}



.tflow-list li .txt .img{
  width:140px;
text-align:center;
}
.tflow-list li .txt p{
  width:calc(100% - 7% - 140px);
}
.tflow-list li .txt p{
  font-size:20px;
  font-size:1.25rem;
  margin:0;
}

/*-- ■ Media Queries ■ --*/
@media (max-width: 1220px) {
}
@media (max-width: 1030px) {
}
@media (max-width: 768px) {
#flow .lead .spbr{
display:block;
}
.tflow-list {
margin: 0 0 0 20px;
}
.tflow-list li,
.tflow-list li:last-child{
align-items:center;
padding: 0 0 60px 32px;
}
.tflow-list li .mds .step{
}
.tflow-list li .txt h3{
  margin-bottom:10px;
}
.tflow-list li .txt p{
  font-size:18px;
  font-size:1.125rem;
}
}
@media (max-width: 480px) {
.tflow-list li .mds .step,
.tflow-list li .mds h3{
width:100%;
text-align:left;
}
.tflow-list li .txt .img,
.tflow-list li .txt p{
width:100%;
}
.tflow-list li .txt .img{
margin-bottom:20px;
}

}
/*------------------------------------------
	plan
------------------------------------------*/
#plan{
  padding:100px 0;
}

.tplan-list{
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  list-style:none;
  padding:0;
}
.tplan-list:before{
  display:block;
  content:"";
  width:13%;
}
.tplan-list li{
  width:29%;
  padding:0 10px;
}
.tplan-list li div{
  max-width:300px;
  font-weight:700;
  text-align:center;
  padding:30px 10px 20px;
  margin:0 auto;
  background:#F5F5F5;
  box-shadow: 0px 3px 4px 0px rgb(0 0 0 / 20%);
}
.tplan-list li div h3{
  font-size:24px;
  font-size:1.5rem;
  color:#F469AB;
  margin-bottom:40px;
}
.tplan-list li div p{
  font-size:36px;
  font-size:2.25rem;
  margin:0;
}
.tplan-list li div p.note{
font-size:14px;
font-size:0.875rem;
text-align:right;
margin-top:20px;
}

.tplan-list li div br{
  display:none;
}


.tplan-table{
  width: 100%;
}

.tplan-table thead{
  display:none;
}
.tplan-table tbody{
  border-top:2px #ECECEC solid;
}
.tplan-table tr{
  border-bottom:2px #ECECEC solid;
}
.tplan-table th,
.tplan-table td{
  font-weight:500;
  line-height:1.4;
  text-align:center;
}
.tplan-table th{
  width:13%;
  color:#F469AB;
  white-space:nowrap;
  padding:15px 0;
}
.tplan-table td{
  width:29%;
  padding:15px 10px;
}
.tplan-table td span{
  font-size:10px;
  font-size:0.625rem;
}
.scroll-frm p{
  display:none;
}

/*-- ■ Media Queries ■ --*/
@media (max-width: 1220px) {
}
@media (max-width: 1000px) {
.tplan-list li div br{
  display:block;
}
}
@media (max-width: 820px) {
.scroll-frm{
 overflow-x: scroll;
}
.scroll-frm p{
  display:block;
  font-size:14px;
}
.tplan-list li{
  width:100%;
  margin-bottom:60px;
}
.tplan-list li div{
  max-width:100%;
}
.tplan-list li div br{
  display:none;
}
.tplan-table{
  width:820px;
}
.tplan-table thead{
  display:table-header-group;
}
}

/*------------------------------------------
	cta
------------------------------------------*/
.tcta{
text-align:center;
padding: 20px 0 0;
background-color: #f5d4dc;
}
.tcta-txt{
font-size:24px;
font-size:1.5rem;
font-weight:bold;
margin-bottom:20px;
}
.tcta .btn{
display:inline-block;
width:240px;
    color: #FFF;
font-weight:bold;
    padding: 14px 30px;
    margin: 0 10px 20px;
    background: #E97132;
    border-radius: 30px;
    box-shadow: 0px 3px 4px 0px rgb(0 0 0 / 20%);
}

@media (max-width: 768px) {
.tcta-txt{
font-size:21px;
font-size:1.3125rem;
font-weight:bold;
}

}
/*------------------------------------------

	inquiry

------------------------------------------*/
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
  background: #fff;
  border: 1px solid #bbb;
  border-radius: 5px;
  display: inline-block;
  padding: 0.7em;
  width: auto;
  width: 100%;
}
textarea{
  width: 100%;
}

.formbox{
  margin-bottom:120px;
}

.formbox .lead{
  max-width:100%;
  font-size:24px;
  font-size:1.5rem;
  font-weight:700;
  text-align:center;
  margin-bottom:60px;
}
.formbox .lead br{
  display:none;
}

.formbox .required {
  color: #ff0000;
  padding: 0 2px;
}
.formbox a{
  text-decoration:underline;
}




.formbox th{
  font-weight:500;
  text-align:center;
  padding:20px 10px;
  vertical-align:top;
min-width:200px;
}
.formbox td{
  padding:13px 10px;
}
.formbox input::placeholder {
  color:#999;
}
.formbox input[type="text"],
.formbox input[type="tel"],
.formbox input[type="email"],
.formbox input[type="url"],
.formbox input[type="date"],
.formbox textarea{
  padding:6px;
}

.formbox .policy-box{
text-align:center;
margin-bottom:60px;
}
.formbox .check-box {
text-align:center;
padding: 10px;
margin-bottom:10px;
background: #F9F9F9;
}
.formbox .note {
font-size:1em;
}

.wpcf7 .wpcf7-submit:disabled {
    background: #ccc;
}
.formbox .check,
.formbox .submit{
  text-align:center;
  margin-top:2em;
}

.formbox button,
.formbox input[type="button"],
.formbox input[type="submit"] {
  display:inline-block;
  font-weight:700;
  line-height:1;
  padding:14px 20px;
  margin:0 5px 20px;
  background:#88D3B4;
  border:2px #CCCCCC solid; 
  border-radius:20px;
  box-shadow: 0px 3px 4px 0px rgb(0 0 0 / 20%);
}

.formbox input[type="button"]{
  background-color: #333;
  border:2px #CCCCCC solid; 
}

.formbox input[type="button"]:hover,
.formbox input[type="submit"]:hover{
  opacity:0.8;
}


.thanks-box{
  text-align:center;
  padding:30px 20px;
  background:#EFEFEF;
  border-radius:30px;
}


/*-- ■ Media Queries ■ --*/
@media (max-width: 480px) {
.formbox .lead{
  font-size:20px;
  font-size:1.25rem;
  margin-bottom:40px;
}
.formbox .lead br{
  display:block;
}
.formbox tr,
.formbox th,
.formbox td{
  display:block;
  width:100%;
}
.formbox th{
  text-align:left;
  padding:10px 0 0;
}
.formbox td{
  text-align:left;
  padding:13px 0;
}
}
/*--------------------------------------------------------------

	MW WP Form

--------------------------------------------------------------*/
.mwform-radio-field label,
.mwform-checkbox-field {
  display:inline-block;
}

.page-inquiry-confirm tr{
  border-bottom:2px #FFF solid;
}
.page-inquiry-confirm th{
  width:200px;
}
.page-inquiry-confirm td{
  padding:10px;
  background:#F9F9F9;
}
.formbox input[type="submit"].back-btn{
  background:#666;
  border:none;
  color:#FFF;
}

/**
 * error message
 */
.mw_wp_form .error {
	color : #D90000;
}


/*------------------------------------------

	datasefrty

------------------------------------------*/
.page-datasafety{
  border-top: 20px #F467AC solid;
}
.page-datasafety #main{
  padding:0 0 80px;
}
.page-datasafety .thead{
  padding:40px 0 20px;
  display: flex;
  justify-content:space-between;
  flex-wrap: wrap;
  align-items:center;
}
.page-datasafety .thead .txt{
  width:560px;
}
.page-datasafety .thead .img{
  width:calc(100% - 560px);
  text-align:center;
}
.page-datasafety .thead .txt h1{
  font-size:50px;
  font-weight:bold;
}


.page-datasafety .tsec{
  padding:40px 0 20px;
  border-top:1px #000 solid;
}
.page-datasafety .tsec .img{
  text-align:center;
}
.page-datasafety .tpolicy{
  max-width:570px;
  margin:80px auto;
}
.page-datasafety .tpolicy a{
  display:block;
  font-size:20px;
  font-weight:bold;
  text-decoration:none;
  text-align:center;
  padding:10px;
  margin-bottom:15px;
  background:#E6E6E6;
}
.page-datasafety .tpolicy .input-box{
  position:relative;
  font-size:20px;
  text-align:center;
  padding:10px;
  margin-bottom:15px;
  background:#E6E6E6;
}
.page-datasafety .tpolicy .input-box label{
  margin:0;
}

.page-datasafety .tpolicy .input-box label::after{
  display:inline-block;
  content:"必須";
  font-size:14px;
  color:#FF0000;
  line-height:1;
  padding:5px;
  border:1px #FF0000 solid;
} 

.page-datasafety .tpolicy .form_btn{
  background: #F467AC;
  border: 1px solid #F467AC;
  color: #fff;
  width: 100%;
  padding: 10px;
  font-size: 20px;
  line-height: 1.5;
  cursor: pointer;
  transition: all .5s ease-out;
  position: relative;
}
 
.page-datasafety .tpolicy .form_btn:hover{
  opacity:0.8;
  background: #F467AC;
}
.page-datasafety .tpolicy button[type="submit"][disabled] {
  background-color: #fff;
  color: #ccc;
  border-color: #ccc;
  cursor: default;
}
.page-datasafety .tpolicy button[type="submit"][disabled]:hover{
  opacity:1;
}
.page-datasafety .tprof{
  text-align:center;
}

/*-- ■ Media Queries ■ --*/
@media (max-width: 480px) {
.page-datasafety .tpolicy a,
.page-datasafety .tpolicy .input-box,
.page-datasafety .tpolicy .form_btn{
  font-size:16px;
}
}
