@charset "utf-8";
/*
theme Name: suzuran
Author: すずらん司法書士事務所
Description: suzuran theme
version： 1.0
*/
/*!
 * ress.css • v3.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */html{box-sizing:border-box;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[disabled]{cursor:default}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer;color:inherit}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,textarea{background-color:transparent;border-style:none}legend{border:0;color:inherit;display:table;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}img{border-style:none;vertical-align: bottom;}progress{vertical-align:baseline}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}
ol,
ul {
    list-style: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
p {
	margin-bottom: 1em;
}
/*==================================
common
==================================*/

html{
	font-size:62.5%;
}
	 
body{
	font-family: 'Shippori Mincho', serif;
	color: #333333;
	font-size:1.6rem;
	font-size:16px;
	font-weight: 400;
	line-height:2.0;
	background:#fff;
	min-width: 100%;
	-webkit-text-size-adjust: none;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
}

/* a
----------------------------------*/
a{
	color:inherit;
	text-decoration:inherit;
	color:#0F38BC;
	-webkit-transition: 0.2s ease-in-out;
       -moz-transition: 0.2s ease-in-out;
         -o-transition: 0.2s ease-in-out;
            transition: 0.2s ease-in-out;
	}

a:hover{
	opacity: 0.7;
    filter: alpha(opacity=70);
}

/* 引用
------------------------------------------------------------*/
blockquote {
	position: relative;
	margin-bottom: 16px;
    padding: 1.6em 1.6em 1.6em 3em;
    box-sizing: border-box;
    font-style: italic;
    background: #f5f5f5;
    color: #777777;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14);
}
blockquote:after{
	position: absolute;
	top: -0.3em;
	left: 0;
	content: '”';
	font-family: sans-serif;
	font-size: 6em;
	opacity: .1;
}
/* bg-color*/
.bg-color--blue{background-color: #387BA7;}
.bg-color--lblue{background-color: #DFEDF6;}
.bg-color--lyellow{background-color: #FCE7A6;}
.bg-color--lorange{background-color: #F5DDC8;}
.bg-color--lgreen{background-color: #DFF6E6;}
.bg-2color--lbcrm{
  background: linear-gradient( 165deg, #DFEDF6 0%, #DFEDF6 50%, #F5ECD1 calc(50% + 1px), #F5ECD1 100%);
}
.bg-2color--lgcrm{
  background: linear-gradient( 165deg, #DFF6E6 0%, #DFF6E6 50%, #F5ECD1 calc(50% + 1px), #F5ECD1 100%);
}
.bg-2color--lycrm{
  background: linear-gradient( 165deg, #FCE7A6 0%, #FCE7A6 50%, #F5ECD1 calc(50% + 1px), #F5ECD1 100%);
}
.bg-2color--locrm{
  background: linear-gradient( 165deg, #F5DDC8 0%, #F5DDC8 50%, #F5ECD1 calc(50% + 1px), #F5ECD1 100%);
}
/* heading 
----------------------------------*/
h1, h2, h3, h4, h5, h6 { font-weight: 500; line-height: 1.6;}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; text-decoration: none;}
.post_main h1 { font-size: 4.0rem; font-size: 40px; width: 100%; line-height: 1.4;}
.post_main h2 { font-size: 3.2rem; font-size: 32px; line-height: 1.8; border-bottom: 1px solid #387BA7; width: 100%; margin: 40px 0 16px;}
.post_main h3 { font-size: 2.4rem; font-size: 24px; border-left: 4px solid #387BA7; width: 100%; padding-left: 0.5em;margin: 40px 0 16px;}
.post_main h4 { font-size: 2.0rem; font-size: 20px; font-weight: 400; width: 100%;}
.post_main h5 { font-size: 1.8rem; font-size: 18px; font-weight: 400; width: 100%;}

h1.page-heading {
	font-size: 4.8rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	margin: 0;
	margin-bottom: 24px;
	padding: 0;
	width: 100%;
}
.entry-heading{
	font-weight: 700;
	border-bottom: 4px solid #387BA7;
	margin-bottom: 40px;
	padding-bottom: 8px;
}
.sub-heading {
	width: 100%;
	margin-bottom: 72px;
	font-size: 4.0rem;
	font-weight: 700;
}

.heading-area{
  position: relative;
  width: 100%;
}
.heading--en{
  color: rgba(56,123,167,.15);
  font-size: 14rem;
  text-align: center;
  position: absolute;
  top:1.5vw;
  left: 0;
  right: 0;
  z-index: 0;
  line-height: 1;
}
.heading--ja{
  font-size: 5.2rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  margin-bottom: 80px;
}
.heading--ja span{
  font-size: 2.8rem;
  display: block;
}
.heading--ja::after{
  content: "";
  background: #F2C743;
  display: block;
  width: 100px;
  height: 4px;
  margin: 0 auto
}
.sub-heading--en{
  color: rgba(255,255,255,.3);
  font-size: 14rem;
  text-align: center;
  position: absolute;
  top:0px;
  left: 0;
  right: 0;
  z-index: 0;
  line-height: 1;
}
.sub-heading--ja{
  color: #fff;
  font-size: 5.4rem;
  text-align: center;
  margin-top: 140px;
}
.sec-heading{
	font-size: 2.4rem;
	font-weight: 700;
	border-bottom: 2px solid #387BA7;
	padding-bottom: 4px;
  margin-bottom: 1em
}
/* float
----------------------------------*/
.fL{float:left;}
.fR{float:right;}

/* clearfix
----------------------------------*/
.clearfix:after{
  content:"."; 
  display:block; 
  height:0; 
  font-size:0;	
  clear:both; 
	visibility:hidden;
	}

.clearfix{ display:inline-block;}
 
/* Hides from IE Mac */
* html .clearfix{	height:1%;}
.clearfix{ display:block;}

/* fade
----------------------------------*/
.fade {
    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
	}
.fade:hover { opacity: 0.7; filter: alpha(opacity=70);} 

/* ルビ　*/
rt {
    text-align: center;
    font-size: 70%;
}

/* ----------------------------------
INNER
---------------------------------- */
.inner-xl { max-width: 1400px; margin: 0 auto;}
.inner-x { max-width: 1200px; margin: 0 auto;}
.inner-m { max-width: 1000px; margin: 0 auto;}
.inner-s { max-width: 800px; margin: 0 auto;}
@media only screen and (max-width: 1400px) {
  .inner-xl { padding: 0 5%;}
}
@media only screen and (max-width: 1200px) {
  .inner-x { padding: 0 5%;}
}
@media only screen and (max-width: 1000px) {
  .inner-m { padding: 0 5%;}
}
@media only screen and (max-width: 640px) {
  .inner-s { padding: 0 5%;}
}
/* ----------------------------------
HEADER
---------------------------------- */
header {
	position: fixed;
	width: 100%;
	background-color: #fff;
	z-index: 1000;
}
.header-wrap {
	width: 96%;
  height: 100px;
	margin: 0 auto;
  display: flex;
	align-items: center;
	justify-content:space-between;
}
header p.logo { 
	font-size: 2.4rem;
  margin: 0
}
header p.logo a {
	color: #333;
}
.hamburger {
	display: none;
}
nav#gNav ul { 
	margin: 0 auto; 
	padding: 16px 0;
	text-align: right;
}
nav#gNav ul li {
	margin-right: 40px;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1;
	border-left: #fff 1px solid;
	display: inline-block;
}
nav#gNav ul > li:first-child{
	border: none;
}
nav#gNav ul li:last-child {
	margin-right: 0;
  text-align: center;
}
nav#gNav ul li:last-child a{
  background: #D91604;
  border-radius: 100px;
  color: #fff;
  display: inline-block;
  padding: 1.1em 4em;
}
nav#gNav ul li a {
	display: block; 
	text-decoration: none;
	opacity: 1.0;
	color: #333;
}
nav#gNav ul li span {
	display: block;
}
nav#gNav ul li a:hover { 
	opacity: 0.7;
  border: none;
	filter: alpha(opacity=70);
}
/*-------*/
 
nav#gNav .sub-menu {
  position: relative;
  z-index: 1;
  display: none;
  border: none;
}
 
nav#gNav .sub-menu li {
  display: block;
  float: none;
  padding: 0;
  border: none;
  width: 250px;
}
 
nav#gNav li:hover .sub-menu {
  display: block;
}
 
