/*--
	Theme Name: worksyui2021
	Theme URI: https://works-yui.com/
	Description: A theme for Wordpress + Works-Yui
	Author: Works-Yui
	Author URL: https://works-yui.com
--*/

@charset "utf-8";

/* font
----------------------------------*/
@font-face {
  font-family: 'Josefin Sans';
  src: url(font/JosefinSans-Bold.woff) format('woff');
  src: url(font/JosefinSans-Bold.ttf) format('truetype');
  font-display: swap;
  font-weight: normal;
}
@font-face {
  font-family: 'Noto Sans Japanese';
  src: url(font/NotoSansJP-Regular.ttf) format('ttf');
  src: url(font/NotoSansJP-Regular.woff) format('truetype');
  font-display: swap;
  font-weight: normal;
}

a img:hover {
	opacity: 0.7;
	transition: 1.0s ;
}
.center {
	text-align:center;
}
.red {
	color:red;
}
.pc_none {
	display:none;
}
.sp_none {
	display:inline;
}
.linkbox {
	cursor:pointer;
}

/* header
-----------------------------------------*/
header {
	position:relative;
	z-index:1;
    padding-top: 90px;
}
header#top-head {

}
.top-head-inner {
    display: flex;
    justify-content: space-between;
}
#logo-head {
	width:400px;
	position:relative;
	z-index:0;
}
h1.logo {
    position: absolute;
    top: 60px;
    left: 48px;
}
#tp-visual {
    height: 880px;
	position:relative;
	z-index:1;
    width : -webkit-calc(100% - 465px) ;
    width : calc(100% - 465px) ;
}
#tp-visual .visual-img {
    position: absolute; top: 0; right: 0; width: 100%; height: 100%; overflow: hidden;
}
#tp-visual .visual-img .photo {
    background: url(./img/main_visual01.jpg) no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    height: 800px;
	position:relative;
    width: 100%;
}
#tp-visual .visual-copy {
    position: absolute;
    top: 150px;
	left: -356px;
}
#tp-visual .copy {
    font-size: 24px; font-size: 2.4rem; letter-spacing: 0.1em; position: relative;
}
#tp-visual .copy .copy-b, #tp-visual .copy .copy-w {
    position: absolute; left: 0; top: 0; margin: 0; padding: 0; color: #fff;
}
#tp-visual .copy .copy-b span, #tp-visual .copy .copy-w span {
    font-weight: 700;
}
#tp-visual .copy .copy-w {
    width: 356px; height: 60px; overflow: hidden;
}
#tp-visual .copy .copy-w span {
    z-index: 1; position: absolute; width: 650px; color: #201411;
}
#tp-visual .copy-en {
    color: #201411;
	font-size: 85px;
	font-size: 8.5rem;
	font-family: 'Josefin Sans', sans-serif;
	line-height: 1.2;
	letter-spacing: 0.05em;
	position: relative;
	margin-top: 68px;
}
#tp-visual .copy-en .copy-b, #tp-visual .copy-en .copy-w {
    position: absolute; left: 0; top: 0; width: 1200px; margin: 0; padding: 0; color: #fff;
}
#tp-visual .copy-en .copy-b .txt, #tp-visual .copy-en .copy-w .txt {
    font-weight: 700;
}
#tp-visual .copy-en .copy-b .txt .regu, #tp-visual .copy-en .copy-w .txt .regu {
    font-weight: 400 !important;
}
#tp-visual .copy-en .copy-w {
    width: 356px; height: 300px; overflow: hidden;
}
#tp-visual .copy-en .copy-w .txt {
    z-index: 1; position: absolute; width: 1200px; color: #222;
}
#tp-visual .copy-sub {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-top: 280px;
    padding: 0 2rem;
}
#right-hed {
	width:65px;
}
#right-pay {
    text-align: center;
    font-size: 3rem;
	margin-top: 256px;
}
#right-pay li {
    margin-bottom: 1.5rem;
}
#hed {
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: absolute;
    width: 100%;
	top: 0;
    left: 0;
	background: #FFF;
}
#hed.fixed{
    position: fixed;
	top: 0;
    left: 0;
	z-index:1000;
	box-shadow: 0px 3px 3px 0px rgb(0 0 0 / 10%);
}
#hed .home {
    width:400px;
	box-sizing:border-box;
	padding-left:50px;
}
#global-nav {
    width : -webkit-calc(100% - 465px) ;
    width : calc(100% - 465px) ;
}
#global-nav .fat-nav__wrapper {

}
#global-nav .fat-nav__wrapper .menu {
    display: flex;
    justify-content: space-between;
    max-width:900px;
}
#global-nav .fat-nav__wrapper .menu li {
    text-align:center;
}
#global-nav .fat-nav__wrapper .menu li span {
    display:block;
	font-size:.9rem;
}
#global-nav .menu > li a {
    display: block;
    line-height: 1.7;
    letter-spacing: 0.1em;
    font-size: 13px;
    font-size: 1.3rem;
    position: relative;
	display: inline-block;
	position: relative;
    font-weight: 900;
	color:#222;
}
#global-nav .menu > li a span {
    font-weight: 300;
}
#global-nav .menu > li a::after {
    position: absolute;
    content: '';
    bottom: -6px;
    left: 0;
    width: 0;
    height: 1px;
    background: #000;
    transition: all 0.3s ease 0s;
}
#global-nav .menu > li a:hover {
	cursor: pointer;
	text-decoration: none;
}
#global-nav .menu > li a:hover::after {
	width: 100%;
}
#global-nav .menu > li.contact a {
    border: 1px solid #676767;
    padding: 5px 31px;
    margin-top: -5px;
}
#global-nav .menu > li.contact a::after {
    background: none;
}
#global-nav .menu > li.contact a:hover {
    border: 1px solid rgba(0,0,0,0.1);
	background:rgba(0,0,0,0.1);
    transition: all 0.3s ease 0s;
}
#sub-nav ul {

}
#sub-nav li {

    font-size: 2.5rem;
}
#sub-nav li a {
    color: #fff;
}
#sub-nav li.head-contact {
    margin-left: 40px;
}
#sub-nav li.head-contact a {
    border: 1px solid #FFF;
    font-size: 14px;
    padding: 5px 20px 7px;
}
#sub-nav li.head-contact a:hover {
    background:rgba(255,255,255,0.2);
	text-decoration: none;
}
#global-nav .home img {
    display: none;
}
#info_bg {
    position: absolute;
    bottom: 160px;
    left: 45px;
    z-index: 1;
    width : -webkit-calc(100% - 290px) ;
    width : calc(100% - 290px) ;
	min-width:900px;
	max-width:1100px;
    display: flex;
    justify-content: space-between;
	align-content: center;
}
#info_bg .info_bg_title {
    width: 450px;
    max-width: 50%;
	height:150px;
    box-sizing: border-box;
    padding: 30px;
    text-align: center;
    color: #FFF;
    background: #000;
	font-family: 'Josefin Sans', sans-serif;
}
#info_bg .info_bg_title .title {
    font-size: 17px;
    font-size: 1.7rem;
	font-weight:700;
}
#info_bg .info_bg_title p.more {
    margin-top:10px;
}
#info_bg .info_bg_title p.more a {
    border: 1px solid #FFF;
    padding: 7px 30px 5px;
    color: #FFF;
}
#info_bg .info_bg_title p.more a:hover {
    text-decoration:none;
	background:rgba(255,255,255,0.2);
}
#info_bg .info_bg_list {
    width : -webkit-calc(100% - 450px) ;
    width : calc(100% - 450px) ;
	background:rgb(255 255 255 / 78%);;
	box-sizing:border-box;
    padding: 0 30px;
	height:150px;
}
#info_bg .info_bg_list ul {
    line-height: 2.5;
	margin: 20px;
}
#info_bg .info_bg_list ul li span {
    margin-right:20px;
}

