@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------
 *
 * Theme Name: happiness-visa, Inc ver1.0
 * Theme URI: 
 * Author: kinjo aimi
 * Author URI: 
 * Description:ハピネス＊ビザ・帰化申請サポートオフィス大阪のコーポレートサイト用のテーマ
 * Version: 1.0
 * License: GNU General Public License v2 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: wellblue
 *
 *--------------------------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
 *
 *
 * リセット
 *
 *
--------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font:inherit; font-size:100%; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html, body { width:100%; height:100%; line-height:1; }
ol, ul { list-style:none; }
blockquote, q {quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table { border-collapse:collapse; border-spacing:0; }
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; word-wrap: break-word;}

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

   Clearfix

--------------------------------------------------*/
.cf { zoom:1; } .cf:before,.cf:after { content:""; display:table; } .cf:after { clear:both; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 基本設定
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
html { overflow:auto;}
@media screen and (max-width:1000px){ body { width:1000px; } }
@media screen and (max-width:766px){ body { width:100%; background:#fff; } }
body {min-height: 100vh; font-family: 'Noto Sans JP', sans-serif;
	display:-webkit-box; display:-ms-flexbox; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;}
a {overflow-wrap: break-word;  line-height: 1.3;} 
a:link,
a:visited {color: #000; ; text-decoration:none; transition:.3s ease;}
a:hover,
a:active {text-decoration:none; transition:.3s ease; }
img { max-width:100%; height:auto; vertical-align:top; backface-visibility:hidden; }
a:link img,
a:visited img {opacity:1.0; transition:.3s ease; }
a:hover img,
a:active img {opacity: 0.6; transition: .3s ease; }
video::-webkit-media-controls-enclosure { overflow:hidden; }
video::-webkit-media-controls-panel { width: calc(100% + 30px); }
/* .fa, .far, .fas {font-family: "Font Awesome 5 Free";} */
sup {
    /* visibility: visible; */
    vertical-align: super;
    font-size: smaller;
}

/* ------------------------------小見出し属性------------------------------　*/
h1 , h2 ,h3 ,h4 ,h5 { margin:0; padding:0; line-height:1.7; margin:0 0 20px 0;}
h1 { font-size:30px; }
h2 { font-size:80px; }
h3 { font-size:28px; }
h4 { font-size:18px; }
h5 { font-size:16px; }

@media screen and (max-width:766px){
	h1 { font-size:24px;}
	h2 { font-size:19px; }
	h3 { font-size:18px; }
	h4 { font-size:16px; }
	h5 { font-size:16px; }
}
p { font-size:14px; padding:0; line-height:1.8; display:block; color:#000; }
p:not(:last-of-type) {margin-bottom: 20px;} 
ul { margin:0; padding:0; }
li { margin:0; padding:0; font-size:14px; line-height: 1.8;}
i { padding-right:6px; }
img { max-width:100%; height:auto; display:block; }
dt,
dd {line-height: 1.8;}
@media screen and (max-width:766px){
 	p { font-size: 14px; } 
  li { font-size: 14px; }
}
img.center,.aligncenter { margin:0 auto; display:block; }
img.left { float:left; margin:0 30px 30px 0; }
img.right { float:right; margin:0 0 30px 30px; }
img.photo00 { background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
img.photo-left { transform:rotate(-4deg); -moz-transform:rotate(-4deg); -webkit-transform:rotate(-4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
img.photo-right { transform:rotate(4deg); -moz-transform:rotate(4deg); -webkit-transform:rotate(4deg); background:#ffffff; padding:5px; box-shadow:0px 0px 5px 5px rgba(0,0,0,0.05); }
.bold { font-weight:bold; }
.underline { text-decoration:underline; font-weight:bold; }
.pink { color:#d77e9a; font-weight:bold; }
.blue {color:#0085b1; font-weight:bold; }
.border {background:linear-gradient(transparent 60%, #97e4ff 60%);}
.red_underline { background:linear-gradient(transparent 60%, #ff9999 60%); }
.yellow {color:#000000; background:linear-gradient(transparent 60%, #a8eaff 60%); }
.yellow-txt {color: #ffff00;}
.green {color:#009e96;}
.center { text-align:center; }
.big { font-size:18px; }
.sp00 { margin-top:0 !important; }
.sp10 { margin-top:10px !important; }
.sp20 { margin-top:20px !important; }
.sp30 { margin-top:30px !important; }
.sp50 { margin-top:50px !important; }
.sp70 { margin-top:70px !important; }
.sp100 { margin-top:100px !important; }
.align_left { text-align:left; }
.align_right { text-align:right; }
.align_center { text-align:center; }
.ffffff { background:#ffffff!important; }
.f7f7f7 { background:#f7f7f7!important; }
.em {font-weight: bold;}
@media screen and (max-width:766px){
	img.left , img.right  { float:none; margin:0 auto 20px auto; display:block; }
	.big { font-size:16px; }
}
.pc { display:block!important; }
.sp { display:none!important; }
@media screen and (max-width:766px){
	.pc { display:none!important; }
	.sp { display:block!important; }
}
.back-main-color {background: #ffdc00;}

/* ------------------------------フォント------------------------------　*/
.wf-oswald {font-family: 'Manrope', sans-serif;}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * ヘッダー
 *
 *
 *
 *
--------------------------------------------------------------------------------*/


/* ------------------------------ロゴ・メニューバーエリア------------------------------　*/
header {position: fixed; z-index: 999; top:0;}
header #inner {
margin: 0 auto; 
	display:-webkit-box; display:-ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  justify-content: space-between;}
/*
#h1 {margin: 0; padding-left: 10px; }
#h1 img {height: 50px; width: auto; object-fit: contain;}
*/
#header-nav ul.header-menu {display: flex; align-items: center;}
#header-nav ul.header-menu .location {margin-right: 20px;}
#header-nav ul.header-menu .location p {font-size: 12px;}
.location a.tel {display: flex; justify-content: right; color: #fb0000; font-size: 21px; text-align: right;}
.location a.tel img {margin-right: 10px;}




/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * グローバルナビゲーション
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
.header {width: 100%; align-items: center; color: #fff; display: flex; height: 0; justify-content: space-between; padding: 0 15px; position: relative;}
.nav-list {display: flex;}
.nav-item {margin-right: 55px;}
.burger-btn {display: none;}
button {-webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: 0; border-radius: 0; color: inherit; cursor: pointer; font: inherit; margin: 0; outline: none; padding: 0; vertical-align: middle;}
.burger-btn {display: block; height: 39px; width: 39px; z-index: 30; background-color: transparent; border: none; top: 15px; right: 1em; position: fixed; /* mix-blend-mode: difference; */}
.bar {background-color: #373737; display: block; height: 2px; left: 50%; position: absolute; transform: translateX(-50%); width: 30px;}
.bar_top {top: 10px;}
.bar_middle {top: 19px;}
.bar_bottom {bottom: 10px;}
.burger-btn.close .bar {background-color: #fff;}
.burger-btn.close .bar_top {transform: translate(-50%,10px) rotate(45deg); transition: transform .3s; top: 7px;}
.burger-btn.close .bar_middle {transform: translate(-50%,-8px) rotate(-45deg); transition: transform .3s; top: 24px;}
    
.burger-btn.close .bar_bottom {transform: translate(-50%,-8px) rotate(-45deg); transition: transform .3s; bottom: 13px;} 
button.burger-btn.scroll-nav .bar {background-color: #000;}
.nav-wrapper {visibility: hidden; height: 100vh; right: 0; position: fixed; top: 0; width: 100%; opacity: 0; transition: opacity .5s ; z-index: 20;}
.header-nav {background-color: #d77e9a; height: 100%; width: 100%; z-index: 2; padding: 80px 80px; transition: 0.5s ease 0s; overflow-y: scroll;}
.header-nav h1 img {max-width: 170px; display: block; margin: 0 auto 40px;}
.header-nav > div ul {display: flex; flex-wrap: wrap; justify-content: center;}
.header-nav > div ul a {font-size: 20px; padding: 0 15px;}
.nav-list {display: flex; flex-wrap: wrap;}
.nav-list > li {flex-basis: 100%; border-bottom: 2px dotted;}
.nav-list > li a {font-size: 16px; color: #fff; position: relative; color: #fff; text-decoration: none; transition: 0.5s ease 0s; padding: 15px 0; display: block;}
.nav-list > li a span {font-size: 28px; margin-right: 10px;}
.nav-wrapper.fade {opacity: 1; visibility: visible;}
nav.sns-wrapper {margin-left: auto; position: absolute;  right: 4em; top: 20px; z-index: 1;}
nav.sns-wrapper ul {display: flex; justify-content: flex-end;}
nav.sns-wrapper ul a {font-size: 20px; color: #fff; padding: 0 15px;}
.nav-list > li ol {padding-left: 20px;}
.nav-list > li ol li {position: relative; padding-left: 30px;}
.nav-list > li ol li::before {content: ''; width: 20px; height: 1px; position: absolute; background: #fff; top: 30px; left: 0;}
.nav-list ol li a span {font-size: 24px; font-weight: bold;}
.nav-list ol li a {font-size: 14px;}

@media screen and (max-width:766px){
	.header {padding: 0 5%;}
	.header-nav {display: block; padding: 50px 0; overflow: scroll;}
	.header-nav > div ul.header-nav > div ul {position: fixed; top: 20px; right: 0;}
	.header-nav > div ul {display: none;}
	.header-nav > div ul a  {font-size: 30px;}
	.nav-list {padding-left: 0; margin: 0 auto; text-align: left; width: 90%;}
	.nav-item a {padding: 3% 5%;}
	.nav-wrapper {width: 100%;}
	.nav-wrapper.fade {width: 100%;}
	.nav-list > li {padding-right: 2em;}
	.nav-list > li a span {display: block; font-size: 22px;}
	.nav-list > li ol {padding-left: 10px;}
	.nav-list > li ol li {padding-left: 20px;}
	.nav-list > li ol li::before {width: 15px;}
}


/*--------------------------------------------------------------------------------
 *
 * 2カラム
 *
--------------------------------------------------------------------------------*/
main {position: relative;}
main#two-column {display: flex; justify-content: space-between; flex-direction: row-reverse; background: #fdf5f4;}
main.two-column {display: flex; justify-content: space-between; background: #fdf5f4;}
main#two-column::before {content: ''; position: absolute; left: 0px; bottom: -120px; z-index: 2; width: 100%; background-image: url(img/svg/mocomoco.svg); z-index: 2; height: 120px; background-position: center; background-size: contain; background-repeat: repeat-x;}
article#two-column {display: flex; flex-flow: row-reverse; justify-content: space-between; background: #fdf5f4;}
article.right-wrapper {width: calc(100% - 350px);}

@media screen and (max-width:966px){
	article.right-wrapper {width: calc(100% - 300px);}
}

@media screen and (max-width:766px){
	main#two-column  {flex-wrap: wrap;}
	main.two-column {flex-direction: column-reverse;}
	article.right-wrapper {width: 100%;}
}


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * サイドバー
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
aside#sideber_kotei {background: #fdf5f4; width: 330px; padding: 45px;}

#sideber_kotei h1 img {}
#sideber_kotei h1.logo {margin-bottom: 30px;}
#sideber_kotei h1.logo img {margin: 0 auto; width: 140px;}

h2.cat-title {font-size: 18px;
    font-weight: bold;
    position: relative;
    border-bottom: 3px solid #373737;
    padding: 0 0 20px 33px;
    margin-bottom: 10px;
    line-height: 1.5;}
h2.cat-title img {position: absolute; left: 0px; top: 5px; z-index: 1; width: 25px;
    height: 25px;
    object-fit: contain;}
/*
h2.icon-heart::before {content: url(img/svg/icon-heart.svg); position: absolute; left: 0px; top: 14px; z-index: 1;}
h2.icon-memo::before {content: url(img/svg/icon-memo.svg); position: absolute; left: 0px; top: 14px; z-index: 1;}
h2.icon-pen::before {content: url(img/svg/icon-pen.svg); position: absolute; left: 0px; top: 14px; z-index: 1;}
h2.icon-light::before {content: url(img/svg/icon-light.svg); position: absolute; left: 0px; top: 14px; z-index: 1;}
*/

.cat-post {margin: 30px 0;}
ul.cat-list {margin-bottom: 20px;}
ul.cat-list > li {border-bottom: dotted #e496a8; position: relative; padding: 10px 0 10px 22px;}
ul.cat-list > li::before {position: absolute;
    left: 0px;
    top: 15px;
    z-index: 1;
    content: "";
    background-image: url(img/svg/icon-arrow.svg);
    width: 17px;
    height: 17px;
    background-size: contain;}
ul.cat-list h2 {font-size: 16px; margin: 0;}
a.link−arch {background: #5d5d5d; color: #fff; border-radius: 5px; display: block;  padding: 10px; text-align: center; position: relative;}
a.link−arch::after {content: url(img/svg/icon-arrow-w.svg); position: absolute; right: 10px; top: 10px;}

@media screen and (max-width:966px){
	aside#sideber_kotei {width: 300px; padding: 25px;}
}

@media screen and (max-width:766px){
	aside#sideber_kotei {width: 100%;}
	aside#sideber_kotei a.link−arch {background: none; color: #0085b1; border-radius: 0; display: block; padding: 0px 0px; text-align: center; position: relative; width: 90%; margin: 0 0 0 auto; margin-left: auto; text-align: right; text-decoration: underline; font-size: 12px;}
	h2.cat-title {font-size: 16px; padding: 0 0 5px 30px;}
	h2.cat-title img {top: 2px;}
  ul.cat-list h2 {font-size: 14px;}
/*
  h2.icon-pen::before {top: 0px;}
  h2.icon-memo::before {top: 0px;}
  h2.icon-heart::before {top: 0px;}
  h2.icon-light::before {top: -2px;}
*/
  a.link−arch::after {content: none;}
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * メインビジュアル
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
/* ------------------------------トップページヘッダー------------------------------　*/
#page_top #kv {position: relative; 
  background-image: url(img/kv.jpg);
  background-image: image-set(url(img/kv.jpg) 1x, url(img/kv@2x.jpg) 2x);
  background-image: -webkit-image-set(url(img/kv.jpg) 1x, url(img/kv@2x.jpg) 2x);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  height: 620px;
}
#page_top #kv #kv_inner {width: 90%; height: 100%; display: flex; align-items: center; justify-content: center; max-width: 760px; margin: 0 auto;}
#page_top #kv img {margin-top: 50px;}

@media screen and (max-width:766px){
	#page_top #kv {
	background-image: url(img/kv-sp.jpg);
  background-image: image-set(url(img/kv-sp.jpg) 1x, url(img/kv-sp@2x.jpg) 2x);
  background-image: -webkit-image-set(url(img/kv-sp.jpg) 1x, url(img/kv-sp@2x.jpg) 2x);
  height: auto; min-height: 210px;
  background-position: 50% 100%;}
	#page_top #kv #kv_inner {padding: 50px 0;}
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * コンテンツ
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------共通------------------------------　*/
section { width:100%; }
section .inner {max-width:760px; width: 90%; margin:0 auto; padding:50px 0;}
section .ttl { margin : 0 auto 30px; text-align: center;}
section .ttl h1 {font-size: 36px; font-weight: bold; line-height: 1.4; margin-bottom: 0px; font-family: 'Zen Maru Gothic', sans-serif;}
section .ttl p {font-size: 22px; letter-spacing: 2px; color: #e496a8; font-weight: bold;}
.lead {margin-bottom: 40px;}
.lead p {text-align: center;}
.front-ttl {height: 220px; display: flex; justify-content: center; align-items: center; margin-bottom: 0 !important;}
.front-ttl h1 {font-size: 40px !important; }
.front-ttl h1 span {font-size: 37px !important; color: #e496a8;}
a.anchor-link {color: #0085b1; text-decoration: underline; font-weight: bold;}
/*
.btn {background: #0089d7; color:#fff !important; width: 200px; height: 55px; text-align: center; margin: auto; border-radius: 5px; font-weight: bold; font-size: 16px; 
	display:-webkit-box; display:-ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;} 
.btn:hover {background: none; color:#0089d7 !important; border: 1px solid #0089d7;}
*/

.btn-wrapper {text-align: center; margin-top: 20px;}

/*moreボタン*/
.btn-more-wrapper {margin-top: 40px; text-align: center;}
a.btn-more {color: #fff;
    /* font-size: 14px; */
    display: block;
    /* border: 1px solid #fb0000; */
    min-width: 270px;
    max-width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    display: inline-flex;
    padding: 0 40px;
    text-decoration: none !important;
    background: #373737;
    border-radius: 50px;}
/* a.btn-more span {font-size: 12px; display: block; position: absolute; right: 0; bottom: 50%;} */
/* .btn-border{ border-bottom: 1px solid #009e96;  margin-top: 15px; } */

a.btn-cta {background: #fb0000;
  color: #fff;
    /* font-size: 14px; */
    display: block;
    border: 1px solid #fb0000;
    min-width: 270px;
    max-width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    display: inline-flex;
    padding: 0 10px;}
.page_link {margin-top: 60px; padding-top: 60px;}
ul.note-list {margin-top: 10px; text-align: left;}
ul.note-list li {position: relative; padding-left: 1.2em; line-height: 1.8; font-size: 12px;}
ul.note-list li:before {content: "＊"; font-weight: 600; position: absolute; top: 11px; left: 0.5em; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 0;}
ul.note-list li p {font-size: 14px;}

@media screen and (max-width:1026px) {
	section .top-ttl {width: 90%;}
}

@media screen and (max-width:766px) {
	section .inner { width:90%; padding:60px 0; /* overflow: hidden; */}
	.front-ttl {height: auto; padding: 30px 0;}
	.front-ttl h1 {font-size: 30px !important;}
	section .ttl {margin: 0 auto 5%; padding-left: 0; text-align: center;}
	section .ttl h1 {font-size: 28px; margin-bottom: 0px; text-align: center; display: inline-block;}
	section .ttl p {font-size: 18px;}
	.lead p {text-align: left;}
  .btn-wrapper {text-align: center;}
/* .btn-more-wrapper {width: 40%;} */
	.arrow-wrapper {left: -3vw;}
	a.btn-more {padding: 0 10px; min-width: 100%; height: auto; padding: 15px 5px; min-height: 60px;}
	a.btn-cta {padding: 0 10px; min-width: 100%;}
	.page_link {margin-top: 0px; padding-top: 0px;}
}



/* ------------------------------　記事関連（下層）------------------------------　*/
/*
 ul.post { width: 100%; }
 ul.post li { width:100%; padding: 10px 0; background:#fff; 
	display:-webkit-box; display:-ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
ul.post li .date-wrapper .category {display: inline-block; margin: 2px 5px !important;}
ul.post li .category a {padding: 1px 7px; border-radius: 2px; display: inline-block; width: 100%; font-size: 12px; border: 1px solid; border-color: currentColor;}
ul.post li .category a:hover {background: currentcolor; }
ul.post li .date-wrapper .ymd {float: left; padding: 2px 0;}
ul.post li .date-wrapper .ymd:after {content: '/'; padding: 0 10px;}
ul.post li h3 {font-size:24px; margin:20px 0; }
ul.post li p {font-size:18px; margin:0;}

@media screen and (max-width:766px){
	ul.post {margin-top: 25px;}
	ul.post li { width:100%; flex-basis:100%; margin:10px 0;  background:#fff; display: block;}
	ul.post li h3 {font-size: 6vw;}
	ul.post li p {font-size:4vw; margin:0;}
}
*/

/*--------------------------------------------------------------------------------
 * merit
--------------------------------------------------------------------------------*/
.merit .ttl {position: relative; 
  background-image: url(img/merit-ttl.png);
  background-image: image-set(url(img/merit-ttl.png) 1x, url(img/merit-ttl@2x.png) 2x);
  background-image: -webkit-image-set(url(img/merit-ttl.png) 1x, url(img/merit-ttl@2x.png) 2x);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}


ul.merit-wrapper > li {border: 2px solid #373737; background: #fff; border-radius: 20px; padding: 40px; margin-bottom: 30px; display: flex; align-items: center; justify-content: space-between;}
ul.merit-wrapper > li .ttl-wrapper {flex-basis: 30%;}
ul.merit-wrapper > li .ttl-wrapper img {display: block; margin: 0px auto 30px;}
ul.merit-wrapper > li .ttl-wrapper h2 {font-size: 20px; font-weight: bold; text-align: center;}
ul.merit-wrapper > li .txt-wrapper {flex-basis: 65%; border-left: dotted #e496a8; padding-left: 30px;}
ul.merit-wrapper > li .txt-wrapper p {margin-bottom: 0; font-size: 16px;  padding-top: 20px;}

/*
ul.merit-wrapper > li {border: 2px solid #373737; background: #fff; border-radius: 20px; padding: 40px; margin-bottom: 30px;}
ul.merit-wrapper > li .ttl-wrapper {align-items: center; border-bottom: 2px dotted #e496a8; padding-bottom: 5px; margin-bottom: 20px;}
ul.merit-wrapper > li .ttl-wrapper h2 {font-size: 20px; font-weight: bold;text-align: center; margin: 0 auto 10px;}
ul.merit-wrapper > li .ttl-wrapper h2 span  {font-size: 35px;}
ul.merit-wrapper > li .ttl-wrapper h3 {font-size: 26px; font-weight: bold; color: #373737; margin: 0;}
ul.merit-wrapper > li .ttl-wrapper p {font-size: 14px; line-height: 1.6; margin-bottom: 0;}
ul.merit-wrapper > li .ttl-wrapper img {display: block; margin: 0px auto 10px;}
*/


/*
ul.merit-wrapper > li {border: 2px solid #373737; background: #fff; border-radius: 20px; padding: 40px; margin-bottom: 30px; display: flex; align-items: center; justify-content: space-between;}
ul.merit-wrapper > li .ttl-wrapper {flex-basis: 30%;}
ul.merit-wrapper > li .ttl-wrapper img {display: block; margin: 0px auto 30px;}
ul.merit-wrapper > li .ttl-wrapper h2 {font-size: 20px; font-weight: bold; text-align: center;}
ul.merit-wrapper > li .txt-wrapper {flex-basis: 65%; border-left: dotted #e496a8; padding-left: 30px;}
ul.merit-wrapper > li .txt-wrapper p {margin-bottom: 0; font-size: 16px;  padding-top: 20px;}
*/

ul.list-wrapper {width: 100%;}
ul.list-wrapper > li {position: relative; padding: 5px 0 5px 18px;}
ul.list-wrapper > li::before {content: ''; display: block; position: absolute; top: 15px; left: 0; z-index: 1; width: 5px; height: 5px; border: 2px solid #e496a8; background: #e496a8; border-radius: 50%;}s
.merit ul.list-wrapper > li {font-size: 14px;}
.merit ul.list-wrapper > li::before {top: 15px;}

@media screen and (max-width:966px) {
	.merit .ttl {background-size: contain;}
}


@media screen and (max-width:766px) {
  ul.merit-wrapper > li {padding: 6%;}
  ul.merit-wrapper > li .ttl-wrapper h2 {font-weight: bold; font-size: 16px;}
  ul.merit-wrapper > li .ttl-wrapper h2 span {font-size: 25px; margin: 0 10px 0 0;}
  ul.merit-wrapper > li .ttl-wrapper h3 {font-size: 18px; line-height: 1.5;}
  
  ul.merit-wrapper > li {flex-wrap: wrap;}
	ul.merit-wrapper > li .ttl-wrapper {flex-basis: 100%; border-bottom: dotted #e496a8;}
	ul.merit-wrapper > li .txt-wrapper {flex-basis: 100%; padding-left: 0; border-left: none;}
}

/*--------------------------------------------------------------------------------
 * service
--------------------------------------------------------------------------------*/
.service .ttl {position: relative; 
  background-image: url(img/service-ttl.png);
  background-image: image-set(url(img/service-ttl.png) 1x, url(img/service-ttl@2x.png) 2x);
  background-image: -webkit-image-set(url(img/service-ttl.png) 1x, url(img/service-ttl@2x.png) 2x);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

ul.service-wrapper {display: flex; flex-wrap: wrap;}
ul.service-wrapper > li {flex-basis: 31%; background: #fff; padding: 30px 20px; text-align: center; border: 2px solid #373737; margin: 8px 1%; border-radius: 15px;}
ul.service-wrapper > li .img-wrapper {width: 135px; height: 135px; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px;}
ul.service-wrapper > li p {font-weight: bold; position: relative; display: inline-block; padding-left: 25px;}
ul.service-wrapper > li p::before {content: url(img/svg/icon-arrow.svg); position: absolute; top: 4px; left: 0px; z-index: 1;}

@media screen and (max-width:966px) {
	.service .ttl {background-size: contain;}
}

@media screen and (max-width:766px) {
	ul.service-wrapper {justify-content: space-between;}
	ul.service-wrapper > li {flex-basis: 49%; margin: 8px 0;}
	ul.service-wrapper > li .img-wrapper {width: 100px; height: 100px;}
}



/*--------------------------------------------------------------------------------
 * price
--------------------------------------------------------------------------------*/
.price .ttl {position: relative; 
  background-image: url(img/price-ttl.png);
  background-image: image-set(url(img/price-ttl.png) 1x, url(img/price-ttl@2x.png) 2x);
  background-image: -webkit-image-set(url(img/price-ttl.png) 1x, url(img/price-ttl@2x.png) 2x);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
h2.comment {font-size: 25px; font-weight: bold; text-align: center;}
.price-wrapper {background: #fff; border: 3px solid #373737; border-radius: 20px;}
.price-wrapper:not(:last-of-type) {margin-bottom: 50px;}
.price-wrapper h2 {background: #fbceda; font-size: 30px; font-weight: bold; text-align: center; border-radius: 20px 20px 0 0; padding: 15px 10px; margin: 0;}
.price-wrapper .txt-wrapper {padding: 40px;}
.price-wrapper .s_03 {padding: 40px;}
.price-wrapper .s_03 p {margin-bottom: 20px;}
.price-wrapper .subheading {border-bottom: 1px solid #e496a8; font-weight: bold;}
.price-wrapper .subheading h4 span.en {display: block; color: #e496a8; font-weight: normal;}

@media screen and (max-width:966px) {
	.price .ttl {background-size: contain;}
}

@media screen and (max-width:966px) {
	h2.comment {font-size: 18px;}
	.price-wrapper h2 {font-size: 20px; padding: 10px 10px;}
	.price-wrapper .txt-wrapper {padding: 20px;}
}


/*=======================アコーディオン最初だけ開いてるver==========================*/
.s_03 .accordion_one .accordion_header {margin-bottom: 20px; position: relative; z-index: +1; cursor: pointer; transition-duration: 0.2s;}
.accordion_header h4 {padding-right: 25px;}
.s_03 .accordion_one .accordion_header .i_box {display: flex; justify-content: center; align-items: center; position: absolute; top: 50%; right: 0; margin-top: -10px; box-sizing: border-box;
  -webkit-transform: rotate(45deg); transform: rotate(45deg); transform-origin: center center; transition-duration: 0.2s;}
.s_03 .accordion_one .accordion_header.stay .i_box {-webkit-transform: rotate(0deg); transform: rotate(0deg);}
.s_03 .accordion_one .accordion_header .i_box .one_i {display: block; width: 18px; height: 18px; -webkit-transform: rotate(45deg); transform: rotate(45deg); transform-origin: center center; transition-duration: 0.2s; position: relative;}
.s_03 .accordion_one .accordion_header.stay .i_box .one_i {-webkit-transform: rotate(0deg); transform: rotate(0deg);}
.s_03 .accordion_one .accordion_header.stay.open .i_box .one_i {-webkit-transform: rotate(45deg); transform: rotate(45deg);}
.s_03 .accordion_one .accordion_header.open .i_box {-webkit-transform: rotate(0deg); transform: rotate(0deg);}
.s_03 .accordion_one .accordion_header.stay.open .i_box {-webkit-transform: rotate(315deg); transform: rotate(315deg);}
.s_03 .accordion_one .accordion_header .i_box .one_i:before, 
.s_03 .accordion_one .accordion_header .i_box .one_i:after {display: flex; content: ''; background-color: #e496a8; border-radius: 10px; width: 22px;
  height: 1px; position: absolute; top: 10px; left: -4px; -webkit-transform: rotate(0deg); transform: rotate(0deg); transform-origin: center center;}
.s_03 .accordion_one .accordion_header .i_box .one_i:before {width: 2px; height: 22px; top: 0; left: 7px;}
.s_03 .accordion_one .accordion_header.stay .i_box .one_i:before {content: none;}
.s_03 .accordion_one .accordion_header.open .i_box .one_i:before {content: none;}
.s_03 .accordion_one .accordion_header.stay.open .i_box .one_i:before {content: "";}
.s_03 .accordion_one .accordion_header.open .i_box .one_i:after {-webkit-transform: rotate(-45deg); transform: rotate(-45deg);}
.s_03 .accordion_one .accordion_header.stay.open .i_box .one_i:after {-webkit-transform: rotate(0deg); transform: rotate(0deg);}
.s_03 .accordion_one .accordion_inner {display: none; box-sizing: border-box;}
.s_03 .accordion_one .accordion_inner.stay {display: block;}
.s_03 .accordion_one .accordion_inner .box_one {height: auto; margin-bottom: 40px;}

/*-----------------------price-table--------------------*/
table.price-table {width: 100%; line-height: 1.5;}
table.price-table th {background: #fdf5f4; padding: 10px; border: 1px solid #333333;}
table.price-table td {background: #fff; padding: 10px; border: 1px solid #333333; }
table.price-table thead th {font-size: 16px; font-weight: bold; width: 60%;}
table.price-table thead th span.en {display: block;}
table.price-table tbody th {font-size: 16px; font-weight: bold; text-align: left; vertical-align: middle;}
table.price-table tbody th span.ja {display: block; font-size: 14px; font-weight: normal;}
table.price-table tbody th span.en {display: block; font-size: 14px; font-weight: normal;}
table.price-table tbody td {text-align: right; vertical-align: middle;}
table.price-table tbody td span.cost {color: #e496a8; font-size: 24px; font-weight: bold;}
table.price-table tbody td span.cost-02 {color: #e496a8; font-size: 18px; font-weight: bold;}
table.price-table ul.note-list {text-align: right;}
table.price-table ul.note-list li {display: inline-block; padding-left: 12px;}
table.price-table ul.note-list li:before {top: 11px; left: 5px;}

@media screen and (max-width:766px) {
  .price-wrapper .s_03 {padding: 20px;}
  .accordion_header h4 {margin-bottom: 10px;}
  .s_03 .accordion_one .accordion_header {margin-bottom: 10px;}
  
  table.price-table thead th {font-size: 14px;}
  table.price-table tbody th {font-size: 14px;}
  table.price-table tbody th span.ja {font-size: 12px;}
  table.price-table tbody th span.en {font-size: 10px;}
  table.price-table tbody td span.cost {font-size: 18px;}
  table.price-table tbody td span.cost-02 {font-size: 14px;}
  
}




/*--------------------------------------------------------------------------------
 * area
--------------------------------------------------------------------------------*/
.area .ttl {position: relative; 
  background-image: url(img/area-ttl.png);
  background-image: image-set(url(img/area-ttl.png) 1x, url(img/area-ttl@2x.png) 2x);
  background-image: -webkit-image-set(url(img/area-ttl.png) 1x, url(img/area-ttl@2x.png) 2x);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.area-wrapper {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; border: 3px solid #373737; border-radius: 20px; background: #fff; padding: 40px;}
.area-wrapper .txt-wrapper {flex-basis: 80%;}
.area-wrapper .txt-wrapper h2 {font-size: 28px; font-weight: bold; padding-bottom: 20px; border-bottom: 2px dotted #e496a8;}
.area-wrapper .img-wrapper {flex-basis: 20%;}

@media screen and (max-width:966px) {
	.area .ttl {background-size: contain;}
}

@media screen and (max-width:766px) {
	.area-wrapper {padding: 20px; flex-direction: column-reverse;}
	.area-wrapper .img-wrapper {flex-basis: 100%; margin-bottom: 20px;}
	.area-wrapper .img-wrapper img {height: 150px;}
	.area-wrapper .txt-wrapper h2 {font-size: 18px; padding-bottom: 10px; margin-bottom: 10px;}
}



/*--------------------------------------------------------------------------------
 * blog
--------------------------------------------------------------------------------*/
.blog .ttl {position: relative; 
  background-image: url(img/blog-ttl.png);
  background-image: image-set(url(img/blog-ttl.png) 1x, url(img/blog-ttl@2x.png) 2x);
  background-image: -webkit-image-set(url(img/blog-ttl.png) 1x, url(img/blog-ttl@2x.png) 2x);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width:966px) {
	.blog .ttl {background-size: contain;}
}


/* ------------------------------　記事関連（下層）------------------------------　*/
ul.post { width: 100%; display:-webkit-box; display:-ms-flexbox; display:flex; flex-wrap: wrap;}
ul.post li {flex-basis: 32%;
    margin: 10px 0.5%;
    position: relative;
/*     border: 2px solid #373737; */
    background: #fff;
    border-radius: 15px;
    padding: 20px;}
ul.post li .img-wrapper {position: relative;}
/* ul.post li:nth-child(3n+2) {margin: 10px 4%;}  */
/* .new-tag { color: #fff; background: #fb0000; position: absolute; left: 0; top: 0; padding: 0 20px;} */

.new {display: inline-block;
    position: absolute;
    top: 0;
    right: 10px;
    margin: 0;
    padding: 10px 0px;
    z-index: 2;
    width: 50px;
    text-align: center;
    font-size: 16px;
    color: white;
    background: #e496a8;}
.new::after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 25px solid #e496a8;
  border-right: 25px solid #e496a8;
  border-bottom: 10px solid transparent;
}
    
ul.post li .date-wrapper {margin-bottom: 10px; display: flex; flex-wrap: wrap; align-items: baseline;}
ul.post li img {width: 100%; margin-bottom: 10px; height: 130px; object-fit: cover;}
.category {display: inline-block;
    background: #e496a8;
    padding: 1px 9px;
    color: #fff;
    font-weight: bold;
    top: 0;
    left: 0;
    font-size: 12px;
    margin-right: 10px;
    /* vertical-align: middle; */
    display: inline-block;
    position: absolute;
    left: 0;}
.ymd {margin-right: 10px !important; font-size: 16px; /* float: left; */}
/* ul.post li .date-wrapper .ymd {float: left; padding: 2px 0;} */
ul.post li p {margin:0;}
ul.post li h3 {clear: both; font-size:18px; font-weight:bold; margin-bottom: 10px; }

/*
@media screen and (max-width:766px){
	ul.post li { width:100%; flex-basis:100%; margin:10px 0;  background:#fff; display: block;}
	ul.post li:nth-child(3n+2) {margin: 10px 0;}
	ul.post li h3 {margin-top: 10px;}
	ul.post li .category {font-size: 12px; margin-left: 10px;}
}
*/

@media screen and (max-width:766px){
	ul.post li { width:100%; flex-basis:100%; margin:10px 0; /* padding:7%;  */background:#fff; }
	ul.post li img {height: 200px;}
	
}

/*--------------------------------------------------------------------------------
 * flow
--------------------------------------------------------------------------------*/
.flow .ttl {position: relative; 
  background-image: url(img/flow-ttl.png);
  background-image: image-set(url(img/flow-ttl.png) 1x, url(img/flow-ttl@2x.png) 2x);
  background-image: -webkit-image-set(url(img/flow-ttl.png) 1x, url(img/flow-ttl@2x.png) 2x);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
ol.flow-wrapper {counter-reset: number; display: flex; flex-wrap: wrap;}
ol.flow-wrapper > li {position: relative; padding: 40px 20px 20px 20px; flex-basis: 31%; background: #fff; border: 2px solid #373737; margin: 5% 1%;}
ol.flow-wrapper > li::before {position: absolute; counter-increment: number; content: counter(number); display: inline-block; color: #fff; font-family: 'Oswald', sans-serif;  font-weight: bold;
width: 50px; height: 50px; z-index: 1; font-size: 20px;  background: #e496a8; border-radius: 50%; display: flex; justify-content: center; align-items: center; top: 0; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
ol.flow-wrapper > li:not(:last-of-type) ::after {content: ""; position: absolute; top: 50%; right: -30px; margin-top: -14px; border: 14px solid transparent; border-left: 14px solid #373737; z-index: 1;}
ol.flow-wrapper > li h2 {font-size: 18px; font-weight: bold; border-bottom: 2px dotted #e496a8; text-align: center; padding-bottom: 10px; margin-bottom: 10px;}
ol.flow-wrapper > li p:not(:last-of-type) {margin-bottom: 5px;}

@media screen and (max-width:966px){
	ol.flow-wrapper > li {flex-basis: 48%;}
}

@media screen and (max-width:766px){
	ol.flow-wrapper > li {flex-basis: 100%; margin-bottom: 25px;}
	ol.flow-wrapper > li:not(:last-of-type) ::after {left: 50%; margin-left: -15px; border: 15px solid transparent; border-top: 15px solid #373737; right: 50%; top: 100%; margin-top: 0;}
}

/*--------------------------------------------------------------------------------
 * cta
--------------------------------------------------------------------------------*/
.cta {background: #fff; position: relative;}
.cta .inner {max-width: 760px; width: 90%; margin: 0 auto; padding: 200px 0 70px 0;}
.cta h2,
.cta h3 {font-size: 26px; text-align: center;}
.cta p {text-align: center; font-size: 20px;}
.cta ul {
	display:-webkit-box; display:-ms-flexbox; display: flex; justify-content: space-between;}
.cta ul li {flex-basis: 48%;}
.cta ul li a {width: 100%; border-radius: 10px; text-align: center; line-height: 1.7; height: 80px; position: relative;
	display: -webkit-box; display: -ms-flexbox; display: flex;
   -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; align-items: center;}
.btn-tel a {background: #0085b1; color: #fff; font-weight: bold; font-size: 18px; -webkit-box-shadow: 0 3px 8px rgb(0 0 0 / 20%); box-shadow: 0 3px 8px rgb(0 0 0 / 20%);}
.btn-contact a {background: #e2819b; color: #fff; font-weight: bold; font-size: 18px; -webkit-box-shadow: 0 3px 8px rgb(0 0 0 / 20%); box-shadow: 0 3px 8px rgb(0 0 0 / 20%);}
.cta ul li i {color: #fff; position: absolute; font-size: 39px; top: 50%; left: 13%; 
	-ms-transform: translate(-50%,-50%); 
	-webkit-transform: translate(-50%,-50%); 
	transform: translate(-50%,-50%); }
.cta ul li p {font-weight: bold; margin-bottom: 0; font-feature-settings: "palt"; letter-spacing: 1px;}
.cta img {max-width: 380px; width: 100%; margin: 20px auto 0;}

@media screen and (max-width:966px) {
	.cta ul {justify-content: space-between;}
	.cta ul li {width: calc(48%); margin: 0;}

}

@media screen and (max-width:766px) {
	.cta .ttl h2 {text-align: center;}
	.cta .ttl h3 {text-align: center; top: 50%; left: 50%; 
		-webkit-transform: translate(-50%,-50%); 
		transform: translate(-50%,-50%);}
	.cta p {font-size: 14px;}
	.cta ul {display: block;}
	.cta ul li {width :100%; position: relative; margin-bottom: 5%;}
	.cta ul li:last-child {margin-bottom: 0;}
	.cta ul li a {padding: 0; width: 100%; height: 70px; border-radius: 10px;
    display:-webkit-box; display:-ms-flexbox; display: flex; 
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
  .cta ul li i {position: absolute; font-size: 39px; top: 50%; left: 10%; 
	  -ms-transform: translate(-50%,-50%); 
	  -webkit-transform: translate(-50%,-50%); 
	  transform: translate(-50%,-50%);}
  .cta ul li p {font-size: 16px;}
}

/*--------------------------------------------------------------------------------
 * お問い合わせフォーム
--------------------------------------------------------------------------------*/
form dl {width: 100%; padding: 20px 0; border-bottom: dotted #e496a8;}
form dt {font-size:16px; font-weight: bold; margin-bottom: 10px;}
.half-wrapper {display: flex; justify-content: space-between; align-items: center; padding: 10px 0;}
.half {flex-basis: 50%; display: flex; align-items: center;}
.half span {margin-right: 7px;}
.half-wrapper select {width: 100%;}
.time-wrapper h2 {font-size: 16px; margin-bottom: 10px;}

.half-wrapper input.wpcf7-form-control.wpcf7-text {width: 48%; margin-right: 10px;}
/* .date-wrapper {display: flex; align-items: baseline; margin: 20px 0; justify-content: space-between;} */
.date-wrapper h3 {font-size: 16px; font-weight: bold; margin: 0 10px 0 0;}
.date-wrapper h4 {font-size: 14px; font-weight: bold; margin: 0;}
.date-wrapper .container {width: auto;}
.p-postal-code {width: 30%; margin-left: 10px;}
.wpcf7-validates-as-date {
    /* background: red; */
    border: 1px solid #eee;
    padding: 15px 5px;
    background: #eee;
    border-radius: 5px;
}


@media screen and (max-width:766px){
  form dl {display: block;}
	ul.note-list li-02 {font-size: 14px; line-height: 1.6;}
	ul.note-list-02 li:before {top: 10px;}
	ul.note-list-02 li p {font-size: 12px; line-height: 1.6;}
	.contact-wrapper {padding: 7% 5%;}
	.half-wrapper {display: block;}
	.half {margin: 10px 0;}
}






/* ------------------------------プレースホルダーの色・サイズ指定------------------------------　*/
input::-webkit-input-placeholder {color:#ccc; font-size:14px; }
input:-moz-placeholder {color:#ccc; font-size:14px; }
textarea::-webkit-input-placeholder {color:#ccc; font-size:14px; }
textarea:-moz-placeholder {color:#ccc; font-size:14px; }

/* ------------------------------コンタクトフォーム７------------------------------　*/
.wpcf7 p { padding:0; margin:0; line-height:2; }
.wpcf7 input, 
.wpcf7 textarea , 
.wpcf7 select {font-size: 16px;}

.wpcf7 input[type="text"], 
.wpcf7 input[type="tel"], 
.wpcf7 input[type="email"]{ border: 1px solid #eee; padding: 15px;  background: #eee; border-radius: 5px;}
input.wpcf7-number {border: 1px solid #eee; padding: 15px;  background: #eee; border-radius: 5px;}
.wpcf7 textarea {width: 100%; height:200px; border: 1px solid #808080; padding: 15px;}
input:-webkit-autofill{box-shadow: 0 0 0px 1000px #fff inset;}
.wpcf7 input[type="text"]:focus, 
.wpcf7 input[type="tel"]:focus, 
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus { border:1px solid #009e96 !important;}
.wpcf7-captchac { outline:1px solid #ccc; }
.wpcf7-spinner{width:0 !important; margin:0 !important; display: none !important;}

span.wpcf7-form-control.wpcf7-checkbox {
    /* background: red; */
    display: inline-flex;
    flex-wrap: wrap;
    margin: 10px 20px 20px 0;
    
}
span.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {margin-right: 30px !important; padding: 5px 0; position: relative; cursor: pointer; margin: 0 30px 0 0;}
span.wpcf7-list-item label {display: block; padding-left: 20px;}
a.anchor {color: #0085b1; text-decoration: underline; margin: 0 5px; display: inline-block;}

@media screen and (max-width:768px){
  .wpcf7 input[type="text"], 
  .wpcf7 input[type="tel"], 
  .wpcf7 input[type="email"]{width: 100%;}
  span.wpcf7-form-control.wpcf7-checkbox {display: block;}
  span.wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {margin-right: 0px !important; padding: 3% 0;}
  .wpcf7 textarea {height: 150px;}
  span.wpcf7-form-control.wpcf7-checkbox {margin: 10px 0px 20px 0;}
  span.wpcf7-list-item label {padding-left: 0px;}
}

/* ------------------------------エラー個所をわかりやすく表示------------------------------　*/
.wpcf7 .wpcf7-not-valid { background:#ffb6c1;}
.wpcf7 span.wpcf7-not-valid-tip { font-size:80%; margin-top: 10px;}
.wpcf7 .wpcf7-response-output {margin:10px 0 0; padding:8px 35px 8px 14px; text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius:4px; border-radius:4px; }
.wpcf7 .wpcf7-validation-errors { color:#B94A48; background-color:#F2DEDE; border:1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok { color:#3A87AD; background-color:#D9EDF7; border:1px solid #BCE8F1;}
/* 必須赤色表示 */
.wpcf7 .required { color: #000000;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}
select {height: 50px; -webkit-appearance: none; appearance: none; border-radius: 5px; border: 1px solid #eee; padding: 15px; background: #eee; }
form .container {
    position: relative;
width: 30%; 
}

/* セレクトボックスの矢印デザイン変更 */
.hissu{color: #fff; font-weight: bold; border-radius: 1px; margin-left: 0.5em; font-size: 12px; background: #e496a8; padding: 1px 5px;}
.nini{ background:#777777; color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-weight:bold; border-radius:3px; font-size:12px; }


/* ------------------------------承諾ボタン------------------------------　*/
.acceptance-wrapper {display: flex; justify-content: center; margin-top: 20px;}
.acceptance-wrapper .wpcf7-form-control-wrap {display: block;}
span.wpcf7-form-control-wrap.acceptance {text-align: center; display: block;  margin-top: 50px;}
span.wpcf7-form-control-wrap.acceptance a {/* color: #0089d7;  */text-decoration: underline;} 
span.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {width: 100% !important;}

@media screen and (max-width:768px){
	span.wpcf7-form-control-wrap.acceptance {text-align: left;}
	span.wpcf7-form-control.wpcf7-acceptance {text-align: left; padding: 0;}
	span.wpcf7-form-control.wpcf7-acceptance span {text-align: left;}
	.container {width: 100%;}
	.container::after {top: 40%;}
}



/* ------------------------------送信ボタン------------------------------　*/

input[type="submit"] { -webkit-appearance:none; margin:0 auto; }
.contact-wrapper .btn-wrapper {text-align: center;}
div.wpcf7 .wpcf7-submit:disabled {cursor: not-allowed; background: #eee; height: 60px; border: 2px solid #eee; width: 300px;} 
div.wpcf7 .wpcf7-submit {height: 60px;
    border: 2px solid #373737;
    max-width: 300px;
    width: 100%;
    background: #373737;
    cursor: pointer;
    letter-spacing: 2px !important;
    color: #fff;
    transition: all 0.3s;
    border-radius: 50px;}



/*
input.wpcf7-form-control.has-spinner {
  height: 60px; border: 2px solid #272d63; 
    width: 300px;
    background: #272d63;
    cursor: pointer;
    letter-spacing: 2px !important;
    color: #fff;
    transition: all 0.3s;
}
*/

/* ------------------------------チェックボックス、ラジオボタンのデザイン------------------------------　*/
input[type="radio"] {opacity: 0; position: absolute; z-index: 1;}
input[type="radio"]:checked ~ .wpcf7-list-item-label::before {background-color: #fb0000;  border: 1px solid #fb0000; z-index: 2;}
input[type="checkbox"] {opacity: 0; position: absolute; left: 0; cursor: pointer; z-index: 10;}
input[type="checkbox"]:checked ~ .wpcf7-list-item-label::before {background-color: #fb0000;  border: 1px solid #fb0000; position: absolute; top: 20%; z-index: 2;}
.span.wpcf7-form-control-wrap.your-contents { display: block; margin-top: 20px;}
.wpcf7-list-item {padding: 0.7em 0; display: inline-block; margin: 0 30px 0 0!important; /* width: 30%; */ line-height: 1.7;}
.wpcf7-list-item-label {cursor: pointer; position: relative; padding-left: 10px; display: block;}

.wpcf7-list-item-label::before {background: #fff; border: 1px solid #808080; content: ""; height: 1em; margin-bottom: auto; margin-right: 0.5em; margin-top: auto; transition: background-color .5s; width: 1em; display: inline-block; position: absolute; left: -15px; top: 20%;  z-index: 2;}

@media screen and (max-width:766px){
  input[type="checkbox"]:checked ~ .wpcf7-list-item-label::before {left: 0px; top: 0.4em;}
  .wpcf7-list-item-label {padding-left: 25px;}
  .wpcf7-list-item-label::before {left: 0px; top: 0.4em;}
  .wpcf7-list-item {width: 100%; margin: 0 !important;}
}







/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * フッター
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
footer {background: #fbceda;}
.footer-top ul {display: flex; flex-wrap: wrap; max-width: 1000px; margin: 0 auto; text-align: center; padding: 0;}
.footer-top ul > li a {display: block; padding: 30px 25px; font-size: 14px; font-weight: bold;}
.footer-bottom {display: flex; justify-content: center; background: #f5f5f5; padding: 50px;}
.footer-bottom .txt-wrapper {margin-right: 30px; flex-basis: 30%;}
.footer-bottom ul.footer-list {display: flex; flex-wrap: wrap; flex-basis: 65%;}
.footer-bottom ul.footer-list > li a {padding: 10px 30px 10px 15px; display: block; position: relative;}
.footer-bottom ul.footer-list > li a::before {content: '';
    display: block;
    position: absolute;
    top: 17px;
    left: 0;
    z-index: 1;
    width: 5px;
    height: 5px;
    border: 2px solid #e496a8;
    background: #e496a8;
    border-radius: 50%;
}
.footer-bottom li.service-list {flex-basis: 100% !important;}
.footer-bottom li.service-list ol {display: flex; flex-wrap: wrap;}
.footer-bottom li.service-list ol li a {padding: 10px 20px 10px 30px;}
.footer-bottom li.service-list ol li a::before {content: ' | ';
    font-size: 14px;
    padding: 0 5px;
    /* color: #fff !important; */
    background: none;
    border: none;
    position: absolute;
    top: 10px;
    left: 0;}

.footer-bottom h2 {font-size: 16px; margin: 10px 0 5px 0; font-weight: bold;}
.footer-bottom p {font-size: 14px;}
address {background: #373737; padding: 20px; text-align: center; color: #fff; font-size: 10px;}

@media screen and (max-width:766px){
	.footer-top ul > li {width: 100%; flex-basis: 50%;}
	.footer-top ul > li a {text-align: left; padding: 20px 25px;}
	.footer-bottom {flex-wrap: wrap; padding: 30px 10px;}	
	
	
	.footer-bottom .txt-wrapper {margin-right: 0; flex-basis: 100%; text-align: center; margin-bottom: 20px;}
	.footer-bottom .txt-wrapper img {margin: 0 auto;}
	.footer-bottom ul.note-list {text-align: center;}
	.footer-bottom ul.note-list li {display: inline-block;}
	.footer-bottom ul.footer-list {flex-basis: 100%;}
	.footer-bottom ul.footer-list > li {flex-basis: 50%;}
	.footer-bottom li.service-list {margin-bottom: 20px;}
	.footer-bottom li.service-list ol li {flex-basis: 50%;}
	.footer-bottom li.service-list ol li a {padding: 10px 0px 10px 17px; font-size: 12px;}

	footer p {font-size: 14px; text-align:center; margin:0; }
	address {font-size: 10px; text-align: center; line-height: 1.5; padding: 10px;}
}


/* ------------------------------グローバルナビ上部固定------------------------------　*/
.fixed { position:fixed; top:0; width:100%; z-index:10000; }
@media screen and (max-width:766px){
.fixed { position:static; }
}

/* ------------------------------ページ下部問い合わせボタン------------------------------　*/
#cta_mail {border-radius: 50%; position: fixed; bottom: 20px; right: 20px; width: 80px; height: 80px; background: #fff; display: flex; align-items: center; justify-content: center; z-index: 100; box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);}

@media screen and (max-width:766px){
	#cta_mail {width: 60px; height: 60px;}
	#cta_mail img {width: 30px;}
}


/* ------------------------------ページ下部固定CTA_SP------------------------------　*/
#buttonTow , #buttonTow a { display:none; }
@media screen and (max-width:766px){
#buttonTow { position:fixed; bottom:0;  width:100%; height:auto; z-index:1000; }
#buttonTow ul { display: flex; justify-content: space-between; border-top: 1px solid #fff;}
#buttonTow ul > li {flex-basis: 50%;}
#buttonTow ul > li:first-of-type {background: #000;}
#buttonTow ul > li:last-of-type {background: #fb0000;}
#buttonTow a {
	height: 50px;
	
    transition: .3s ease;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align:center; font-size:13px; color:#ffffff; font-weight: 700;}
/* #buttonTow a { display:block; } */
#buttonTow a img {width: 5vw; margin-right: .5em;}
#buttonTow a:hover { text-decoration:none;}
}

/* ------------------------------ページ下部固定CTA_PC------------------------------　*/
#buttonPc { position:fixed; bottom:0; width:100%; height:auto; z-index:1000; background:#f08300; }
#buttonPc a#pc_box { display:block; width:100%; height:auto; color:#ffffff; padding:15px 0; text-align:center; font-size:16px; }
 #buttonPc a:hover { text-decoration:none }

@media screen and (max-width:768px){
	#buttonPc { display:none; }
	#buttonPc a#pc_box { display:none; }
}

/* ------------------------------ページトップへ戻る------------------------------　*/
.scrolled .page_top_btn {
	display: none !important;
}
.page_top_btn {
	display: none !important;
}
/*
#pageTop { position:fixed; bottom:80px; right:20px; z-index: 999;}
.scrolled .page_top_btn {
    display: block;
    opacity: 1;
    color: transparent;
    background: none;
    border: none;
    box-shadow: none;
}
*/
/*
#pageTop a { display: block;
    z-index: 999;
    margin: 0;
    padding: 0;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    border: 1px solid #e5e5e5;}
#pageTop a:hover { text-decoration:none; opacity:0.7; }

@media screen and (max-width:768px){
	#pageTop , #pageTop a { display:none; }
}
*/

/* ------------------------------アコーディオン------------------------------　*/
dl.accordion , .accordion dt, .accordion dd { margin:0; padding:0; }
dl.accordion { margin:20px 0; padding-bottom:20px; border-bottom:1px dotted #000000; display: block;}
.accordion dt { display:block; width:100%; height:auto; line-height:1.4; padding:0px 30px 0px 30px; cursor:pointer; margin: 0; position: relative;}
.accordion dt:after {content: ''; border-top: 2px solid #fb0000; border-right: 2px solid #fb0000; position: absolute; top: 50%; right: 0; width: 7px; height: 7px; -webkit-transform: rotate(135deg); transform: rotate(135deg); z-index: 5;}
.accordion dt.close { box-shadow:none }
.accordion dt.close:after {-webkit-transform: rotate(315deg); transform: rotate(315deg);}
.accordion dd { width:100%; height:auto; display:none; margin:0; padding:30px 30px 10px 30px; position: relative; width: 96%; margin-left: auto;}
.accordion dd p { color:#000000; }
.accordion dd img { border-radius:20px; border:3px solid #000000; box-shadow:6px 6px rgba(0,0,0,0.3); margin:0 0 30px 0;}
.accordion br { display:inline; }
.accordion dt:before { content:'Q.'; font-size:20px;margin-right:20px; font-weight: bold; position: absolute; left: 0; top: -2px;}
.accordion dd:before { content:'A.'; font-size:20px;margin-right:20px; color: #fb0000; font-weight: bold; position: absolute; left: 0; top: 27px;}

@media screen and (max-width:768px){
	dl.accordion { font-size:14px; }
	.accordion dd p { font-size:14px; }
}



/* ------------------------------フェードインアニメーション------------------------------　*/
/* .sa {opacity: 0; transition: all .9s ease; }  *//* ノーマル */
/* .sa.show {opacity: 1; transform: none; } */ /* ノーマル */
/* .sa-lr {transform: translate(-100px, 0); overflow: hidden;} */ /* 右から */
/* .sa-rl {transform: translate(100px, 0); overflow: hidden;}  *//* 左から */
/* .sa-up {transform: translate(0, 100px); } */ /* 下から */
.sa-down {transform: translate(0, -100px); } /* 上から */
.sa-scaleUp {transform: scale(.5); } /* 縮小→拡大 */
.sa-scaleDown {transform: scale(1.5); } /* 拡大→縮小 */
.sa-rotateL {transform: rotate(180deg); } /* 左回転 */
.sa-rotateR {transform: rotate(-180deg); } /* 右回転 */

/*
@media screen and (max-width:768px){
	.sa-lr,.sa-rl {transform: translate(0, 100px); } 
}
*/

/* ------------------------------ふわふわ------------------------------　*/
@keyframes horizontal {
    0% { transform:translateX( -5px); }
  100% { transform:translateX(  0px); }
}
@keyframes vertical {
    0% { transform:translateY(-5px); }
  100% { transform:translateY(  0px); }
}
img.huwahuwa { animation: horizontal 2s ease-in-out infinite alternate; }
img.huwahuwa { animation: vertical 2s ease-in-out infinite alternate; }
img.huwa01 { animation-duration: 1.1s}
img.huwa02 { animation-duration: 1.3s}
img.huwa03 { animation-duration: 1.5s}

/* ------------------------------吹き出しを作る------------------------------　*/
.balloon { margin:0 0 2em 0; position:relative; }
.balloon:before,.balloon:after { clear:both; content: ""; display: block; }
.balloon figure { width:80px; height:80px; margin:0; padding:0; }
.balloon-image-left {float:left; margin-right:20px; margin-left:0; }
.balloon-image-right {float:right; margin-left:20px; }
.balloon figure img { width:100%; height:100%; border-radius:50%; border:1px solid #cccccc; }
.balloon-image-description { padding:5px 0 0; font-size:10px; text-align:center; }

.balloon-text-right,
.balloon-text-left { position:relative; padding:15px 20px; border-radius:10px; max-width: -webkit-calc(100% - 120px); max-width: calc(100% - 120px); display:inline-block; background:#ffffff; border:1px solid #cccccc; }
.balloon-text-right { float:left; margin-left:10px; }
.balloon-text-left { float:right; margin-right:10px; background:#00bee6; }
.balloon-text-left p { color:#ffffff; }

.balloon p { margin:0; padding:0; font-size:14px; }
.balloon p:last-child { margin-bottom:0; }
/* 三角部分 */
.balloon-text-right:before {position:absolute; content: ''; border:10px solid transparent; border-right:10px solid #cccccc; top:15px; left:-20px; }
.balloon-text-right:after {position:absolute; content: ''; border:10px solid transparent; border-right:10px solid #fff; top: 15px; left:-19px; }
.balloon-text-left:before {position:absolute; content: ''; border:10px solid transparent; border-left:10px solid #cccccc; top: 15px; right:-20px; }
.balloon-text-left:after {position:absolute; content: ''; border:10px solid transparent; border-left:10px solid #00bee6; top:15px; right:-19px; }

@media screen and (max-width:766px){
	.balloon figure {width:60px; height:60px; }
	.balloon figure img { border:3px solid #f5f5f5; }
	.balloon-text-right,.balloon-text-left { max-width: -webkit-calc(100% - 80px); max-width: calc(100% - 80px); }
	.balloon p { font-size:12px; }
}