nav#gNav.sub-menu li a:before {
  color: #333;
}
 nav#gNav .sub-menu li:last-child {
	margin-right: 0;
  text-align: center;
}
nav#gNav .sub-menu li:last-child a{
  border-radius: 0;
}
nav#gNav .sub-menu li a,
nav#gNav .sub-menu li:last-child a{
  font-size: 1.4rem;
  font-weight: normal;
  margin-left: 10px;
  padding: 1.3em 1em;
  text-align: left;
  color: #fff;
  display: block;
  background-color: #464646;
}
 
nav#gNav .sub-menu li a:hover {
  background-color: #000;
}

@media (min-width: 1080px) {
  nav#gNav .sub-menu {
    position: absolute;
    width: 200px;
  }
}


.container { 
	width: 100%;

	margin: 0 auto;
	min-width: 960px;
	padding-top: 80px;
	overflow: hidden;
	z-index: 1;
}
.pcon { display: block;}
.smpon { display: none;}
.bg_gray {
	background-color: #e4e7eb;
}
/* ----------------------------------
INDEX - TOP PAGE -
---------------------------------- */
.top-key{
  width: 100%;
  height: 960px;
  background: linear-gradient(
    105deg,
    #387BA7 0%,
    #387BA7 30%,
    #fff calc(30% + 1px),
    #fff 100%);
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-key_wrap {
	width: 100%;
	height: 800px;
  margin: 80px 0;
	background-image: url("img/mv_img-pc.jpg");
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size: cover;
	background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-key_text{
  text-align: center;
}
.top-key_text h1{
  color: #fff;
  font-size: 5.4rem;
}
.top-key_text p{
  background: rgba(255,255,255,.8);
  font-size: 2.4rem;
  display: inline-block;
  margin-top: 40px;
  padding: 0.8em 1.2em 0.5em
}
.top-key_text p span{
  color: #D91604;
  display: block;
  font-size: 4.2rem;
  font-weight: 700;
  margin-top: -0.3em
}
/* ▼　top / sub　component */
.c-feature {
	padding: 0 0 110px;
	margin: 0 auto;
}
.c-feature .heading--ja{
  padding-top: 110px;
}
.c-feature_wrap{}
.feature_list{
  display: flex;
  justify-content:center;
  flex-wrap: wrap;
}
.feature_list li{
  background: #fff;
  box-sizing: border-box;
  margin:72px 40px 0 0;
  width:calc(33.3333333% - 40px);
  padding: 40px 24px 24px;
  position: relative;
}
.feature_list li:nth-child(3n){
  margin-right:0;
}
.feature_list li .number{
  background: #387BA7;
  color: #fff;
  display: block;
  font-size: 5.0rem;
  position: absolute;
  top: -35px;
  left: -25px;
  line-height: 1;
  padding: 0.15em 0.15em 0.25em;
}
.feature_list .img-wrap{
  max-width: 200px;
  margin: 0 auto;
}
.feature_list.feature_services .img-wrap{
  max-width: 100%;
  margin: 0 auto;
}
.feature_list img{
  display: block;
  width: 100%;
  border-radius: 10px;
}
.feature_list.feature_services img{
  border-radius: 0;
}
.feature_list h3{
  color: #387BA7;
  font-size: 2.2rem;
  margin-top: 16px;
  text-align: center;
}
.feature_list .text{
}
.feature_list .text p{
  font-size: 1.4rem;
  margin-top: 16px;
}
/* ▲ top / sub　component */
.services {
	padding: 0 0 110px;
	margin: 0 auto;
  position: relative;
}
.services::after {
	content: "";
  background: #DFEDF6 no-repeat;
  width: 35%;
  height: 650px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.services .heading--ja{
  padding-top: 110px;
}
.services-list{}
.services-list li{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 80px;
}

.services-list li:nth-child(even){
  flex-flow:row-reverse
}
.services-list_img{
  width: 50%;
}
.services-list_img img{
  border-radius: 16px;
  width: 100%;
}
.services-list_text{
  width: calc(50% - 64px);
}
.services-list li:nth-child(odd) .services-list_text{
  margin: 0 0 0 64px;
}
.services-list li:nth-child(even) .services-list_text{
  margin: 0 64px 0 0;
}
.services-list_text h3{
  border-bottom: 1px solid #707070;
  color: #387BA7;
  font-size: 3.2rem;
  padding-bottom: 16px;
}
.services-list_text p{
  margin-top: 24px;
}
a.services_btn{
  background: #D91604;
  border-radius: 100px;
  color: #fff;
  display: inline-block;
  width: 300px;
  margin-top: 54px;
  padding: 0.8em 1em;
  text-align: center;
}
.column{
  padding: 0;
  background: url("img/column_img-pc.jpg");
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size: cover;
	background-position: center top;
  position: relative;
}
.column::after{
  content: "";
  background:#F2C743;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 280px;
  z-index: 0;
}
.column .heading--ja{
  padding-top: 110px;
}

.column_lead{
  text-align: center;
}
.column_wrap{
  background:#F2C743;
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  padding-bottom: 110px;
}
.column_list{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 80px
}
.column_list li{
  background: #fff;
  margin:84px 72px 0 0;
  width:calc(33.3333333% - 72px);
}
.column_list li a{
  color: #333;
}
.column_list li:last-child{
  margin-right: 0;
}
.column_list img{
  width: 100%;
  height: auto;
}
.column_text{
  padding: 1em;
}
.column_list .date{
  font-size: 1.4rem;
}
.foot-contact{
  padding: 0 0 70px;
  position: relative;
}
.foot-contact::after{
  content: "";
  background: #86A2B5;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 237px;
  z-index: 0;
}
.foot-contact.contact_bg{
  background: url("img/contact_img-pc.jpg");
	background-repeat:no-repeat,no-repeat;
	-moz-background-size:cover;
	background-size: cover;
	background-position: center top;
  padding-top: 187px;
}
.foot-contact_wrap{
  position: relative;
  z-index: 1;
}
.foot-contact .inner-x{
  background: #fff;
}
.foot-contact .heading-area{
  padding: 110px 0 164px
}
.foot-contact .heading--ja{
  margin-bottom: 0;
}
.contact_area{
  background: #F2C743;
  display: flex;
  justify-content: center;
  position: relative;
  top:-90px;
  text-align: center;
  max-width: 1000px;
  margin: 0 auto;
  padding: 2em 2em 1.5em;
}
.contact_area::after{
  content: "";
  background: #333;
  width: 1px;
  height: 110px;
  position: absolute;
  top:50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  display: block;
  margin: 0 auto;
  z-index: 1;
}
.free-icon{
  position: absolute;
  top:-35px;
  left:-20px
}
.contact_area .tel-area,
.contact_area .mail-area{
  width: 50%;
}
.contact_area .contact_means{}
.contact_area a.contact_tel{
  color: #333;
  font-size: 4.0rem;
  display: block;
  line-height: 1;
  margin-top: -0.05em;
}
.contact_area a.contact_tel span{
  font-size: 2.4rem;
  margin-right: 0.5em;
}
.contact_area .contact_open{
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  margin-left: 0.5em;
}
.contact_area a.contact_btn{
  background: #387BA7;
  border-radius: 8px;
  color: #fff;
  display: inline-block;
  font-size: 1.8rem;
  padding: 0.6em 3em;
}

/* ----------------------------------
SUB PAGE
---------------------------------- */
.sub-key{
  width: 100%;
  height: 558px;
  background: linear-gradient(
    105deg,
    #387BA7 0%,
    #387BA7 30%,
    #fff calc(30% + 1px),
    #fff 100%);
  display: flex;
  justify-content: center;
  align-items: center;
}
.sub-key_wrap {
	width: 100%;
  height: 400px;
  margin: 80px 0;
	text-align: center;
	background-image: url("img/services-mv_img-pc.jpg");
	background-repeat:no-repeat;
	-moz-background-size:cover;
	background-size: cover;
	background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.services-key{
	background-image: url("img/services-mv_img-pc.jpg");
}
.services01-key{
	background-image: url("img/services01-mv_img-pc.jpg");
}
.services02-key{
	background-image: url("img/services02-mv_img-pc.jpg");
}
.services03-key{
	background-image: url("img/services03-mv_img-pc.jpg");
}
.services04-key{
	background-image: url("img/services04-mv_img-pc.jpg");
}
.office-key{
	background-image: url("img/office-mv_img-pc.jpg");
}
.contact-key{
	background-image: url("img/contact-mv_img-pc.jpg");
}
.sub-sec {
	padding: 110px 0;
	margin: 0 auto;
}
.sub-sec02 {
	padding: 0 0 110px;
	margin: 0 auto;
}
.services-intro{
  
}
.worries {
  width: 90%;
  margin: 0 auto;
  padding-bottom: 72px;
}
.worries .heading-area{
  background: #fff;
}
.worries .heading-area::after{
  content: "";
  background: #fff;
  display: block;
  width: 1200px;
  height: 80px;
  position: absolute;
  right: 0;
  bottom:-80px;
  left: 0;
  margin: 0 auto;
}
.worries-wrap{
  margin-top: 253px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.worries-list_img{
  width: 50%;
}
.worries-list_img img{
  width: 100%
}
.worries-list{
  width: 45%;
  margin-left: 5%;
}
.worries-list li{
  background: #F9F9F9;
  display: flex;
  align-items: center;
  height: 72px;
  line-height: 1.6;
  margin-top: 10px;
  padding-left: 0 1em;
}
.worries-list li:first-child{
  margin-top: 0;
}
.worries-list li::before{
  content: url("img/icon-check.svg");
  margin:0.3em 1em 0;
  display: inline-block;
}
.worries-catch{
  font-size: 4.0rem;
  text-align: center;
}
.worries-catch::before{
  content: url("img/arrow05.svg");
  display: block;
  margin: 72px 0 40px;
}
.foot-contact.worries_bg{
  padding-top: 0;
}
.worries-bg_wrap{
  width: 90%;
  margin: 0 auto;
}
.worries-bg_wrap::after{
  content: "";
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 300px;
  z-index: 0;
}

.services-detail{
  background: #387BA7;
}
.services-detail .heading--ja{
  color: #fff;
}
.services-detail_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.services-detail_list li{
  background: #fff;
  width: calc(50% - 50px);
  margin:72px 50px 0 0;
  padding: 24px 40px 16px;
}
.services-detail_list li:nth-child(2n){
  margin-right:0;
}
.services-detail_list li.services-detail_note{
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px;
}
.list_head{
  display: flex;
  justify-content: space-between;
}
.list_head h3{
  color: #387BA7;
  font-size: 2.4rem;
}
.list_head img{}
.services-detail_list .text{
  margin-top: 10px;
}
.services-detail_list .text p{
  font-size: 1.4rem;
}
.services-detail_list li.services-detail_note p{
  color: #fff;
}
.price{
  padding: 110px 0;
}
.flow{}
.flow_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flow_list li{
  background: #fff;
  width: calc(25% - 50px);
  margin: 80px 50px 0 0;
  padding: 54px 28px 13px;
  position: relative;
}
.flow_list li:last-child{
  margin-right: 0;
}
.flow_list li::after{
  content: "▶";
  color: #387BA7;
  font-size: 2.8rem;
  position: absolute;
  top: 50%;
  right: -20%;
  transform: translateY(-50%);
}
.flow_list li:last-child::after{
  display: none;
}
.flow_list .flow-number{
  background: #387BA7;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.8rem;
  width: 150px;
  height: 56px;
  margin: 0 auto;
  position: absolute;
  top:-28px;
  left: 0;
  right: 0;
}
.flow_list h3{
  color: #387BA7;
  font-size: 4rem;
  text-align: center;
}
.flow_list .text{
  font-size: 1.4rem;
  margin-top: 16px;
}

/* 事務所案内 */
.office_intro{
  display: flex;
  flex-wrap: wrap;
}
.office_intro_img{
  width: 42%;
  margin-right: 8%;
}
.office_intro_img img{
  width: 100%;
}
.office-intro_text{
  width: 50%;
}
.office-intro_text p{}
.map {
	width: 100%;
	height: 450px;
}

.policy-area{
  overflow:auto;
  width:100%; 
  height:160px;
  margin-top: 40px;
  padding:1em;
  border:1px solid #387BA7;
  border-radius:8px;
  background-color:#eee;
}
.policy-area h4{
	font-size: 1.6rem;
	color: #0565a3;
	font-weight: 700;
}
.policy-area p{
  font-size: 1.4rem;
}
.policy-number{
  counter-reset: count 0;
}
.policy-number li{
	font-size: 1.2rem;
}
.policy-number li:before {
  content: counter(count) ". ";
  counter-increment: count 1;
}
@media screen and (max-width: 640px){
  .policy-area{
    margin-top: 0;
  }
}
/************************************
** Contact form 7 CSSカスタマイズ
************************************/

input[type="text"],input[type="password"],input[type="datetime"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],
input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],select,textarea {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 0.5em 1em;
  border: 0;
  border-radius: 3px;
  background-color: #F6F8F8;
  box-shadow: none;
  color: #5c6b80;
  font-size: 1em;
  transition: background-color 0.24s ease-in-out;
}

table.CF7_table textarea {
  max-width: 100%;
  min-height: 300px;
  line-height: 1.5em;
  padding: 1em;
  vertical-align: middle;
  overflow: auto;
}

table.CF7_table{
	width:100%;
	margin:0 auto;
  margin-top: 40px;
}

table.CF7_table th{
	font-size: 1.6rem;
  text-align: left;
  border-left: 1px solid #e5e5e5;
  padding: 1em;
}
table.CF7_table td{
	font-size: 1.6rem;
  text-align: left;
  border-right: 1px solid #e5e5e5;
  border-left: 1px solid #e5e5e5;
  padding: 1em;
}
table.CF7_table th p,
table.CF7_table td p{
  margin: 0;
}
table.CF7_table tr{
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
  text-align: left;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	border: 1px solid #d8d8d8;
}

.CF7_table ::placeholder {
	color:#797979;
}

/*「必須」文字*/
.CF7_req{
	font-size:1.2rem;
	padding: 0.2em 0.8em 0.3em;
	background:#D91604;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:1.2rem;
	padding: 0.2em 0.8em 0.3em;
	background: #bdbdbd;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/* タイトル列 */
@media screen and (min-width: 640px){
	.CF7_table th{
	width:30%;/*横幅*/
	background-color: #F6F8F8;
	}
}

/* レスポンシブ */
@media screen and (max-width: 640px){
	table.CF7_table{
		width:100%;
		margin: 0 auto;
    margin-top: 10vw;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
		display: block;
		width: 100%;
		border: none;
	}
  table.CF7_table tr{
		border: none;
	}
  table.CF7_table td{
		border: none;
	}
	table.CF7_table th{
		line-height:1.5em;
		background: none;
    border: none;
		padding: 1em 0;
		margin: 0;
	}
	.CF7_table td{
		padding: 0;
    margin-bottom: 5vw;
	}
	.CF7_table th{
		background-color: #F6F8F8;
	}
	table.CF7_table textarea {
		max-width: 100%;
		min-height: 20vw;
	}
}

/* 「確認」「送信する」ボタン */
.wpcf7 .button_area{
	display: flex;
	justify-content: center;
  flex-wrap: wrap;
}
.wpcf7 .button_area p{
	margin: 0 24px;
  text-align: center;
}
.wpcf7 input.wpcf7-submit {
	background-color: #D91604;
	border: 2px solid #D91604;
	border-radius: 100px;
	color:#fff;
  display: block;
	font-size:1.8rem;
	font-weight:bold;
	margin:0 auto;
	padding: 0.6em 3em;
	transition: all 0.5s 0s ease;
}

.wpcf7 input.wpcf7-submit:hover {
   background: #fff;
	color: #333;
}
/* 「戻る」ボタン */
.wpcf7 input.wpcf7-previous {
	background-color: #333;
	border: 2px solid #333;
  border-radius: 100px;
	color:#fff;
	display: block;
	font-size:1.8rem;
	font-weight:bold;
	margin:0 auto;
	padding: 0.6em 3em;
	transition: all 0.5s 0s ease;
}

.wpcf7 input.wpcf7-previous:hover {
   background: #fff;
	color: #ccc;
}

.CF7_btn{
  margin: 0 auto;
}
@media screen and (max-width: 640px){
  .wpcf7 input.wpcf7-previous{
    margin-bottom:24px; 
  }
}
.wpcf7-spinner{
	width:0;
	margin:0;
}


/* ----------------------------------
Single Page
---------------------------------- */
.time-care_wrap { 
	width: 100%;
	margin: -32px 0 24px 0;
	padding-bottom: 8px;
	text-align: right;
}

.eyecatch {
	margin-bottom: 40px;
}
.eyecatch img{
	width:100%;
}
.post {
	display: flex;
	justify-content: space-between;
}
.post_main {
	width: 70%;
}
.post_main ul,
.post_main ol{
  margin-bottom: 1em;
}
.post_main ul li,
.post_main ol li{
  margin-left: 2em;
}
.post_main ol{
  counter-reset: count 0;
}
.post_main ol li:before{
  content: counter(count) ". ";
  counter-increment: count 1;
}
.post_main p {
}
.post_navi {
	margin: 80px 0;
}
.page_main {
	width: 100%;
	margin: 0 auto;
}
/* ----------------------------------
Archive Page
---------------------------------- */
ul.archive-list{}
ul.archive-list .item > a{
  width: 100%;
}

.archive-list .item {
  margin: 0;
  padding: 0;
	padding-bottom: 40px;
	border-bottom: #eee 1px solid;
}
.archive-list li.item:last-child {
	border: none;
}
.archive-list .item .item_wrap{
  display: flex;
  justify-content: space-around;
  width: 100%;
}
.archive-list .item a {
	color: #333;
}
.archive-list .item .imgarea {
  margin: 40px 24px 0 0;
  width: 40%;
}
.archive-list .item img {
  width: 100%;
  height: auto;
}
.archive-list .item .txtarea {
  width: 60%;
}
.archive-list .txtarea h2 {
	font-size: 2.0rem;
	font-weight: 700;
}
.archive-list .txtarea .post-date {
	display:block;
  font-size: 1.4rem;
	margin-bottom: 4px;
}
.archive-list .txtarea p {
	margin-bottom: 0;
}
.cate-area{
  display: flex;
  justify-content: flex-end;
}
.cate-area a { 
	margin-left: 8px;
	border-radius: 2px;
	padding: 0 8px;
  text-decoration: underline;
}

.pagelink{
	display: flex;
	justify-content: space-between;
	border-top:1px solid #eee;
	margin: 40px 0;
	padding-top: 16px;
}
.pagelink span{
	font-size: 1.4rem;
	width: 48%;
	display: inline-block;
}
/* ----------------------------------
Side Area
---------------------------------- */
.side_area{
	width: 20%;
}
.side_area h2{
	border-bottom: 1px solid #387BA7;
	margin-bottom: 1em;
  padding-bottom: 0.3em;
}
.side_post li{
	font-size: 1.6rem;
	margin-bottom: 16px;
	border-bottom: 1px solid #eee;
}
.side_post li a{
  position: relative;
  padding-left: 1em;
}
.side_post li a::before{
  content: "▶";
  font-size: 1.0rem;
  position: absolute;
  top:3px;
  left: 0;
}
.side_post li time{
	display: block;
  font-size: 1.2rem;
}
/* BOTTON */
a.more_btn {
	width: 300px;
	line-height: 60px;
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	color: #fff;
	text-align:	center;
	background: #D91604;
  border-radius: 100px;
}
a.more_btn a:hover  {
	opacity: 0.7;
}
a.more_btn01 {
	width: 350px;
	margin: auto;
	line-height: 56px;
	display: block;
	font-size: 2.0rem;
	font-weight: 500;
	color: #191e36;
	text-align:	center;
	border: #191e36 4px solid;
	border-radius: 50px;
	background: url(img/arrow03.png) no-repeat  right 16px top 20px;
}
a.more_btn01:hover {
	color: #FFFFFF;
	background: #191e36 url(img/arrow03_wh.png) no-repeat  right 16px top 20px;
	opacity: 1;
}

/* ----------------------------------
breadcrumbs
---------------------------------- */

div.breadcrumbs {
  background: #f2f2f2;
  margin:0 auto;
  padding: 16px 0;
}
div.breadcrumbs .inner-x{
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
div.breadcrumbs a{
  display:inline-block;
  font-size: 1.4rem;
  margin: 0 0.5em;
}
/* ----------------------------------
FOOTER
---------------------------------- */
footer { 
	background: #387BA7;
  color: #fff;
  width: 100%;
	overflow: hidden;
  padding: 52px 0;
}
footer .inner-x{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

footer .footer_company{}
footer .company-name{
  font-size: 3.2rem;
  margin-bottom: 0;
}
footer .company-data{
  font-size: 1.4rem;
  line-height: 1.4;
}
footer .footer_navi-wrap{}
footer .footer_navi{
  margin-top: 8px;
  display: flex;
  justify-content:flex-end;
  flex-wrap: wrap;
}
footer .footer_navi li{
  margin: 0 0 24px 40px;
}
footer .footer_navi li:first-child{
  margin-left: 40px;
}
footer a{
  color: #fff;
}
footer a:hover{
  text-decoration: underline;
  opacity: 1;
}
footer .copyright{
  text-align: right;
  margin-top: 0.7em
}
/* ----------------------------------
PAGETOP
---------------------------------- */
.page-top{
	display: none;
	position: fixed;
	right: 40px;
	bottom: 25px;
	z-index: 99;
	line-height: 1.2;
	margin-bottom: 0;
	opacity: 0.9;
}

/* ----------------------------------
TABLE
---------------------------------- */
table.page-style,
table.page-style02{
	width: 100%;
	border-collapse: collapse;
	margin: 0 auto;
}
table.page-style tr:first-child,
table.page-style02 tr:first-child{
  border-top: 1px solid #ccc;
}
table.page-style th,
table.page-style02 th {
	width: 50%;
  background: #E3DFD7;
	font-weight: 500;
}
table.page-style02 th {
	width: calc(100% / 3);
}
table.page-style td,
table.page-style02 td{
	width: 50%;
  background: #F9F9F9;
  border-right: 1px solid #ccc;
}
table.page-style02 td{
  width: calc(100% / 3);
}
table.page-style th,
table.page-style02 th,
table.page-style td,
table.page-style02 td{
  font-size: 1.8rem;
  text-align: center;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 1.2em;
}
.price table.page-style td.colred,
.price table.page-style02 td.colred{
  color: #D91604;
}
.price table.page-style span,
.price table.page-style02 span{
  font-size: 1.4rem;
}
/* ----------------------------------
OTHER
---------------------------------- */
.CEN {text-align: center;}
.CEN_TL {text-align: center;}
.TL {text-align: left;}
.TR {text-align: right;}
.F90 {font-size: 90%;}
.fs24 {font-size: 2.4rem;}
.red { color: #ff0000;}
.blue { color: #074BB4;}
.white { color: #fff;}
.img-cen { display: block; margin: auto;}
.emphasis { font-weight: 700;}
.dt-none { display: none;}
.mt24 { margin-top: 24px;}
.mt40 { margin-top: 40px;}
.mt56 { margin-top: 56px;}
.mt72 { margin-top: 72px;}
.mt80 { margin-top: 80px;}
.mt80_40 { margin-top: 80px;}
.mt246 { margin-top: 246px;}
.mb24_16 { margin-bottom: 24px;}
.mb40_20 { margin-bottom: 40px;}
.mb80_40 { margin-bottom: 80px;}
.indent-1{
	padding-left:1em;
	text-indent:-1em;
}
.w380 { width: 380px; margin: 0 auto;}
.w450 { width: 450px; margin: 0 auto;}
.w550 { width: 550px; margin: 0 auto;}
.w600 {	width: 600px; margin: 0 auto;}
.w640 {	width: 640px; margin: 0 auto;}
.w100p { width: 100%; margin: 0 auto;}
.notes{
  display: block;
  padding-left: 1em;
  text-indent:-1em;
}
.notes::before{
  content: "※";

}
/* max-width:1000px
-------------------------------------------------- */
@media only screen and (max-width: 1000px) {
	body{ width: 100%; font-size: 1.4rem; line-height: 1.6;}
	/*----------ハンバーガーアイコン----------*/
	.hamburger_wrap {
		width: 60px;
		height: 60px;
		display: block;
		position: relative;
		right: 0;
	}
	.hamburger {
		position: absolute;
		display: block;
		width: 32px;
		height: 20px;
		z-index: 10000;
		right: 14px;
		top: 18px;
		box-sizing: border-box;
		cursor: pointer;
	}
	.hamburger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
		position: absolute;
		right: 0;
		width: 100%;
		height: 2px;
		background-color: #333;
		margin: 0 auto;
	}

	.hamburger span:nth-of-type(1) {
		top: 0;
	}
	.hamburger span:nth-of-type(2) {
		top: 9px;
	}
	.hamburger span:nth-of-type(3) {
		bottom: 0;
	}
		.hamburger span:nth-of-type(1) {
		-webkit-animation: menu-ber01 .75s forwards;
		animation: menu-ber01 .75s forwards;
	}
	.hamburger span:nth-of-type(2) {
		transition: all .25s .25s;
		opacity: 1;
	}
	.hamburger span:nth-of-type(3) {
		-webkit-animation: menu-ber02 .75s forwards;
		animation: menu-ber02 .75s forwards;
	}

	.active span:nth-of-type(1) {
		-webkit-animation: active-menu-ber01 .75s forwards;
		animation: active-menu-ber01 .75s forwards;
		background-color: #fff;
	}
	.active span:nth-of-type(2) {
		opacity: 0;
	}
	.active span:nth-of-type(3) {
		-webkit-animation: active-menu-ber03 .75s forwards;
		animation: active-menu-ber03 .75s forwards;
		background-color: #fff;
	}
	@-webkit-keyframes menu-ber01 {
		0% {
			-webkit-transform: translateY(8px) rotate(45deg);
		}
		50% {
			-webkit-transform: translateY(8px) rotate(0);
		}
		100% {
			-webkit-transform: translateY(0) rotate(0);
		}
	}

		@keyframes menu-ber01 {
		0% {
			transform: translateY(8px) rotate(45deg);
		}
		50% {
			transform: translateY(8px) rotate(0);
		}
		100% {
			transform: translateY(0) rotate(0);
		}
	}

	@-webkit-keyframes menu-ber02 {
		0% {
			-webkit-transform: translateY(-8px) rotate(-45deg);
		}
		50% {
			-webkit-transform: translateY(-8px) rotate(0);
		}
		100% {
			-webkit-transform: translateY(0) rotate(0);
		}
	}

	@keyframes menu-ber02 {
		0% {
			transform: translateY(-8px) rotate(-45deg);
		}
		50% {
			transform: translateY(-8px) rotate(0);
		}
		100% {
			transform: translateY(0) rotate(0);
		}
	}

	@-webkit-keyframes active-menu-ber01 {
		0% {
			-webkit-transform: translateY(0) rotate(0);
		}
		50% {
			-webkit-transform: translateY(10px) rotate(0);
		}
		100% {
			-webkit-transform: translateY(10px) rotate(45deg);
		}
	}

	@keyframes active-menu-ber01 {
		0% {
			transform: translateY(0) rotate(0);
		}
		50% {
			transform: translateY(10px) rotate(0);
		}
		100% {
			transform: translateY(10px) rotate(45deg);
		}
	}

	@-webkit-keyframes active-menu-ber03 {
		0% {
			-webkit-transform: translateY(0) rotate(0);
		}
		50% {
			-webkit-transform: translateY(-8px) rotate(0);
		}
		100% {
			-webkit-transform: translateY(-8px) rotate(-45deg);
		}
	}

	@keyframes active-menu-ber03 {
		0% {
			transform: translateY(0) rotate(0);
		}
		50% {
			transform: translateY(-8px) rotate(0);
		}
		100% {
			transform: translateY(-8px) rotate(-45deg);
		}
	}

	/*----------ナビゲーション----------*/
	#navigation{
		position: fixed;
		display: none;
		width: 100%;
		height: 100vh;
		top: 0;
		left: 0;
		background-color: #387BA7;
		z-index: 1000;
		overflow-y: scroll;
	}
	#navigation .navigation_inner{
		display: block;
		width: 100%;
		height: 100%;
		z-index: 10000;
	}
	#navigation .navigation_inner .navigation_menu{
		display: block;
		vertical-align: middle;
	}
	nav#gNav {
		background-color:#eee;
	}
	nav#gNav ul {
		width: 80%;
		display: block;
		height: auto;
		margin: 0 auto;
		padding: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translateY(-50%) translateX(-50%);
		transform: translateY(-50%) translateX(-50%);
	}
	nav#gNav ul li { 
		width: 100%;
		display: inline-block;
		margin: 0 auto;
		margin-bottom: 0.5em;
		padding: 0.03em 0 0.5em 0;
		font-size: 2.4rem;
		text-align: left;
		letter-spacing: 0.03rem;
    line-height: 1.6;
		font-weight: bold;
		border-right: none;
		border: none;
		border-bottom: #eee 1px solid;
		position: relative;
	}
	nav#gNav ul li:first-child{
		border-bottom: #eee 1px solid;
	}
	nav#gNav ul li:last-child {
		padding-right: 0;
		display:block;
    text-align: left;
	}
  nav#gNav ul li:last-child a{
  background: none;
  border-radius: 100px;
  display: inline-block;
  padding: 0.03em 0 0 0;
}
  nav#gNav ul li a {
    color: #fff;
  }
	nav#gNav ul li a::after{
		content:url("img/arrow02.png");
		display: inline-block;
		right: 0;
		position: absolute;
	}
  nav#gNav .sub-menu,
  nav#gNav li:hover .sub-menu {
    display: none;
  }
	.page-top{
		display: none;
		position: fixed;
		right: 20px;
		bottom: 20px;
		z-index: 99;
		line-height: 1.2;
		margin-bottom: 0;
		opacity: 0.9;
	}
	/* ----------------------------------
	HEADER
	---------------------------------- */
	header {
		width: 100%;
	}

	.container { 
		width: 100%;
		margin: 0 auto;
		padding-top: 60px;
		min-width: 90%;
	}
	/* ----------------------------------
	INDEX - TOP PAGE -
	---------------------------------- */
	.top-key_wrap {
		padding: 80px 0;
		background-image: url(img/mv_img_tab.jpg);
    background-position: right top;
	}
  .feature_list li{
    width:calc(50% - 40px);
  }
  .feature_list li:nth-child(3n){
    margin-right:40px;
  }
  .feature_list li:nth-child(2n),
  .feature_list li:last-child{
    margin-right:0;
  }
  .column_list li{
    margin:84px 24px 0 0;
    width:calc(33.3333333% - 24px);
  }
  .foot-contact .inner-x{
    width: 90%;
  }
  .contact_area{
    max-width: 100%;
    width: 90%;
    padding: 2em 0 1.5em;
  }
  .free-icon{
    top:-54px;
    left:-40px
  }
  .contact_area .tel-area,
  .contact_area .mail-area{
    padding: 0 1em;
  }
  .contact_area a.contact_tel{
    font-size: 2.8rem;
  }
  .contact_area a.contact_tel span{
    font-size: 1.8rem;
    margin-right: 0.3em;
  }
  .contact_area .contact_open{
    margin-top: 0.5em;
  }
  .contact_area .contact_open span{
    display: block;
  }
  .contact_area a.contact_btn{
    margin-top: 2.5vw;
    padding: 0.6em 1.3em;
  }


	/* ----------------------------------
	SUB PAGE
	---------------------------------- */
	.sub-sec{
		padding: 80px 0;
		margin: 0 auto;
	}
  .sub-sec02{
		padding:0 0 80px;
	}
  .flow_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
  .flow_list li{
    width: calc(50% - 24px);
    margin-right: 24px;
  }
  .flow_list li:nth-child(2n){
    margin-right: 0;
  }
  .flow_list li::after{
    font-size: 4rem;
    right: -8%;
  }
	/* ----------------------------------
	フォーム
	---------------------------------- */
	dl.contact {
		width: 100%;
		margin-bottom: 40px;
	}

	dl.contact dt{
		width: 100%;
		padding: 8px 0;
	}
	dl.contact dd{
		width: 100%;
		padding: 8px 0;
	}
	dl.contact dd input,dl.contact dd textarea{
		width: 100%;
	}
	/* ----------------------------------
	FOOTER
	---------------------------------- */
  footer .footer_company,
   footer .footer_navi-wrap{
    width: 50%
  }
  footer .company-name{
    font-size: 2.8rem;
  }
  footer .company-data{
    line-height: 2.0;
    margin-top: 16px;
  }
  footer .copyright{
    margin-top: 24px
  }
}
/* max-width:640px
-------------------------------------------------- */
@media only screen and (max-width: 640px) {
	body{ width: 100%; font-size: 1.4rem; line-height: 1.6;}
	h1 { font-size: 2.4rem; font-size: 24px; line-height: 1;}
	h2 { font-size: 2.0rem; font-size: 20px; line-height: 1.25; font-weight: 500;}
	h3 { font-size: 1.8rem; font-size: 18px; line-height: 1.3; font-weight: 500;}
	h4 { font-size: 1.6rem; font-size: 16px; line-height: 1.5; font-weight: 500;}
	h1.page-heading {
		font-size: 2.8rem;
	}
	
	.sub-heading {
		font-size: 2.4rem;
		margin-bottom: 24px;
	}
	.sub-heading02 {
		margin-bottom: 24px;
		padding: 8px 16px;
		font-size: 4vw;
	}
	.heading--en{
    font-size: 15vw;
  }
  .heading--ja{
    font-size: 6vw;
    margin-bottom: 4vw;
  }
  .heading--ja span{
    font-size: 4vw;
    margin-bottom: 0.5em
  }
  .heading--ja::after{
    margin-top: 2vw
  }
  .sub-heading--en{
    font-size: 15vw;
  }
  .sub-heading--ja{
    font-size: 6vw;
    margin-top: 18vw;
  }
  .sec-heading{
    font-size: 4vw;
  }
	img { max-width: 100%;}
	.pcon { display: none;}
	.smpon { display: inline-block;}
	/* ----------------------------------
	HEADER
	---------------------------------- */
	.header-wrap .inner{
		width: 100%;
		height: 60px;
	}
	header p.logo { 
    font-size: 5vw;
    margin-left: 3%;
  }
	/* ----------------------------------
	INDEX - TOP PAGE -
	---------------------------------- */
  .top-key{
    height: 100vh;
    background: linear-gradient(
      105deg,
      #387BA7 0%,
      #387BA7 50%,
      #fff calc(50% + 1px),
      #fff 100%);
  }
  .top-key_wrap {
		height: 80vh;
    padding: 5%;
		background-image: url(img/mv_img_sp.jpg);
    background-position: center top;
	}
  .top-key_text h1{
    font-size: 6vw;
    line-height: 1.6;
  }
  .top-key_text p{
    font-size: 1.4rem;
    margin-top: 6vw;
    padding: 0.8em 1.2em 0.5em
  }
  .top-key_text p span{
    font-size: 6vw;
    margin-top: 0.3em
  }
  
  /* ▼　top / sub　component */
  .c-feature {
    padding: 0 0 15vw;
  }
  .c-feature .heading--ja{
    padding-top: 10vw;
  }
  .feature_list li{
    margin:10vw 0 0;
    padding: 10vw 5vw 5vw;
    width:90%;
  }
  
  .feature_list li:nth-child(3n){
    margin-right:0;
  }
  .feature_list li .number{
    font-size: 10vw;
    position: absolute;
    top: -5vw;
    left: -4vw;
  }
  .feature_list .img-wrap{
    max-width: 150px;
  }
  .feature_list h3{
    font-size: 5vw;
    margin-top: 1em;
  }
  .feature_list .text p{
    margin-top: 1em;
  }
  /* ▲ top / sub　component */
  .services {
    padding: 0 0 15vw;
  }
  .services::after {
    width: 40%;
    height: 60vh;
  }
  .services .heading--ja{
    padding-top: 10vw;
  }
  .services-list li{
    flex-wrap: wrap;
    margin-top: 15vw;
  }
  .services-list li:nth-child(even){
    flex-flow:column
  }
  .services-list_img{
    width: 100%;
  }
  .services-list_text{
    width: 100%;
  }
  .services-list li:nth-child(odd) .services-list_text,
  .services-list li:nth-child(even) .services-list_text{
    margin: 0;
  }
  .services-list_text h3{
    font-size: 5vw;
    padding-bottom: 0.8em;
    margin-top: 1em;
  }
  .services-list_text p{
    margin-top: 1em;
  }
  a.services_btn{
    display: block;
    width: 300px;
    margin: 0 auto;
    margin-top: 8vw;
    padding: 0.8em 1em;
  }
  .column{
    background: url("img/column_img-sp.jpg") no-repeat;
    background-position: center top;
  }
  .column::after{
    height: 80vh;
  }
  .column .heading--ja{
    padding-top: 10vw;
  }

  .column_lead{
    margin-top: 10vw;
    padding: 0 5%;
  }
  .column_wrap{
    width: 90%;
    padding-bottom: 15vw;
  }
  .column_list{
    margin-top: 10vw
  }
  .column_list li{
    margin:10vw 5% 0;
    width:100%;
  }
  .column_list li:last-child{
    margin-right: 5%;
  }
  .column_list h3{
    font-size: 5vw;
    margin-top: 0.3em
  }
  .foot-contact.contact_bg{
    padding-top: 20vw;
  }
  .foot-contact .heading-area{
    padding: 10vw 0 10vw
  }
  .foot-contact .inner-x{
    width: 90%;
    padding-bottom: 10vw
  }
  .contact_area{
    max-width: 100%;
    width: 90%;
    top:0;
    padding: 2em 0 1.5em;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  .contact_area::after{
    width: 80%;
    height: 1px;
    top:56%;
    position: absolute;
  }
  .free-icon{
    top:-5vw;
    left:-5vw;
    width: 20vw
  }
  .contact_area .tel-area,
  .contact_area .mail-area{
    width: 100%;
  }
  .contact_area a.contact_tel{
    font-size: 8vw;
  }
  .contact_area a.contact_tel span{
    font-size: 5vw;
    margin-right: 0.3em;
  }
  .contact_area .contact_open span{
    display: block;
  }
  .contact_area .mail-area{
    padding-top: 1em;
  }
  .contact_area a.contact_btn{
    font-size: 3vw;
    margin-top: 1.5vw;
    padding: 0.8em 1.5em;
  }

	/* ----------------------------------
	SUB PAGE
	---------------------------------- */
	.sub-key{
    height: 40vh;
    background: linear-gradient(
      105deg,
      #387BA7 0%,
      #387BA7 40%,
      #fff calc(40% + 1px),
      #fff 100%);
  }
  .sub-key_wrap {
    height: 30vh;
  }
  .services-key{
    background-image: url("img/services-mv_img-sp.jpg");
  }
  .services01-key{
    background-image: url("img/services01-mv_img-sp.jpg");
  }
  .services02-key{
    background-image: url("img/services02-mv_img-sp.jpg");
  }
  .services03-key{
    background-image: url("img/services03-mv_img-sp.jpg");
  }
  .services04-key{
    background-image: url("img/services04-mv_img-sp.jpg");
  }
  .office-key{
    background-image: url("img/office-mv_img-sp.jpg");
  }
  .contact-key{
    background-image: url("img/contact-mv_img-sp.jpg");
  }
  .sub-sec{
		padding: 10vw 0;
	}
  .sub-sec02{
		padding:0 0 10vw;
	}
	.page-catch{
		font-size: 2.0rem;
		padding: 40px 0 24px 0;
	}
	.worries-wrap{
    margin-top: 20vw;
  }
  .worries-list_img{
    width: 100%;
  }
  .worries-list{
    width: 100%;
    margin: 5vw 0 0;
    margin-left: 0;
  }
  .worries-list li{
      padding: 0 1em;
  }
  .worries-list li::before{
    margin:0.3em 1em 0 0;
  }
  .worries-catch{
    font-size: 5vw;
  }
  .worries-catch::before{
    content: url("img/arrow05-sp.svg");
    margin: 6vw 0 5vw;
  }
  .worries-bg_wrap::after{
    height: 270px;
  }
  .services-detail_list li{
    width: 100%;
    margin: 5vw 0 0;
    padding: 1.5em 2em 1em;
  }
  .list_head h3{
    font-size: 5vw;
  }
  .list_head img{
    height: 8vw
  }
  .flow_list li{
    width: 100%;
    margin: 10vw 0 0;
    padding: 2em 0 2em 2em;
    display: flex;
    align-items: center
  }
  .flow_list li::after{
    content: "▼";
    font-size: 6vw;
    top: auto;
    right: 0;
    bottom: -10vw;
    left: 10vw;
  }
  .flow_list .flow-number{
    font-size: 5vw;
    width: 30%;
    height: 8vw;
    margin: 0 auto;
    position: absolute;
    top:-5vw;
    left: 0;
    right: auto;
  }
  .flow_list h3{
    font-size: 5vw;
    text-align: left;
    width: 30%;
  }
  .flow_list .text{
    font-size: 1.4rem;
    margin-top: 0;
    width: 60%;
  }
  /* 事務所案内 */
.office_intro{
  display: flex;
  flex-wrap: wrap;
}
.office_intro_img{
    width: 100%;
    margin: 5vw 0 0 0;
  }
  .office-intro_text{
    width: 100%;
    margin-top: 5vw;
  }
  .map {
    width: 100%;
    height: 300px;
    margin-top: 5vw;
  }


  
  
  /* プライバシーポリシー */
	.privacy h3{
		font-size: 1.8rem;
		margin-bottom: 8px;
	}
	/* ----------------------------------
	Single Page
	---------------------------------- */
	.post {
		display: block;
	}
	.post_main {
		width: 100%;
	}
	/* ----------------------------------
	Archive Page
	---------------------------------- */
	ul.archive-list li {
		display: flex;
		justify-content: space-between;
		padding-bottom: 10px;
		margin-bottom: 20px;
		width: 100%;
	}
	.archive-list .txtarea h3 {
		font-size: 1.6rem;
	}
	.archive-list .txtarea time {
		font-size: 1.2rem;
	}
	.archive-list .txtarea p {
		margin-bottom: 0;
	}
	/* ----------------------------------
	Side Area
	---------------------------------- */
	.side_area{
		width: 100%;
	}
	/* BOTTON */
	a.more_btn {
		width: 80%;
		margin: auto;
		font-size: 1.8rem;
	}
	a.more_btn01 {
		width: 80%;
		margin: auto;
		display: block;
		font-size: 5vw;
		background: url(img/arrow03.png) no-repeat  right 16px top 18px;
	}
	/* ----------------------------------
	FOOTER
	---------------------------------- */
	footer { 
    padding: 5vw 0;
  }
  footer .inner-x{
    justify-content: center;
    flex-wrap: wrap;
  }
  footer .footer_company,
  footer .footer_navi-wrap{
    width: 100%;
    text-align: center;
  }
  footer .footer_company{
    border-bottom: 1px solid #fff;
    padding: 5vw;
  }
  footer .footer_navi-wrap{
    margin-top: 4vw;
  }
  footer .company-name{
    font-size: 7vw;
  }
  footer .company-data{
    line-height: 2.0;
    margin-top: 16px;
    margin: 0 auto;
  }
  footer .footer_navi{
    justify-content:center;
  }
  footer .footer_navi li{
    text-align: center;
    margin: 2vw 2.5vw;
  }
  footer .copyright{
    text-align: center;
    margin-top: 6vw;
  }
	/* ----------------------------------
  TABLE
  ---------------------------------- */
  table.page-style,
  table.page-style02{
    margin-top: 10vw;
  }
  table.page-style th,
  table.page-style td{
    font-size: 1.6rem;
  }
  table.page-style02 th,
  table.page-style02 td{
    font-size: 1.4rem;
    padding: 0.5em 0.3em;
  }
  table.page-style span,
  table.page-style02 span{
    display: block;
  }
  table.page-style02 span{
    font-size: 1.0rem;
  }
	/* ----------------------------------
	OTHER
	---------------------------------- */
	.mt80_40 { margin-top: 40px;}
	.mb24_16 { margin-bottom: 24px;}
	.mb40_20 { margin-bottom: 20px;}
	.mb80_40 { margin-bottom: 40px;}
	.w380 { width: 100%;}
	.w400 { width: 100%;}
	.w450 { width: 100%;}
	.w550 { width: 100%;}
	.w600 { width: 100%;}
	.w640 { width: 100%;}
	.fs20 {text-align: left;}
	.fs24 {font-size: 1.8rem;}
	.CEN_TL {text-align: left;}
}

@media only screen and (max-width: 460px) {
	/* ----------------------------------
  TABLE
  ---------------------------------- */
  table.page-style{
    margin-top: 10vw;
  }
  table.page-style th,
  table.page-style td{
    font-size: 1.6rem;
    width: 100%;
    display: block;
    text-align: left;
  }
  table.page-style th{
    padding: 0.8em 1.2em;
  }
  
  .price table.page-style span{
    display: inline-block;
  }
}