/* top_message
-----------------------------------------*/
#top_message {
    width:800px;
	margin:0 auto;
}
#top_message .tate {
    text-align:center;
}
#top_message .tate p {
    font-size: 3rem;
    line-height: 1.5;
	margin:.5rem 0 1.5rem;
}
#top_message .txt p {
	margin:.5rem 0;
}
.info_bg_list a {
	color:#222;
}

/* top_content
-----------------------------------------*/
#top_content {
    margin: 100px 0;
}
.top_content100 {
	display: flex;
    justify-content: space-between;
	position:relative;
}
.top_content100 .img {
	width:50%;
	position:relative;
	overflow: hidden;
	z-index:0;
}
.top_content100 .img .number {
    position: absolute;
    background: #FFF;
    z-index: 1;
    top: 200px;
    right: 0;
    height: 100px;
    margin: auto;
    width: 100px;
    font-size: 7rem;
    text-align: center;
    font-style: italic;
    line-height: 106px;
    /* height: 100px; */
    font-family: 'Josefin Sans', sans-serif;
}
.top_content100 .img .pic img{
	max-width: none;
    height: auto;
}
.top_content100 .txt {
	width:50%;
	box-sizing:border-box;
	padding:0 80px;
	height:500px;
	position:relative;
	border-top:1px solid #DDD;
	border-bottom: 1px solid #DDD;
}
.top_content100 .txt h2 {
    font-size: 2rem;
    line-height: 1.7;
    margin-top: 78px;
}
.top_content100 .txt h3 {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2rem;
    margin: auto;
    width: 100%;
    height: 6rem;
    font-size: 6rem;
	font-family: 'Josefin Sans', sans-serif;
	font-style: italic;
	line-height: 1;
}
.top_content100 .txt p {
    margin-top: 122px;
}
.btn {
    margin-top: 3rem;
}
.btn a {
	background-color: #DDD;
	border: 1px solid transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 200px;
    height: 40px;
    color: #333;
    font-weight: 700;
    text-decoration: none;
    transition: 0.3s;
	padding: 0 0 8px;
}
.btn03 a::before {
	content: '';
	position: absolute;
	top: -5px;
	left: -5px;
	width: 100%;
	height: 100%;
	background-color: transparent;
	border: 1px solid #333;
}
.btn03 a::after {
    content: '';
    position: absolute;
    top: 44%;
    right: -20px;
    width: 50px;
    height: 1px;
    background-color: #666;
}
.btn03 a:hover {
	background-color: #999;
    color: #FFF;
}
.sab_category_bg .btn03 a {
	width: 170px;
    height: 30px;
    font-size: 1.3rem;
    background: #eee;
}
.sab_category_bg .btn03 a::before {
	border: 1px solid #999;
}
.sab_category_bg .btn03 a::after {
    top: 30%;
    left: -20px;
	right:auto;
    width: 33px;
    height: 1px;
    background-color: #666;
}
.top_content1200 {
	display: flex;
    justify-content: space-between;
	width:1200px;
	margin:100px auto;
	position:relative;
}
.top_content1200 .img {
	width:400px;
	position:relative;
	overflow: hidden;
	z-index:0;
}
.top_content1200 .img .number {
position: absolute;
    background: #FFF;
    z-index: 1;
    top: 155px;
    right: 0;
    height: 80px;
    margin: auto;
    width: 80px;
    font-size: 5rem;
    text-align: center;
    font-style: italic;
    line-height: 87px;
    font-family: 'Josefin Sans', sans-serif;
}
.top_content1200 .img .pic img{
	max-width: none;
    height: auto;
}
.top_content1200 .txt {
	width:800px;
	box-sizing:border-box;
	padding:0 80px;
	height:400px;
	position:relative;
	border-top:1px solid #DDD;
	border-bottom: 1px solid #DDD;
    border-right: 1px solid #DDD;
}
.top_content1200 .txt h2 {
    font-size: 1.8rem;
    line-height: 1.7;
    margin-top: 50px;
}
.top_content1200 .txt h3 {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2rem;
    margin: auto;
    width: 100%;
    height: 4rem;
    font-size: 4rem;
	font-family: 'Josefin Sans', sans-serif;
	font-style: italic;
	line-height: 1;
}
.top_content1200 .txt p {
    margin-top: 105px;
}

/* top_works
-----------------------------------------*/
#top_works {
	margin:120px 0 100px;
	position:relative;
    background:#EEE;
}
#top_works h3 {
    position: absolute;
    top: -17px;
	left:0;
	right:0;
	margin:auto;
	width:200px;
	text-align:center;
}
#top_works h3 img {
    margin-bottom: 10px;
	text-align:center;
}
.top_works_in {
	width:1200px;
	margin:0 auto;
	padding:100px 0 70px;
}
.top_works_in ul {
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
.top_works_in ul li {
	width:18%;
	text-align:center;
	margin:1rem 0;
}
.top_works_in ul li h5 {
	margin:.5rem 0;
	line-height:1.3;
}
.top_works_in ul li a {
	font-size:1.2rem;
	color:#777;
}
#top_works .btn a {
	margin-left:auto;
	margin-right:auto;
	width:400px;
	padding: 0 0 10px;
	height: 50px;
}
#top_works .more {
	text-align:center;
}

/* footer_contact
-----------------------------------------*/
#footer_contact {
	width:1200px;
	margin:100px auto;
}
#footer_contact h3 {
    height: 4rem;
    font-size: 4rem;
	font-weight:700;
    font-family: 'Josefin Sans', sans-serif;
	width:1200px;
	text-align:center;
}
#footer_contact ul {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
	text-align:center;
	margin:3rem 0;
}
#footer_contact ul li {
    width: 45%;
    background: #eee;
    padding: 4rem 0;
}
#footer_contact ul li a {
    color:inherit;
}
#footer_contact ul li a:hover {
    text-decoration:none;
}
#footer_contact ul li h4 {
    font-size: 1.9rem;
}
#footer_contact ul li p.tel {
    font-size: 4.5rem;
    font-family: 'Josefin Sans', sans-serif;
}
#footer_contact ul li p.tel .fas {
    font-size: 2.7rem;
}
#footer_contact ul li p.mail {
    font-size: 1.8rem;
}
#footer_contact ul li p.mail2 {
    margin-top:1.1rem;
}
#footer_contact ul li p.mail .fas {
    font-size: 2.7rem;
}
#footer_contact ul li p.mail a {
    padding: 1rem 4.5rem 1.2rem;
    display: inline-block;
    margin-top: 2rem;
    background: #333;
	color:#FFF;
}
#footer_contact ul li p.mail a:hover {
    background: #777;
	color:#FFF;
	transition: 1.0s ;
}

/* footer
-----------------------------------------*/
footer {

}
#footer_in {
    width: 1200px;
    margin: 0 auto;
    padding: 70px 0 50px;
    display: flex;
    justify-content: space-evenly;
}
#footer_in a {
   color:inherit;
}
#footer_in .logo {
    width:400px;
}
#footer_in .logo .sns {
	margin-top: 1rem;
	font-size: 3rem;
}
#footer_in .logo .sns a {
	margin: 0 1rem;
}
#footer_in .logo .sns a .fab:hover {
	color:#999;
}
#footer_in .logo ul {
    margin: 2rem 0 0;
	line-height:1.8;
}
#footer_in .sitemap {
    width: 800px;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
}
#footer_in .sitemap ul li {
    border-left: 1px solid #000;
    margin: 0 0 3.5rem;
    padding: 0 0 0 4rem;
}
#footer_in .sitemap ul li dl dt {
    font-weight:700;
	margin-bottom:.8rem;
	font-size:1.2em;
}
#footer_in .sitemap ul li dl dd {
    margin-top:.5rem;
	line-height:1.5;
	position:relative;
	padding-left: 15px;
}
#footer_in .sitemap ul li dl dd:before {
    content: "\f0da";
    font-family: FontAwesome;
    font-weight: 800;
    position: absolute;
    left: 5px;
}
#footer_in .sitemap ul li dl {

}
.footer_copyright {
    background:#000;
}
.footer_copyright .copyright {
    width: 1200px;
    margin: 0 auto;
    height:30px;
	line-height:30px;
    color:#FFF;
	text-align:right;
}
.footer_copyright a{
    color:#FFF;
}
.footer_print {
	text-align:center;
    width: 1200px;
    margin: 0 auto 60px;
}
.footer_print p {
	margin-bottom:1rem;
    font-size: 1.5em;
}
.footer_print p span {
color: #dc5633;
    font-size: 1.2em;
}

/* sab_title
-----------------------------------------*/
.sab_title {
	display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    z-index: 0;
	box-sizing: border-box;
	padding: 0;
    margin: 0;
    background: #000;
}
.sab_title .title {
    width: 330px;
    position: relative;
    z-index: 1;
    height: 200px;
    background: #000;
    color: #FFF;
	box-sizing: border-box;
}
.sab_title .title h2 {
	position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 50px;
    z-index: 2;
    display: flex;
    align-items: center;
	flex-wrap: wrap;
    align-content: center;
	width: 1000px;
	height: 5rem;
    font-size: 5rem;
    font-family: 'Josefin Sans', sans-serif;
	box-sizing: border-box;
}
.sab_title .pic {
	overflow: hidden;
	width: -webkit-calc(100% - 330px);
    width: calc(100% - 330px);
	position: relative;
	height:180px;
    z-index: 0;
	box-sizing: border-box;
}
.sab_title .pic > img {
    z-index: 0;
    left: 50%;
    min-height: 100%;
    min-width: 100%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
	object-fit: cover;
}
.breadcrumb {
    border-bottom: 1px solid #AAAA;
    padding: 1rem 0 1rem 50px;
    font-size: 90%;
}
.breadcrumb a {
    color:#000;
}
#contents {
	position:relative;
	z-index:0;
	margin: 70px auto;
	width:1200px;
}
#contents h3.main {
    font-size: 3.5rem;
    text-align: center;
    font-weight: 700;
    margin-bottom: 70px;
}
#contents h3.main .sab {
    display: block;
    font-size: 2rem;
    font-family: 'Josefin Sans', sans-serif;
    font-style: italic;
    padding: 3rem 0 0;
}
.sayu_bg {
	display: flex;
    justify-content: space-between;
    margin: 0 0 140px;
}
.sayu_bg img {
	max-width:100%;
	height:auto;
}
.sayu_bg h4 {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.6;
	margin-bottom: 2rem;
}
.sayu_bg .point {
	font-size: 2.5rem;
    font-weight: 700;
    font-family: 'Josefin Sans', sans-serif;
    margin-bottom: 2rem;
    border-bottom: 1px solid #BBB;
    line-height: 1.3;
}
.sayu_bg .point span {
	font-size: 4rem;
	margin-left:.5rem;
}
.sayu_bg .txt_right .point {
	text-align:right;
}
.sayu_bg .txt_right .point span {
	font-size: 4rem;
	margin-left:.5rem;
}
.sayu_bg .txt_left {
	width: 600px;
}
.sayu_bg .txt_left p, .sayu_bg .txt_left h4 {
	padding-right:50px;
}
.sayu_bg .pic_right {
	position:relative;
	z-index:0;
	width: 600px;
}
.sayu_bg .pic_right img {
	position:relative;
	z-index:2;
}
.sayu_bg .pic_right::before {
    content: "";
    position: absolute;
    width: 450px;
    height: 300px;
    background: #eee;
    right: -40px;
    bottom: -40px;
    z-index: 1;
}
.sayu_bg .pic_left {
	position:relative;
	z-index:0;
	width: 600px;
}
.sayu_bg .pic_left img {
	position:relative;
	z-index:2;
}
.sayu_bg .pic_left::before {
    content: "";
    position: absolute;
    width: 450px;
    height: 300px;
    background: #eee;
    left: -40px;
    bottom: -40px;
    z-index: 1;
}
.sayu_bg .txt_right {
	width: 600px;
}
.sayu_bg .txt_right p, .sayu_bg .txt_right h4 {
	padding-left:50px;
}
p.ma_top {
	margin-top:1rem;
}
.sab_category_bg {
	width: 1100px;
    margin: 0 auto;
    padding: 0 50px;
}
.sab_category_bg ul {
    list-style: none;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.sab_category_bg ul li {
	width: 48%;
    border: 1px solid #cbcbcb;
    box-sizing: border-box;
    padding: 1.2rem 2.2rem;
    margin-bottom: 4rem;
}
.sab_category_bg ul li dl dt {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.8;
    position: relative;
    padding: 0px 0px 0.7rem;
    border-bottom: 1px dashed #ccc;
}
.sab_category_bg ul li dl dt:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: 1px solid #CCC;
    bottom: -1px;
    width: 50%;
}
.sab_category_bg ul li dl dd {
    padding: 1.7rem 0 .5rem;
    position: relative;
    overflow: hidden;
	min-height:142px;
}
.sab_category_bg ul li dl dd p.pic {
    float: left;
    margin-right: 1.8rem;
    width:120px;
	height:120px;
}
.sab_category_bg ul li dl dd p.pic img {
  width:100%;
  height:100%;
  object-fit: cover;
}
.sab_category_bg ul li dl dd p.txt {
    line-height: 1.5;
}
.sab_category_bg ul li dl dd p.btn {
    position: absolute;
    bottom: .5rem;
    right: 0px;
}
.sab_category_bg ul li dl dd p.btn a:hover {
	color:#000;
	background-color: #BBB;
}
dl.equal {
	margin-bottom:1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	padding-right: 50px;
}
dl.equal dt {
    width: 50%;
    border: 1px solid #AAA;
    padding: .7rem;
    text-align: center;
    margin-bottom: 0.8rem;
    margin-right: 10%;
}
dl.equal dd {
    width: 40%;
    border: 1px solid #AAA;
    padding: .7rem;
    text-align: center;
    margin-bottom: 0.8rem;
	position:relative;
}
dl.equal dd:before {
    content: "\f061";
    font-family: FontAwesome;
    font-weight: 800;
    position: absolute;
    left: -35px;
}
#contents strong {
	font-weight:bold;
}
.column_list {
	display: inline-block;
    border: 1px dashed #ccc;
    background: #fbfbfb;
    padding: 1.5rem 2rem 1.5rem .5rem;
    margin: 0 0 80px;
    font-size: 1.5rem;
}
.column_list h3 {
	margin: 0 0 .8rem 1rem;
    font-size: 1.8rem;
}
.column_list li {
    line-height: 1.7;
}
.sayu_bg .txt_right .btn {
    margin-top: 3rem;
    margin-left: 50px;
}
.sayu_bg .txt_right .btn a {
	width: 100%;
    height: 50px;
}
.important_txt {
	font-size: 2rem;
}
ul {
  padding: 0;
}
li {
  list-style-type: none;
}
dd {
  margin-left: 0;
}
.flow_bg {
	margin:0 0 100px;
}
.flow {
  padding-left: 120px;
  position: relative;
}
.flow::before {
  content: "";
  width: 18px;
  height: 100%;
  background: #eee;
  margin-left: -8px;
  display: block;
  position: absolute;
  top: 0;
  left: 225px;
}
.flow > li {
  position: relative;
}
.flow > li:not(:last-child) {
  margin-bottom: 8vh;
}
.flow > li .icon {
	font-size: 18px;
    font-size: 1.8rem;
    color: #222;
    background: #eee;
    padding: 15px 50px;
    display: block;
    position: absolute;
    top: 0;
    left: -120px;
    z-index: 100;
    font-family: 'Josefin Sans', sans-serif;
}
.flow > li .icon .number {
	font-size: 28px;
    font-size: 2.8rem;
}
.flow > li .icon::after {
  content: "";
  border-style: solid;
  border-width:10px 0 10px 15px;
  border-color: transparent transparent transparent #ccc;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.flow > li dl {
  	padding-left: 235px;
  	position: relative;
    line-height: 1.7;
    display: flex;
}
.flow > li dl::before,
.flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}
.flow > li dl::before {
	width: 10px;
    height: 10px;
    margin-top: 9px;
    background: #222;
    border-radius: 50%;
    left: 101px;
}
.flow > li dl::after {
	width: 100px;
    border-bottom: 1px dashed #999;
    position: absolute;
	left: 118px;
    top: 29px;
}
.flow > li dl dt {
    margin-right: 2.3rem;
	width: 120px;
}
.flow > li dl dd {
	width: 697px;
}
.flow > li dl .btn a {
	width: 400px;
}
.flow > li dl dd h5 {
	font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
}
dl.faq {
	position: relative;
	z-index:0;
    margin-bottom: 100px;
}
dl.faq dt {
	position: relative;
    z-index: 1;
    background: #222;
    color: #FFF;
    display: inline-block;
    padding: 1.5rem 2rem 1.6rem;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    width: 34rem;
    text-align: center;
    margin: 50px 0 0;
}
dl.faq dd {
	position: relative;
    z-index: 0;
    background: #eee;
    margin: -22px 0 30px 15px;
    padding: 35px 30px 20px;
}
dl.faq dd .btn {
	margin: 1.5rem 0 0 auto;
    display: flex;
    justify-content: flex-end;
}
dl.faq dd .btn a {
    background-color: #CCC;
	width: 300px;
}
dl.faq dd .btn a:hover {
    background-color: #999;
}
dl.faq dd .btn a::after {
    left: -29px;
    width: 50px;
}
dl.faq dd p {
    font-size: 15px;
    margin-bottom:1rem;
}
dl.faq dd p:last-child {
    margin-bottom:0;
}
#faq-pay ul {
    display: flex;
    font-size: 50px;
    font-size: 5.0rem;
}
#faq-pay ul li {
	margin-right: 1rem;
}
.Management_bg {
	margin:0 0 100px;
}
.Management_bg_txt {
	margin:0 auto;
	width:1000px;
}
.Management_bg_txt p {
	margin-bottom:1rem;
}
.Management_bg_txt ul.fa-ul {
	border: 1px solid #333;
    margin: 2rem 0;
    padding: 2rem 5rem;
    line-height: 1.5;
    font-size: 15px;
}
dl.company {
	margin: 100px auto 0; 
    width: 1000px;
    display: flex;
    flex-wrap: wrap;
	box-sizing: border-box;
	line-height: 1.7;
}
dl.company dt {
    width: 250px;
	padding: 1rem 2rem;
    text-align: right;
}
dl.company dd {
    width: 750px;
	padding: 1rem 2rem;
}
dl.company dt:nth-of-type(odd) {
    background: #efefef;
}
dl.company dd:nth-of-type(odd) {
    background: #efefef;
}
.pricecards{
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  align-items: center;
  -webkit-align-items: center;
  justify-content: center;
  -webkit-justify-content: center;
margin: 100px 0;
        }
.pricecard{
  flex: 0 0 32%;
  text-align: center;
  border: 1px solid #777;
  padding-bottom: 2rem;
  box-sizing: border-box;
  margin:0 auto 3em;
        }
        .pricecard h3{
            background: #777;
            color: #fff;
            padding: 15px;
            margin: 0;
    		font-family: 'Josefin Sans', sans-serif;
        }
        .pricecard.premium{
            border: 3px solid #222;
            padding-bottom: 3rem
        }
        .pricecard.premium h3{
	background: #222;
    color: #fff;
    padding: 10px;
    margin: 0;
    font-size: 30px;
    font-size: 3rem;
        }
        .pricecard h4{
            font-size: 4rem;
            margin: 0 auto;
            padding: 20px 0 5px;
    		font-family: 'Josefin Sans', sans-serif;
        }
        .pricecard.free h4, .pricecard.standard h4{
            font-size: 2.5rem;
			font-weight: 700;
        }
        .pricecard h4 span.en {
            font-size: 1.5rem;
        }
        .pricecard h4 span.zei {
            font-size: 1rem;
        }
        .pricecard p{
            margin: 0;
            padding: 1rem 2rem;
            text-align: left;
        }
        .pricecard p.center{
            text-align: center;
        }
        .pricecard a{
            padding: 10px 40px;
            background: #fb5859;
            color: #fff;
            text-decoration: none;
            border-radius: 3px;
            display: inline-block;
        }
        .pricecard.premium a:hover, .pricecard.free a:hover, .pricecard.standard a:hover {
            background: #AAA;
        }
        .pricecard.premium a{
            background: #222;
        }
        .pricecard.free a, .pricecard.standard a {
            background: #777;
        }
@media screen and (max-width: 600px){
.profile_card, .pricecards, .profile_cards {
    flex-direction: column;
    -webkit-flex-direction: column;
}
  .pricecard, .card_photo {
    flex: 0 0 auto;
    -webkit-flex: 0 0 auto;
}
  .pricecard.premium {
    order: 1;
    -webkit-order: 1;
}
}
.Management_bg .wrap table {
    width: 100%;
    margin: 0 auto ;
	text-align:center;
}
.Management_bg .wrap table th {
	text-align:center;
	background:#949494;
	padding:2rem;
	box-sizing: border-box;
	color:#FFF;
    font-size: 18px;
    font-size: 1.8rem;
	border-left: 1px solid #FFF;
}
.Management_bg .wrap table th.premium {
	background:#222;
}
.Management_bg .wrap table td {
	padding:1.3rem;
	box-sizing: border-box;
}
.Management_bg .wrap table tr:nth-child(odd) td {
	background:#EEE;
}
.Management_bg .wrap table th {
	width:20%;
	box-sizing: border-box;
}
.paypal_bg {
	margin:100px 0;
}
.paypal_bg ul {
	display: flex;
    justify-content: space-between;
}
.paypal_bg ul li {
	width:47%;
}
.paypal_bg ul li h4 {
	background: #222;
    color: #FFF;
    padding: 1.5rem 2rem 1.7rem;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
	margin: 0 0;
}
.paypal_bg ul li h4 span {
	background: #FFF;
    color: #222;
    font-weight: 700;
    margin-right: 1rem;
    padding: 0 2rem;
}
.paypal_in {
    padding: 1.5rem 2rem 1.7rem;
	border: 1px solid #222;
}
.paypal_in form {
    margin:1rem 0 0;
}
.paypal_in form input, .paypal_in form select {
    margin:1rem 0 0;
	line-height:2;
}
.achievement {
	margin:0 0 100px;
}
.achievement h4 {
	font-size: 30rem;
	font-size: 3rem;
    font-weight: 700;
    font-family: 'Josefin Sans', sans-serif;
    margin-bottom: 2rem;
    border-bottom: 1px solid #BBB;
    line-height: 1.3;
}
.achievement h4 .fas {
	margin-right:1rem;
}
.achievement h4 span .fas{
	margin-right:1rem;
}
.achievement h4 span.txt {
	float: right;
    font-size: 15px;
}
.achievement h5 {
	margin: .5rem 0;
    line-height: 1.3;
}
.achievement ul {
	display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.achievement ul li {
    width: 21%;
    text-align: center;
    margin: 0 5.33333% 5rem 0;
}
.achievement.sp ul li {
    width: 13%;
    text-align: center;
    margin: 0 5.33333% 5rem 0;
}
.achievement ul li:nth-of-type(4n) {
    margin: 0 ;
}
.achievement ul li a{
	font-size: 1.2rem;
    color: #777;
}
dl.policy {
	margin: 3rem 0;
    line-height: 1.7;
	font-size:15px;
	font-size:1.5rem;
}
dl.policy dt {
	font-weight:700;
}
dl.policy dd {
	margin: 0 0 2rem;
}
.policy h3 {
	margin: 2rem 0;
    font-weight: 700;
    font-size: 20px;
    border-bottom: 1px solid #ddd;
    line-height: 2;
}
.contact h3 {
    margin: 10rem 0 1.5rem;
    font-weight: 700;
    font-size: 22px;
    font-size: 2.2rem;
    border-bottom: 1px solid #333;
    line-height: 2;
}
#contents .contact {
    margin:0 0 100px;
}
.contact h3:nth-of-type(1){
    margin: 0 0 1.5rem;
}
.contact p.tel a {
    font-size: 4.5rem;
    font-family: 'Josefin Sans', sans-serif;
	line-height: 1.5;
}
.contact .tel a .fas {
    font-size: 2.8rem;
}
.contact form {
    margin: 2rem 0;
}
.contact form tr:nth-child(odd) th, .contact form tr:nth-child(odd) td{
    background:#eee;
}
.contact form th, .contact form td{
    padding:1rem 2rem;
    box-sizing: border-box;
    vertical-align: top;
}
.contact form td:nth-child(odd) {
    text-align:right;
    font-weight: 700;
	padding-top: 1.1rem;
    line-height: 1.5;
}

/* form 
----------------------------------*/
select, .text, textarea, input, button {
border: 1px solid #999;
background: #fff;
border-radius: 5px;
background: -webkit-gradient(
 linear,
 left top,
 left bottom,
 from(#eee),
 to(#fff)
 );
-webkit-border-radius: 5px;
background: -moz-linear-gradient(
 top,
 #eee,
 #fff
 );
-moz-border-radius: 5px;
filter: progid:DXImageTransform.Microsoft.gradient
 (startColorstr=#ffeeeeee,endColorstr=#ffffffff);
zoom: 1;
    padding: 1rem;
}
select {
	margin:0.5em 0;
	padding:5px 7px;
}
input[type="text"], input[type="email"], input[type="tel"]{
	padding:5px 7px;
}
input[type="email"] {
	margin-bottom:0.5em;
}
input[type="radio"] {
    margin: 0 .3rem 0 1rem;
}
input[type="checkbox"] {
    margin: 0 .3rem 0 1rem;
}
input[type="submit"] {
	width: 400px;
    margin: 3rem 0 0;
    font-size: 2rem;
    font-weight: 700;
	background:#4a4a4a;
	cursor:pointer;
	color:#FFF;
}
.wpcf7-list-item {
	display:block;
    line-height: 2;
}

/* blog
----------------------------------*/
#blog_bg {
	position: relative;
    z-index: 0;
    margin: 70px auto;
    width: 1200px;
}
#blog_bg h3.main{
    font-size: 3.5rem;
    text-align: center;
    font-weight: 700;
    margin-bottom: 70px;
}
#blog_bg h3.main .sab {
    display: block;
    font-size: 2rem;
    font-family: 'Josefin Sans', sans-serif;
    font-style: italic;
    padding: 3rem 0 0;
}
#blog_bg h3.main.archives {
    font-family: 'Noto Sans Japanese', sans-serif;
}
#blog_bg h3.main.archives span {
    font-weight: 700;
}
.blog_waku {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.blog_main {
	width: 800px;
}
..box_blog_page:last-of-type {
	margin: .5rem 0 1rem;
}
#blog_side {
	width: 300px;
}
h2.blog_h2 {
    line-height: 1.8;
    font-size: 22px;
    font-size: 2.2rem;
}
h2.blog_h2 a {
    color:#222;
}
.box_blog_page {
	margin: .5rem 0 10rem;
    padding: 0 0 2rem;
    font-size: 15px;
    font-size: 1.5rem;
    border: 1px dashed #ccc;
    padding: 1.5rem 2.5rem;
    box-sizing: border-box;
}
.box_blog_page .date {
	text-align:right;
    font-size: 13px;
    font-size: 1.3rem;
	margin-bottom: 1rem;
}
.box_blog_page .date span:first-child {
	margin-right:2rem;
}
.box_blog {
	font-size: 15px;
    font-size: 1.5rem;
	line-height: 1.5;
	box-sizing: border-box;
	word-break: break-all;
}
.box_blog p {
	margin-bottom:1rem;
}
.box_blog img {
	max-width:100%;
	height:auto;
}
#side h3 {
    border-bottom: 1px solid #CCC;
    line-height: 2;
    margin: 0 0 1rem;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 18px;
    font-size: 1.8rem;
}
#side .boxS {
    margin: 0 0 5rem;
}
#side .boxS ul li {
	list-style-type: initial;
    list-style-type: disclosure-open;
    margin-left: 2.2rem;
    line-height: 1.3;
    margin-bottom: .7rem;
}
#side .boxS ul li span {
    display:block;
	color:#777;
}
#side .boxS ul li a {
	color:#333;
}
#side .boxS select {
	margin-left:1rem;
}
#next {
	text-align:center;
    margin-top: -50px;
}

/* wp-pagenavi
----------------------------------*/
.wp-pagenavi {/* 全体 */
    margin: 20px 0;
    font-size: 15px;
    font-size: 1.5rem;
}
.wp-pagenavi a {/* フォント色 */
    color: #222;
}
.pages {/* 左の表記 */
    margin-right: 20px;
}
.wp-pagenavi .current,
.wp-pagenavi a.page {/* ボタン */
    margin: 0 6px 6px 0;
    display: inline-block;
    border: solid 1px #eee;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
}
.wp-pagenavi .current {/* カレント数字 */
    border: none;
    background: #222;
    color: #fff;
}
.wp-pagenavi a.page:hover {/* マウスオーバー */
    background: #777;
    color: #fff;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {/* ... */
    margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {/* 記号の削除 */
    display: none;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: absolute;
  z-index : 3;
  right : 10px;
  top   : 9px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  -webkit-transition: 0.5s all;
  -moz-transition   : 0.5s all;
  transition        : 0.5s all;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #555;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active{
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
	top: 13px;
}
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
.hamburger.active span:nth-child(3) {
  opacity: 0;
}

nav.globalMenuSp {
  position: absolute;
  z-index : 2;
  top  : 60px;
  left : 0;
	color: #fff;
    background: #222;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 100%;
overflow: hidden;
}

nav.globalMenuSp ul {
    background: #222;
	color: #fff;
  margin: 0 auto;
  padding: .5rem 0 .5rem;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}


nav.globalMenuSp ul li dl {
	width:90%;
	margin:1rem auto;
}
nav.globalMenuSp ul li dt {
  	border-bottom: 1px dashed #FFF;
	padding:.5rem 0;
  	margin-bottom:1rem;
}
nav.globalMenuSp ul li dd {
	padding:.3rem 0 .3rem 1.5rem;
	position:relative;
	line-height: 1.5;
}
nav.globalMenuSp ul li dd:before {
    content: "\f0da";
    font-family: FontAwesome;
    font-weight: 800;
    position: absolute;
    left: 5px;
}
nav.globalMenuSp ul li dd a {
  color: #FFF;
  padding: .5rem 0;
  text-decoration :none;
}
nav.globalMenuSp ul li.contact {
    margin: 0 auto 1.5rem;
    width: 90%;
    padding: 1rem 1.5rem;
    text-align: center;
    background: #FFF;
}
nav.globalMenuSp ul li.contact {
    margin: 0 auto 1.5rem;
    width: 90%;
    padding: 1rem 1.5rem 0;
    text-align: center;
    background: #FFF;
}
nav.globalMenuSp ul li.contact span {
	display: block;
}
nav.globalMenuSp ul li.contact a span {
	color:#222;
}
nav.globalMenuSp ul li.contact span.contact_btn {
    background: #ddd;
    padding: 0.8rem 0;
    width: 100%;
	font-size:1.2rem;
}
nav.globalMenuSp ul li.contact span.tel {
    padding: 0.8rem 0;
    width: 100%;
	font-size:2rem;
    font-family: 'Josefin Sans', sans-serif;
	font-weight: 700;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp {
    width:0;
}
nav.globalMenuSp.active {
  transform: translateX(0%);
	width:100%;
}

@media screen and (max-width: 640px){
img {
max-width:100%;
height:auto;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, table, nav, ul, li, dl, dt, dd, ol, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, footer, header, select, .text, textarea, input, button {
max-width:100%;
box-sizing: border-box;
}
.sp_none {
	display:none;
}
.pc_none {
	display:inline;
}
table {
	max-width: 100%;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
}
header {
    padding-top: 0;
}
#hed {
    position: relative;
    justify-content: space-between;
}
#global-nav {
	display:none;
}
#hed {
    height: 60px;
}
#hed .home {
    width: 40%;
    padding-left: 1rem;
}
#logo-head {
	display:none;
}
#tp-visual {
    height: 400px;
    width: 100%;
}
#right-hed {
	display:none;
}
#tp-visual .visual-img .photo {
    height: 400px;
}
#tp-visual .visual-copy {
	position: absolute;
    top: 5rem;
    left: 0;
    right: 0;
    margin: auto;
    width: 90%;
    height: auto;
    text-align: center;
}
.copy-w {
	display:none;
}
#tp-visual .copy {
    font-size: 15px;
    font-size: 1.5rem;
}
#tp-visual .copy .copy-b, #tp-visual .copy .copy-w {
    position: relative;
	line-height: 1.5;
}
#tp-visual .copy-en {
    font-size: 30px;
    font-size: 3rem;
    margin-top: 3rem;
}
#tp-visual .copy-sub {
	font-size: 14px;
    font-size: 1.4rem;
    margin-top: 19rem;
    padding: 0 0rem;
    color: #FFF;
}
#info_bg {
    position: relative;
    bottom: 0;
    left: 0;
    width: 100%;
    min-width: auto;
    max-width: 100%;
    background: #000;
	flex-wrap: wrap;
}
#info_bg .info_bg_title {
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 1rem 1rem .5rem;
	display: flex;
	justify-content: center;
}
#info_bg .info_bg_list {
    width: 100%;
    background: #FFF;
    padding: .5rem 1rem;
    height: auto;
    margin: .5rem;
}
#info_bg .info_bg_list ul {
    line-height: 1.8;
    margin: 0 .5rem;
    font-size: 1.2rem;
}
#info_bg .info_bg_title p.more {
    margin-top: .1rem;
}
#info_bg .info_bg_title .title {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.3rem;
}
#info_bg .info_bg_title p.more a {
    border: 1px solid #FFF;
    padding: .2rem 2rem;
    font-size: .8rem;
    margin-left: 1rem;
    line-height: 1rem;
}
#info_bg .info_bg_list ul li span {
    margin-right: 1rem;
    font-size: .6rem;
}
#top_message {
    width: 90%;
    margin: 4rem auto 0;
}
#top_message .tate p {
    font-size: 1.8rem;
	margin: .5rem 0 1rem;
    font-weight: 700;
}
#top_message .tate img {
    width: 10%;
}
#top_message .txt {
	font-size: 1.2rem;
}
#top_content {
    margin: 4rem auto;
    width: 90%;
}
.top_content100 {
    flex-wrap: wrap;
}
.top_content100 .img {
    width: 100%;
}
.top_content100 .img .pic {
    width: 100%;
    height: 13rem;
}
.top_content100 .img .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.top_content100 .img .number {
    top: 0;
    left: 3rem;
    right: auto;
    height: 5rem;
    margin: auto;
    width: 5rem;
    font-size: 3rem;
    line-height: 5.5rem;
    padding: 0 1rem 0 0;
}
.top_content100 .txt {
    width: 100%;
    padding: 0 0;
    height: auto;
    border-top: 0;
    border-bottom: 0;
}
.top_content100 .txt h2 {
    font-size: 1.5rem;
    line-height: 1.7;
    margin-top: 1rem;
    text-align: center;
}
.top_content100 .txt h3 {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    margin: 1.5rem 0;
    width: 100%;
    height: auto;
    font-size: 4rem;
    text-align: center;
	font-weight: 500;
}
.top_content100 .txt p {
    margin-top: 0;
	font-size:1.2rem;
}
.btn {
    margin-top: 2rem;
}
.btn a {
    margin: 0 auto;
    font-size: 1.2rem;
}
.top_content1200 {
    margin: 4rem auto;
    flex-wrap: wrap;
}
.top_content1200 .img {
    width: 100%;
}
.top_content1200 .img .pic {
    width: 100%;
    height: 13rem;
}
.top_content1200 .img .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.top_content1200 .img .number {
    top: 0;
    left: 3rem;
    right: auto;
    height: 5rem;
    margin: auto;
    width: 5rem;
    font-size: 3rem;
    line-height: 5.5rem;
    padding: 0 1rem 0 0;
}
.top_content1200 .txt {
    width: 100%;
    padding: 0 0;
    height: auto;
    border-top: 0;
    border-bottom: 0;
    border-right: 0;
}
.top_content1200 .txt h2 {
    font-size: 1.5rem;
    line-height: 1.7;
    margin-top: 1rem;
    text-align: center;
}
.top_content1200 .txt h3 {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    margin: 1.5rem 0;
    width: 100%;
    height: auto;
    font-size: 3rem;
    text-align: center;
	font-weight: 500;
}
.top_content1200 .txt p {
    margin-top: 0;
	font-size:1.2rem;
}
#top_works {
    margin: 8rem 0 0;
}
#top_works h3 {
    width: 100%;
    font-size: 14px;
    font-size: 1.4rem;
	top: -1.2rem;
}
#top_works h3 img {
    width: 30%;
}
.top_works_in {
    width: 1200px;
    margin: 0 auto;
    padding: 6rem 5% 3rem;
}
.top_works_in ul li {
    width: 47%;
    margin:.5rem 0 ;
}
.top_works_in ul li a {
    font-size: 1rem;
}
#top_works .btn a {
    width: 80%;
    height: 4rem;
}
#top_works .more {
    text-align: center;
    margin-top: 1rem;
    font-size: 1.5rem;
    font-weight: 700;
}
footer {
	background: #333;
    color: #FFF;
}
#footer_contact {
    margin: 5rem auto;
}
#footer_contact h3 {
    height: 2.5rem;
    font-size: 2.5rem;
}
#footer_contact .center {
    margin:1rem;
	font-size: 1.2rem;
	line-height:1.3;
}
#footer_contact ul {
    margin: 2rem auto;
    padding: 1rem 0;
	background: #eee;
    flex-wrap: wrap;
    width: 90%;
}
#footer_contact ul li {
    width: 100%;
    padding: 1rem 1rem;
}
#footer_contact ul li p {
	font-size: 1rem;
}
#footer_contact ul li p.tel {
    font-size: 2.5rem;
}
#footer_contact ul li p.tel .fas {
    font-size: 1.7rem;
}
#footer_contact ul li p.mail {
    font-size: 1rem;
}
#footer_contact ul li p.mail2 {
    margin-top: .5rem;
}
#footer_contact ul li p.mail a {
    margin-top: 1rem;
}
#footer_map iframe {
	height: 17rem;
}
#footer_in .sitemap {
	display:none;
}
#footer_in {
    text-align:center;
    margin: 0;
    padding: 1rem 0;
}
#footer_in .logo_img {
	display:none;
}
#footer_in .logo ul {
    margin: 0;
    font-size: 1.1rem;
}
.footer_copyright .copyright {
	margin: 0 ;
    height: auto;
    line-height: 2.3;
    color: #FFF;
    text-align: center;
    font-size: .8rem;
}
#footer_in .logo {
    width: auto;
}
.sab_title {
    background: none;
}
.sab_title .title {
    width: 100%;
    z-index: 2;
    height: 10rem;
    background: none;
    color: #FFF;
    box-sizing: border-box;
}
.sab_title .title h2 {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    right: 0;
    z-index: 2;
    display: inline-block;
    align-items: center;
    width: 100%;
    height: 2.6rem;
    font-size: 2.6rem;
    font-family: 'Josefin Sans', sans-serif;
    text-align: center;
}
.sab_title .pic {
    overflow: hidden;
    width: 100%;
    position: absolute;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
.breadcrumb {
    border-bottom: 1px solid #AAAA;
    padding: .5rem 0 .5rem 1rem;
    font-size: .8rem;
}
#contents {
    margin: 3rem auto;
    width: 90%;
}
#contents h3.main {
    font-size: 1.8rem;
    margin-bottom: 3rem;
}
#contents h3.main .sab {
    font-size: 1.3rem;
    padding: 1rem 0 0;
}
.sayu_bg {
    margin: 0 0 3rem;
    flex-wrap: wrap;
}
.sayu_bg .txt_left, .sayu_bg .pic_right, .sayu_bg .pic_left, .sayu_bg .txt_right{
    width: 100%;
}
.sayu_bg .txt_left p, .sayu_bg .txt_left h4 {
    padding-right: 0;
}
.sayu_bg .point {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}
.sayu_bg .point span {
    font-size: 3rem;
}
.sayu_bg h4 {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 1rem;
}
.sayu_bg .pic_right::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    background: none;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.sayu_bg .pic_right {
    margin-top: 1rem;
}
.sayu_bg p {
    font-size: 1.2rem;
}
.sayu_bg .pic_left {
	order: 2;
    margin-top: 1rem;
}
.sayu_bg .pic_left::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    background: none;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.sayu_bg .txt_right .point {
    text-align: left;
    padding-left: 0;
    font-size: 1.5rem;
    margin-bottom: 1rem;
}
.sayu_bg .txt_right .point span {
    font-size: 3rem;
}
.sayu_bg .txt_right p, .sayu_bg .txt_right h4 {
    padding-left: 0;
}
.sab_category_bg {
    width: 100%;
    margin: 7rem auto 0;
    padding: 0 0;
}
.sab_category_bg ul li {
    width: 100%;
    padding: 0.8rem 1.2rem;
    margin-bottom: 2rem;
}
.sab_category_bg ul li dl dt {
    font-size: 1.3rem;
    padding: 0px 0px 0.3rem;
}
.sab_category_bg ul li dl dd {
    padding: 1rem 0 0;
    min-height: auto;
}
.sab_category_bg ul li dl dd p.pic {
    margin-right: 0.8rem;
    width: 5rem;
    height: 5rem;
}
.sab_category_bg ul li dl dd p.txt {
    font-size: 1rem;
}
.sab_category_bg ul li dl dd p.btn {
	position: relative;
    bottom: 0;
    right: 0;
    margin-top: 1rem;
}
.sab_category_bg .btn03 a {
    width: 50%;
    height: 3rem;
    font-size: 1rem;
    background: #eee;
}
.sab_category_bg ul li dl dd p.btn {
    position: relative;
    bottom: auto;
    right: auto;
    width: 100%;
    clear: both;
    margin-top: 1.5rem;
}
.sab_category_bg .btn03 a {
    width: 50%;
    height: 3rem;
    font-size: 1rem;
}
.sab_category_bg .btn03 a::after {
    top: 32%;
    left: -1.4rem;
    width: 2rem;
}
.column_list {
    padding: 1rem 2rem 1rem .5rem;
    margin: 0 0 3rem;
    font-size: 1.2rem;
}
.column_list h3 {
    margin: 0 0 .4rem 1rem;
    font-size: 1.2rem;
}
dl.equal {
    align-items: center;
	padding-right: 0;
	font-size: 1.3rem;
}
dl.equal dd:before {
    left: -18%;
}
.sayu_bg .txt_right .btn {
    margin: 2rem auto;
    width: 90%;
}
.sayu_bg .txt_right .btn a {
    height: 4rem;
    font-size: 1.1rem;
}
.Management_bg_txt p {
    font-size: 1.2rem;
}
.pricecards {
    margin: 3rem 0;
}
.pricecard.premium {
	order: 1;
}
.pricecard.standard {
	order: 2;
}
.pricecard.free {
	order: 3;
}
.pricecard.premium h3 {
    font-size: 20px;
    font-size: 2rem;
}
.pricecard h3 {
    font-size: 20px;
    font-size: 2rem;
}
.pricecard p:nth-of-type(2) {
	font-size:1.2rem;
}
.Management_bg .wrap table th {
    padding: .7rem .5rem;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.3;
}
.Management_bg .wrap table td {
    padding: .7rem .5rem;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.3;
	vertical-align: middle;
}
.Management_bg .wrap table tr:last-child td {
	text-align:left;
}
.Management_bg .wrap table td .fas {
	font-size: 2rem;
	color: #777;
}
dl.faq dt {
    padding: 1rem 1.5rem 1rem;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 400;
    width: 100%;
    text-align: left;
    margin: 3rem 0 0;
}
dl.faq dd {
    margin: 0;
    padding: 1rem 1.5rem;
}
dl.faq dd p {
    font-size: 1.2rem;
}
dl.faq dd .btn {
    margin: 1.5rem auto .5rem;
    justify-content: center;
    width: 80%;
}
dl.faq dd .btn a {
    width: 100%;
    font-size: 1.1rem;
}
.btn03 a::after {
	right: -.9rem;
    width: 2.5rem;
}
dl.faq dd .btn a::after {
    left: -1.9rem;
    width: 3rem;
}
#faq-pay ul {
    font-size: 30px;
    font-size: 3rem;
}
.flow {
    padding-left: 0;
}
.flow::before {
    content: "";
    width: 0;
    height: 0;
    top: 0;
    left: 0;
}
.flow > li .icon {
    font-size: 12px;
    font-size: 1.2rem;
    padding: 1rem 2rem;
    display: block;
    position: relative;
    top: 0;
    left: 0;
}
.flow > li .icon::after {
    border-width: 0;
    top: 0;
    left: 0;
}
.flow > li .icon .number {
    font-size: 24px;
    font-size: 2.4rem;
}
.flow > li dl {
    padding-left: 0;
	display: inline-block;
	margin-top: 1.5rem;
}
.flow > li dl::after, .flow > li dl::before {
	display:none;
}
.flow > li dl dt {
    width: 30%;
    float: left;
    margin-right: 1.5rem;
}
.flow > li dl dd h5 {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.5;
	margin-bottom:.5rem;
}
.flow > li dl dd p {
	font-size: 1.2rem;
    line-height: 1.5;
	overflow: auto;
}
.flow > li dl dd .btn {
	margin-top: 3rem;
}
.flow > li:not(:last-child) {
    margin-bottom: 2rem;
}
.flow > li dl .btn a {
    width: 90%;
    font-size: 1.1rem;
    margin-bottom: 2rem;
}
.no_center {
	text-align:left;
}
.Management_bg_txt p.important_txt {
    font-size: 1.8rem;
    line-height: 1.5;
}
.achievement h4 {
    font-size: 18px;
    font-size: 1.8rem;
}
.achievement h4 span.txt {
    float: right;
    font-size: 1.2rem;
    display: block;
    margin-top: .5rem;
}
.achievement ul {

}
.achievement ul li {
    width: 47%;
    margin: .5rem 0;
}
.achievement ul li:nth-child(odd) {
    margin-right:6%;
}
.achievement ul li a {
    font-size: 1rem;
}
.Management_bg_txt ul.fa-ul {
    margin: 2rem 0;
    padding: 1rem 4rem;
    font-size: 1.3rem;
}
dl.company {
    margin: 3rem auto 0;
	font-size: 1.2rem;
}
dl.company dt {
    width: 15%;
    padding: 1rem 1rem;
    text-align: center;
    line-height: 1.2;
}
dl.company dd {
    width: 85%;
    padding: 1rem 1rem;
    line-height: 1.5;
}
.Management_bg {
    margin: 0 0 5rem;
}
.Management_bg.policy {
	font-size: 1.2rem;
}
.policy h3 {
    font-size: 1.6rem;
}
dl.policy {
    margin: 2rem 0;
    font-size: 12px;
    font-size: 1.2rem;
}
.contact_hed_txt {
    font-size: 1.2rem;
}
.contact h3:nth-of-type(1) {
    margin: 0 0 1rem;
}
.contact h3 {
    margin: 5rem 0 1rem;
    font-size: 17px;
    font-size: 1.7rem;
}
.contact p.tel {

}
.contact p.tel a {
    font-size: 2.5rem;
}
.contact .tel a .fas {
    font-size: 1.8rem;
}
.contact p {
    font-size: 1.2rem;
}
.contact table tr {
	display: flex;
    flex-wrap: wrap;
}
.contact table {

}
.contact table td {
	width: 100%;
	font-size: 1.2rem;
	margin-bottom: 1rem;
}
.contact table td font{
	font-size: 1rem;
}
.contact form td:nth-child(odd) {
    text-align: left;
    padding: .5rem 1rem 0;
    margin: 0;
}
select, .text, textarea, input, button {
	font-size: 1.1rem;
}
select,input[type="date"] {
	width:100%;
}
input[type="submit"] {
    width: 80%;
    font-size: 1.5rem;
    margin: 1rem 0 0;
}
#blog_bg {
    margin: 3rem auto;
}
#blog_bg h3.main {
    font-size: 2rem;
    margin-bottom: 2rem;
}
#blog_bg h3.main .sab {
    font-size: 1.2rem;
    padding: 1rem 0 0;
}
.blog_waku {
    width: 90%;
    margin: 0 auto;
}
h2.blog_h2 {
    line-height: 1.5;
    font-size: 14px;
    font-size: 1.4rem;
}
.box_blog_page {
    margin: .5rem 0 4rem;
    font-size: 13px;
	font-size: 1.3rem;
    line-height: 1.5;
    padding: .7rem 1rem;
	border: 1px solid #aaa;
}
.box_blog_page .date {
    font-size: 10px;
    font-size: 1rem;
}
.box_blog p {
    margin-bottom: .7rem;
    font-size: 1.3rem;
    line-height: 1.5;
}
.box_blog a, .box_blog ul {
    font-size: 1.3rem;
    line-height: 1.5;
}
#next {
    margin-top: 0;
}
.wp-pagenavi {
    font-size: 12px;
    font-size: 1.2rem;
}
.wp-pagenavi .current, .wp-pagenavi a.page {
    margin: 0 10px 10px 0;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    line-height: 2;
}
#blog_side {
    width: 100%;
    margin: 3rem 0;
}
#side .boxS {
    margin: 0 0 3rem;
}
#side h3 {
    line-height: 1.5;
    margin: 0 0 1rem;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
}
#side .boxS ul li {
    font-size: 1.3rem;
}
#side .boxS select {
    margin-left: 0;
}
.box_blog img {
    margin: 1rem 0 0;
}
.box_blog {
	word-break: break-all;
}
.paypal_img img {
	width:50%;
}
.paypal_bg {
    margin: 3rem 0;
}
.paypal_bg ul {
    flex-wrap: wrap;
}
.paypal_bg ul li {
    width: 100%;
    margin: 2rem 0;
}
.paypal_bg ul li h4 {
    padding: 1rem 2rem 1rem;
    font-size: 13px;
    font-size: 1.3rem;
	line-height:1.3;
}
.paypal_bg ul li h4 span {
    margin-right: 0;
    padding: .3rem 2rem;
    display: block;
    margin-bottom: .5rem;
}
.paypal_in p {
	font-size: 1.3rem;
}
#jp-relatedposts .jp-relatedposts-items-visual {
    margin-right: 0!important;
}
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
	width: 33%!important;
	padding-right: 4%!important;
}
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:nth-child(3n) {
    clear: none!important;
	padding-right: 0!important;
}
#jp-relatedposts .jp-relatedposts-items p, #jp-relatedposts .jp-relatedposts-items time, #jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title {
    font-size: 1.1rem!important;
    line-height: 1.5!important;
}
.footer_print {
	text-align:center;
    width:90%;
    margin: 1rem auto;
}
.footer_print p {
    font-size: 1.1rem;
	margin-bottom:.3rem;
}
.footer_print p span {
    font-size: 1.2rem;
	font-weight:700;
}
.achievement ul li:nth-of-type(4n) {
    margin: .5rem 0;
}
}

form.wpcf7-form{display:flex;flex-direction:column}
form.wpcf7-form>table{width:100%}
form.wpcf7-form>.wpcf7-turnstile{order:1;margin:2rem auto 0}
form.wpcf7-form>div:not(.wpcf7-turnstile):not(.wpcf7-response-output){order:2}
form.wpcf7-form>.akismet-fields-container{order:3}
form.wpcf7-form>.wpcf7-response-output{order:4}