@charset "utf-8";
html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}


/* common
-------------------------------------------------------*/
#wrapper {
	overflow: hidden;
}
.serif {
    font-family: yu-mincho-pr6, sans-serif;
    font-weight: 400;
}
.sp {
	display: none;
}
.area {
	padding: 90px 20px;
	box-sizing: border-box;
}
.inner {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	box-sizing: border-box;
}
.inner960 {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	box-sizing: border-box;
}
.inner1040 {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
	box-sizing: border-box;
    background: rgba(255,255,255,0.9);
    padding: 50px 40px;
}
.inner1200 {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}
.ttl01 {
	margin: 0 0 50px;
	line-height: 1;
    font-family: 'Roboto', sans-serif;
    font-size: 320%;
    font-weight: 300;
    color: #666;
}
.ttl01 span {
	font-family: source-han-sans-cjk-ja, sans-serif;
    font-size: 40%;
    margin: 30px 0 0;
    display: block;
    font-weight: 500;
}
.ttl01.out {
    max-width: 960px;
    margin: 0 auto 30px;
}
.contact {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}
.ttl_blue {
    color: #2d6d9d;
}
.ttl_blue span {
    font-size:80%;
    
}
@media screen and (max-width:768px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block;
	}
	.area {
		padding: 30px 20px;
	}
	.inner {
		max-width: 100%;
	}
    .inner1040 {
        padding: 20px;
    }
    .ttl01 {
        font-size: 230%;
        margin: 0 0 30px;
    }
    .ttl01 span {
        margin: 20px 0 0;
        font-size: 45%;
    }
	.contact {
		flex-flow: column;
	}
	.contact li {
		width: 100%;
		height: 100%;
	}
}

/* visual
-------------------------------------------------------*/
#visual {
	padding: 0;
	box-sizing: border-box;
    height: 750px;
}
#visual .main_ttl {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding: 300px 0 0 20px;
    font-size: 230%;
    color: #fff;
    font-weight: lighter;
    letter-spacing: 5px;
}
#visual .main_ttl p {
    text-shadow: 0 0 10px rgba(0,0,0,1); 
}
@media screen and (max-width:768px) {
    #visual {
        height: 400px;
    }
    #visual .main_ttl {
        padding: 160px 0 0 10px;
        font-size: 160%;
    }
}


/* header
-------------------------------------------------------*/
#header .inner {
    max-width: 100%;
    position: relative;
}
#header .top {
    padding: 10px 20px;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-end;
    justify-content: space-between;
}
#header .top .logo img {
    max-width: 156px;
}
#header #top_nav {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
}
#header #top_nav li {
    margin: 0 0 0 40px;
    line-height: 1;
}
#header #top_nav li a {
    color: #fff;
    font-size: 80%;
    line-height: 1;
    position: relative;
    font-weight: 500;
}
#header #top_nav li a::before {
    position: absolute;
    content: "";
    display: block;
    background: url("../img/common/top_nav_arrow.png")no-repeat left center/5px 9px;
    width: 5px;
    height: 9px;
    top: 50%;
    transform: translate(-50%,-50%);
    left: -7px;
}
#header #nav_pc {
    background: rgba(255,255,255,0.8);
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    padding: 10px 0;
}
#header #nav_pc li {
    /*padding: 0 45px;*/
	padding: 0 30px;
}
#header #nav_pc li a {
    font-size: 90%;
    color: #333;
    font-weight: 500;
}

@media screen and (max-width:768px) {
    #header .top {
        padding: 10px;
    }
}

/* nav
-------------------------------------------------------*/
@media screen and (max-width:768px) {
/* toggle_menu */
    #btn_nav {
        position: fixed;
        top: 14px;
        right: 10px;
        z-index: 999;
        cursor: pointer;
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        height: 18px;
    }
    #btn_nav span {
        display: inline-block;
        background: #fff;
        width: 25px;
        height: 2px;
        transition: .5s;
        position: relative;
    }
    #btn_nav.active span {
        background: #fff;
        transform: translateY(8px) rotate(225deg);
    }
    #btn_nav.active span:nth-child(2) {
        transform: scaleX(0);
    }
    #btn_nav.active span:last-child {
        transform: translateY(-8px) rotate(-225deg);
    }
    #nav_sp nav {
        position: fixed;
        top: 0;
        height: 100%;
        width: 100%;
        overflow: hidden;
        overflow: auto;
        background: #000;
        right: -100%;
        z-index: 998;
        transition: .5s;
    }
    #nav_sp nav .ttl {
        color: #fff;
        font-weight: 500;
        padding: 10px;
    }
    #nav_sp nav.active {
        right: 0;
    }
    #nav_sp nav.active::after {
        left: 0;
    }
    #nav_sp ul.nav01 li:first-child {
        border-top: 1px solid #333;
    }
    #nav_sp ul.nav01 li {
        border-bottom: 1px solid #333;
    }
    #nav_sp ul.nav01 li a {
        display: block;
        color: #fff;
        padding: 10px;
    }
    #nav_sp ul.nav02 {
       display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: flex-start;
        padding: 10px;
    } 
    #nav_sp ul.nav02 li {
        margin: 0 20px 0 0;
    }
    #nav_sp ul.nav02 li a {
        color: #fff;
        font-size: 90%;
        position: relative;
        padding: 0 0 0 15px;
        line-height: 1;
    }
    #nav_sp ul.nav02 li a::before {
        position: absolute;
        content: ">";
        display: block;
        color: #fff;
        top: 50%;
        transform: translate(-50%,-50%);
        left: 5px;
    }
/* toggle_menu end */
}



/* breadcrumb
-------------------------------------------------------*/
.breadcrumb {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    margin: 30px auto 0;
    max-width: 1200px;
    padding: 0 0 0 20px;
}
.breadcrumb li {
    color: #fff;
    margin: 0 20px 0 0;
    position: relative;
    line-height: 1;
    text-shadow: 0 0 10px rgba(0,0,0,1); 

}
.breadcrumb li:not(:last-child)::after {
    position: absolute;
    content: ">";
    display: block;
    color: #fff;
    top: 50%;
    transform: translate(-50%,-50%);
    right: -17px;
} 
.breadcrumb li a {
    color: #fff;
    line-height: 1;
}
@media screen and (max-width:768px) {
    .breadcrumb {
        margin: 20px auto 0;
        font-size: 85%;
        padding: 0 0 0 10px;
    }
}

/* btm_contact
-------------------------------------------------------*/
.btm_contact .inner {
    background: #f5f5f5;
    padding: 60px 20px;
}
.btm_contact .ttl {
    font-size: 130%;
    text-align: center;
    margin: 0 0 30px;
    color: #666666;
}
.btm_contact ul {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
}
.btm_contact ul li {
    padding: 0 20px;
}
.btm_contact ul li:first-child img {
    max-width: 357px;
}
.btm_contact ul li:last-child img {
    max-width: 367px;
}
@media screen and (max-width:768px) {
    .btm_contact .inner {
        padding: 30px;
    }
    .btm_contact .ttl {
        font-size: 120%;
        margin: 0 0 20px;
    }
    .btm_contact ul {
        flex-flow: column;
    }
    .btm_contact ul li {
        padding: 0;
    }
    .btm_contact ul li:first-child {
        margin: 0 0 20px;
    }
    .btm_contact ul li:first-child img {
        max-width: 357px;
    }
    .btm_contact ul li:last-child img {
        max-width: 367px;
    }
}

/* footer
-------------------------------------------------------*/
#footer {
	text-align: center;
    background: #f5f5f5;
}
#footer.area {
    padding: 60px 20px 80px;
}
#footer .nav_footer {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    margin: 0 0 30px;
}
#footer .nav_footer li {
    padding: 0 20px;
    position: relative;
}
#footer .nav_footer li:not(:last-child)::after {
    position: absolute;
    content: "／";
    display: block;
    color: #333;
    right: -15px;
    top: 50%;
    transform: translate(-50%,-50%);
}
#footer .nav_footer li a {
    color: #666;
}
#footer .logo {
    margin: 0 0 20px;
}
#footer .logo img {
    max-width: 145px;;
}
#footer .txt {
    text-align: center;
    margin: 0 0 40px;
    line-height: 1.8;
}
#footer .copy {
	font-size: 85%;
}
@media screen and (max-width:768px) {
    #footer.area {
        padding: 40px 20px;
    }
    #footer .nav_footer li {
        padding: 0 10px;
        font-size: 80%;
    }
    #footer .nav_footer li:not(:last-child)::after {
        right: -12px;
top: 50%;
    }
    #footer .txt {
        margin: 0 0 30px;
        font-size: 90%;
    }
    #footer .copy {
        font-size: 85%;
    }
	
	#footer .nav_footer li a {
		font-size: 90%;
	}
}


/* arrow
-------------------------------------------------------*/
.arrow_blue_l {
    background: url("../img/common/arrow_blue_l.png")no-repeat left center/17px 20px;
    min-width: 17px;
    height: 20px;
    display: block;
    margin: 0 5px 0 0;
}
.arrow_blue_s {
    background: url("../img/common/arrow_blue_l.png")no-repeat left center/10px 14px;
    min-width: 10px;
    height: 14px;
    display: block;
    padding: 13px 10px 0 0;
}
.arrow_blue {
    background: url("../img/common/arrow_blue.png")no-repeat left center/9px 13px;
    min-width: 9px;
    height: 13px;
    display: block;
    margin: 0 5px 0 0;
}
.arrow_black {
    background: url("../img/common/arrow_black.png")no-repeat left center/6px 9px;
    min-width: 6px;
    height: 9px;
    display: block;
    margin: 0 5px 0 0;
}

.dot {
	margin-right: 3px;
}

/* 共通レイアウト
-------------------------------------------------------*/
/* トップ画像回り込み */
.ttl_img_box {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
.ttl_img_box.half {
    margin: 0 0 30px;
}
.ttl_img_box.half .txt_box {
    width: 45%;
}
.ttl_img_box.half .pc.img {
    width: 50%;
}
/* テーブル */
.table {
    width: 100%;
}
.table:not(:last-child) {
    margin: 0 0 50px;
}
.table dl {
    margin: 0 0 20px;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
.table dt {
    width: 20%;
    padding: 5px 0;
}
.table dd {
    width: 80%;
    border-left: 1px solid #bfbfbf;
    box-sizing: border-box;
    padding: 5px 0 5px 30px;
}
.table dd.bold {
    font-weight: 700;
}
.table_ttl {
    font-size: 120%;
    margin: 0 0 20px;
}
.table iframe {
    margin: 10px 0 0;
}
.table dd span {
    width: 160px;
    display: inline-block;
}


@media screen and (max-width:768px) {
#company .table dd span {
    width:auto;
    display: block;
    margin-bottom: -5px;
}
}


/* 横並び 5 */
.layout05 {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
.layout05 li {
    width: 18%;
}
.layout05 li .txt_box {
    background: #eeeeee;
    padding: 10px;
}
.layout05 li .txt_box .ttl_blue {
    font-size: 105%;
    margin: 0 0 5px;
    font-weight: 500;
}
.layout05 li .txt_box .txt {
    font-size: 90%;
    line-height: 1.8;
}
/* 横並び 5 背景あり */
.layout05.w_bg li .txt_box {
    background: rgba(255,255,255,0.7);
    padding: 10px;
}
/* 横並び 4 */
.layout04 {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
.layout04 li {
    width: 23%;
}
.layout04 li .txt_box {
    background: #eeeeee;
    padding: 10px;
}
.layout04 li .txt_box .ttl_blue {
    font-size: 105%;
    margin: 0 0 5px;
    font-weight: 500;
}
.layout04 li .txt_box .txt {
    font-size: 90%;
    line-height: 1.8;
}
/* 横並び 4 背景あり */
.layout04.w_bg li .txt_box {
    background: rgba(255,255,255,0.7);
    padding: 10px;
}
/* 横並び 3 */
.layout03 {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
.layout03 li {
    width: 30%;
}
.layout03 li .txt_box {
    background: #eeeeee;
    padding: 10px;
}
.layout03 li .txt_box .ttl_blue {
    font-size: 105%;
    margin: 0 0 5px;
    font-weight: 500;
}
.layout03 li .txt_box .txt {
    font-size: 90%;
    line-height: 1.8;
}
/* 横並び 3 背景あり */
.layout03.w_bg li .txt_box {
    background: rgba(255,255,255,0.7);
    padding: 10px;
}
/* 交互にリバース　*/
.reverse li {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
.reverse li:not(:last-child) {
    margin: 0 0 30px;
}
.reverse li:nth-child(2n) {
    flex-flow: row-reverse;
}
.reverse li .left {
    width: 45%;
}
.reverse li .right {
    width: 50%;
}
.reverse li .ttl {
    font-weight: 500;
    font-size: 120%;
    margin: 0 0 20px;
}
.reverse li .txt {
    font-size: 110%;
    line-height: 1.8;
}
/* 50:50　*/
.in_half {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
.in_half .left {
    width: 45%;
}
.in_half .right {
    width: 50%;
}

@media screen and (max-width:768px) {
    .ttl_img_box.half {
        margin: 0 0 10px;
    }
    .ttl_img_box.half .sp.img_sp {
        margin: 0 0 10px;
    }
    .ttl_img_box.half .txt_box {
        width: 100%;
    }
    .ttl_img_box.half .pc.img {
        width: 100%;
    }
    .table:not(:last-child) {
        margin: 0 0 30px;
    }
    .table dt {
        width: 30%;
        font-size: 90%;
    }
    .table dd {
        width: 70%;
        padding: 5px 0 5px 20px;
        font-size: 90%;
    }
    .table_ttl {
        font-size: 110%;
    }
    .table iframe {
        margin: 0 0 10px;
    }
    .layout05 {
        flex-flow: column;
        align-items: flex-start;
        justify-content: space-between;
    }
    .layout05 li {
        width: 100%;
    }
    .layout05 li:not(:last-child) {
        margin: 0 0 30px;
    }
    .layout04 {
        flex-flow: column;
        align-items: flex-start;
        justify-content: space-between;
    }
    .layout04 li {
        width: 100%;
    }
    .layout04 li:not(:last-child) {
        margin: 0 0 30px;
    }
    .layout03 {
        flex-flow: column;
        align-items: flex-start;
        justify-content: space-between;
    }
    .layout03 li {
        width: 100%;
    }
    .layout03 li:not(:last-child) {
        margin: 0 0 30px;
    }
    .reverse li {
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
    .reverse li:not(:last-child) {
        margin: 0 0 20px;
    }
    .reverse li:nth-child(2n) {
        flex-flow: column;
    }
    .reverse li .left {
        width: 100%;
    }
    .reverse li .right {
        width: 100%;
    }
    .reverse li .ttl {
        font-size: 110%;
        margin: 0 0 10px;
    }
    .reverse li .txt {
        font-size: 90%;
        margin: 0 0 20px;
    }
    .in_half {
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
    .in_half .left {
        width: 100%;
        margin: 0 0 20px;
    }
    .in_half .right {
        width: 100%;
    }
}

/* 共通パーツ
-------------------------------------------------------*/
.apply {
    background: #2d6d9d;
    max-width: 370px;
    margin: 90px auto 0;
}
.apply a {
    color: #fff;
    font-weight: bold;
    font-size: 200%;
    text-align: center;
    display: block;
    padding: 10px 0;
}
.ofuro::before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/common/ofuro.png")no-repeat left top/65px 30px;
    width: 65px;
    height: 30px;
}
.kitchen::before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/common/kitchen.png")no-repeat left top/77px 30px;
    width: 77px;
    height: 30px;
    left: 0;
    top: 15px;
}
.washitsu::before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/common/washitsu.png")no-repeat left top/51px 30px;
    width: 51px;
    height: 30px;
    left: 0;
    top: 15px;
}
.yane::before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/common/yane.png")no-repeat left top/51px 30px;
    width: 51px;
    height: 30px;
    left: 0;
    top: 15px;
}
.mizu::before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/common/mizu.png")no-repeat left top/60px 30px;
    width: 60px;
    height: 30px;
    left: 0;
    top: 15px;
}
.btn_blue {
    margin: 0 auto;
    background: #2d6d9d;
    padding: 10px;
}
.btn_blue a {
    color: #fff;
    font-weight: bold;
    font-size: 110%;
    text-align: center;
    display: block;
}
@media screen and (max-width:768px) {
    .apply {
        margin: 30px 0 0;
        padding: 0 20px;
    }
    .apply img {
        max-width: 275px;
    }
    .btn_blue a{
        font-size: 100%;
        text-align: center;
    }
}

/* index
-------------------------------------------------------*/
#visual.index {
	background: url("../img/index/visual.png")no-repeat center/cover;
    height: auto;
}
#visual.index #area01 {
    max-width: 1220px;
    margin: 160px auto 20px;
    padding: 0 20px;
}
#visual.index #area01 .ttl {
    color: #fff;
    font-size: 130%;
    text-shadow: 0 0 10px rgba(0,0,0,1); 
    margin: 0 0 20px;
    line-height: 1;
}
#visual.index #area01 ul {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
#visual.index #area01 ul li {
    width: 23%;
}
#visual.index #area01 ul li .box {
    background: #fff;
    padding: 30px;
    margin: 0 0 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.5); 
}
#visual.index #area01 ul li .box .sub_ttl {
    text-align: center;
    line-height: 1.4;
    margin: 0 0 20px;
    font-weight: 500;
}
#visual.index #area01 ul li .box .img {
    text-align: center;
}
#visual.index #area01 ul li .box .img img {
    max-width: 136px;
}
#visual.index #area01 ul li .txt {
    font-size: 95%;
}

#index .area {
    padding: 40px 0;
}
#index .inner1200 {
    max-width: 1240px;
    padding: 0 20px;
}
#index .ttl_box {
    margin:  0 0 50px;
}
#index .ttl_box .ttl {
    color: #fff;
    font-size: 230%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 320px 20px 40px;
}
#index #area02 .ttl_box {
    background: url("../img/index/area02_visual.png")no-repeat center/cover;
}
#index #area02 ul.lineup {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
}
#index #area02 ul.lineup>li {
    width: 48%;
}
#index #area02 ul.lineup>li .top {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    padding: 0 0 20px;
    margin: 0 0 20px;
    border-bottom: 1px solid #d2d2d2;
}
#index #area02 ul.lineup>li .top p {
    font-size: 110%;
    line-height: 1;
}
#index #area02 ul.lineup>li .top p span {
    font-size: 150%;
}
#index #area02 ul.lineup>li .select_area {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 20px;
}
#index #area02 ul.lineup>li .select_area .box {
    width: 49%;
}
#index #area02 ul.lineup>li:nth-child(-n+3) {
    margin: 0 0 50px;
}
#index #area02 ul.lineup>li .select_area .box .img {
    margin: 0 0 10px;
}
#index #area02 ul.lineup>li .select_area .box .txt {
    text-align: center;
}
#index #area02 ul.lineup>li .service_area .ttl {
    color: #2c6c9c;
    margin: 0 0 5px;
    line-height: 1;
    font-size: 90%;
}
#index #area02 ul.lineup>li .service_area .sub_nav {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
}
#index #area02 ul.lineup>li .service_area .sub_nav a {
    font-size: 90%;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    margin: 0 20px 0 0;
}
#index #area03 .ttl_box {
    background: url("../img/index/area03_visual.png")no-repeat center/cover;
}
#index #area03 ul  {
    padding: 0 0 0 90px;
}
#index #area03 ul li a {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
}
#index #area03 ul li a .box {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
	width: 10%;
}
#index #area03 ul li:not(:last-child) {
    margin: 0 0 20px;
}
#index #area03 ul li a .date {
    font-size: 90%;
    width: 15%;
	margin-right: 30px;
}
#index #area04 .ttl_box {
    background: url("../img/index/area04_visual.png")no-repeat center/cover;
}
#index #area04 .inner1200 {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
}
#index #area04 .left {
    margin: 0 70px 0 0;
}
#index #area04 .left .logo {
    margin: 0 0 30px;
}
#index #area04 .left .logo img {
    max-width: 188px;
}
#index #area04 .left ul li {
    font-size: 90%;
}
#index #area04 .left ul li:not(:last-child) {
    margin:  0 0 20px;
}
#index #area04 .left ul li .ttl {
    font-weight: 500;
    line-height: 1;
    margin: 0 0 5px;
}
#index #area04 .right img {
    max-width: 675px;
}
#index #area05 .ttl_box {
    background: url("../img/index/area05_visual.png")no-repeat center/cover;
}
#index #area05 ul {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
#index #area05 ul li {
    width: 48%;
}
#index #area05 ul li .img {
    margin: 0 0 20px;
}
#index #area05 ul li .ttl {
    font-weight: 500;
    margin: 0 0 10px;
    line-height: 1;
}
#index #area05 ul li .txt {
    font-size: 90%;
}

.calt {
	background: #f0f0f0;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
}

.calt ul {
	display: flex;
	align-items: center;
}



.calt ul li:nth-child(odd) {
	width: 40%;
}

.calt ul li:nth-child(even) {
	width: 60%;
	font-size: 110%;
}

.calt ul li .caption {
	font-size: 80%;
}

.calt ul li #txtAddr {
	padding: 5px;
	height: 40px;
	width: 80%;
	margin-right: 10px;
}

.calt_sub01 {
	background: #2c6c9c;
	padding: 5px 15px;
	border-radius: 50px;
	color: #fff;
	font-size: 130%;
	margin-right: 10px;
}

.calt_sub02 {
	font-size: 250%;
	font-weight: bolder;
	color: #2c6c9c;
	display: inline-block;
}

.calt input[type="button"] {
	padding: 10px 15px;
	color: #fff;
	background: #2c6c9c;
	border: none;
}

.calt_img {
	width: 100px;
	position: absolute;
	left: -30px;
	top: -60px;
}
#index .ig {
    margin: 50px 0 0;
    text-align: center;
}
#index .ig img {
    max-width: 300px;
}
#index #area04 img {
    width: 100%;
}
#index #area04 .sp01 {
    display: none;
}
@media screen and (max-width:1000px) {
    #index #area04 .pc01 {
        display: none;
    }
    #index #area04 .sp01 {
        display: block;
    }
    #index #area04 .inner1200 {
        flex-flow: column;
        justify-content: flex-start;
        align-items: center;
    }
    #index #area04 .left {
        margin: 0 0 30px;
    }
    #index #area04 .right {
        text-align: center;
        width: 100%;
    }
    #index #area04 .right img {
        width: 300px;
    }
}
@media screen and (max-width:768px) {
    #visual.index {
        background: url("../img/index/visual_sp.png")no-repeat top center/contain;
    }
    #visual.index #area01 {
        margin: 100px auto 20px;
    }
    #visual.index #area01 {
        padding: 0 20px;
    }
    #visual.index #area01 .ttl {
        font-size: 120%;
    }
    #visual.index #area01 ul {
        flex-flow: row wrap;
    }
    #visual.index #area01 ul li {
        width: 48%;
    }
    #visual.index #area01 ul li:nth-child(-n+2) {
        margin: 0 0 30px;
    }
    #visual.index #area01 ul li .box {
        padding: 20px 10px;
        box-shadow: 0 0 5px rgba(0,0,0,0.5); 
    }
    #visual.index #area01 ul li .box .img img {
        max-width: 80px;
    }
    #visual.index #area01 ul li .box .sub_ttl {
        font-size: 90%;
    }
    #visual.index #area01 ul li .txt {
        font-size: 90%;
    }
    #index .area {
        padding: 30px 0;
    }
    #index .ttl_box {
        margin:  0 0 30px;
    }
    #index .ttl_box .ttl {
        font-size: 150%;
        padding: 100px 0 20px 20px;
    }
    #index .inner1200 {
        padding: 0 20px;
    }
    #index #area02 ul.lineup {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #index #area02 ul.lineup>li {
        width: 100%;
    }
    #index #area02 ul.lineup>li:not(:last-child) {
        margin: 0 0 40px;
    }
    #index #area02 ul.lineup>li .top p {
        font-size: 90%;
    }
    #index #area02 ul.lineup>li .top p span {
        font-size: 140%;
    }
    #index #area02 ul.lineup>li .select_area {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #index #area02 ul.lineup>li .select_area .box {
        width: 100%;
    }
    #index #area02 ul.lineup>li .select_area .box:first-child {
        margin: 0 0 20px;
    }
    #index #area02 ul.lineup>li:nth-child(-n+2) {
        margin: 0 0 40px;
    }
    #index #area02 ul.lineup>li .select_area .box .img {
        margin: 0 0 10px;
    }
    #index #area02 ul.lineup>li .service_area .sub_nav {
        flex-flow: row wrap;
    }
    #index #area02 ul.lineup>li .service_area .sub_nav a {
        margin: 0 30px 0 0;
    }
    #index #area03 ul  {
        padding: 0;
    }
    #index #area03 ul li a {
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
    #index #area03 ul li a .box {
        margin: 0 0 5px;
		width: auto;
    }
    #index #area03 ul li a .date {
        width: 100%;
    }
    #index #area03 ul li a .txt {
        font-size: 90%;
        padding: 0 0 0 13px;
    }
    #index #area05 ul {
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
    #index #area05 ul li {
        width: 100%;
    }
    #index #area05 ul li:first-child {
        margin:  0 0 30px;
    }
    #index #area05 ul li .txt {
        font-size: 85%;
    }
	
	
	
	.calt {
	padding: 15px;
}

.calt ul {
	display:block;
	align-items: center;
}



.calt ul li:nth-child(odd) {
	width: 100%;
}

.calt ul li:nth-child(even) {
	width: 100%;
	font-size: 100%;
}

.calt ul li .caption {
	font-size: 80%;
}

.calt ul li #txtAddr {
	padding: 5px;
	height: 30px;
	width: 100%;
	margin-right: 5px;
	box-sizing: border-box;
	margin-bottom: 10px;
}

.calt_sub01 {
	background: #2c6c9c;
	padding: 5px 15px;
	border-radius: 50px;
	color: #fff;
	font-size: 100%;
	margin-right: 0px;
	width: 100%;
	text-align: center;
	display: block;
	box-sizing: border-box;
}

.calt_sub02 {
	font-size: 170%;
	font-weight: bolder;
	color: #2c6c9c;
	display: block;
	text-align: center;
}

.calt input[type="button"] {
	padding: 5px 15px;
	color: #fff;
	background: #2c6c9c;
	border: none;
	width: 100px;
	margin: 0 auto;
	display: block;
	margin-bottom: 10px;
}

.calt_img {
	width: 60px;
	position: absolute;
	left: 20px;
	top: -30px;
}
}

/* custom_home
-------------------------------------------------------*/
#visual.custom_home {
	background: url("../img/custom_home/visual_bg.png")no-repeat center/cover;
}
#custom_home #area02 {
    background: url("../img/custom_home/area02_bg.png")no-repeat center/cover;
}
#custom_home #area02 ul li {
    width: 48%;
}
#custom_home #area02 ul li .img {
    margin: 0 0 20px;
}
#custom_home #area02 ul li .ttl {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    font-size: 130%;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #bebebe;
}
#custom_home #area03 {
    background: url("../img/custom_home/area03_bg.png")no-repeat center/cover;
}
#custom_home #area03 .left {
    width: 50%;
}
#custom_home #area03 .right {
    width: 48%;
}
#custom_home #area03 .img {
    margin: 0 0 20px;
}
#custom_home #area03 .ttl_blue {
    padding: 0 10px;
    font-weight: 500;
    font-size: 110%;
}
#custom_home #area03 .txt {
    padding: 0 10px;
}
#custom_home #area03 .right {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
}
#custom_home #area03 .right li {
    width: 48%;
}
#custom_home #area03 .right li:nth-child(-n+2) {
    margin: 0 0 20px;
}
#custom_home #area04 {
    background: url("../img/custom_home/area04_bg.png")no-repeat center/cover;
}
#custom_home #area04 .ttl_img_box {
    margin: 0 0 20px;
}
#custom_home #area05 {
    background: url("../img/custom_home/area05_bg.png")no-repeat center/cover;
}
#custom_home #area06.area {
    padding: 90px 20px 0;
}
@media screen and (max-width:768px) {
    #custom_home #area02 ul li {
        width: 100%;
    }
    #custom_home #area02 ul li:not(:last-child) {
        margin: 0 0 30px;
    }
    #custom_home #area02 ul li .img {
        margin: 0 0 10px;
    }
    #custom_home #area02 ul li .ttl {
        font-size: 120%;
        margin: 0 0 10px;
        padding: 0 0 10px;
    }
    #custom_home #area03 .left {
        width: 100%;
    }
    #custom_home #area03 .right {
        width: 100%;
    }
    #custom_home #area03 .img {
        margin: 0 0 10px;
    }
    #custom_home #area03 .ttl_blue {
        font-size: 100%;
    }
    #custom_home #area03 .txt {
        font-size: 90%;
    }
    #custom_home #area03 .right {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #custom_home #area03 .right li {
        width: 100%;
    }
    #custom_home #area03 .right li:nth-child(-n+2) {
        margin: 0 0 20px;
    }
    #custom_home #area03 .right li:not(:last-child) {
        margin: 0 0 20px;
    }
    #custom_home #area04 .ttl_img_box {
        margin: 0;
    }
    #custom_home #area04 .ttl_img_box .img_sp {
        margin: 0 0 10px;
    }
    #custom_home #area06.area {
        padding: 30px 20px 0;
    }
}

/* condominium
-------------------------------------------------------*/
#visual.condominium.visual01 {
	background: url("../img/condominium/visual_bg.png")no-repeat center/cover;
}
#visual.condominium.visual02 {
	background: url("../img/condominium/visual_bg02.png")no-repeat center/cover;
}
#condominium #area01 ul {
    height: 230px;
    overflow-y: scroll;
}
#condominium #area01 ul li {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    border-bottom: 1px solid #e5e5e5;
    margin: 0 0 20px;
    padding: 0 0 20px;
}
#condominium #area01 ul li .date {
    width: 20%;
    padding: 0 0 0 70px;
    box-sizing: border-box;
    position: relative;
}
#condominium #area01 ul li .date.new::before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/condominium/new.png")no-repeat left center/50px 20px;
    width: 50px;
    height: 20px;
    left: 26px;
    top: 50%;
    transform: translate(-50%,-50%);
}
#condominium #area01 ul li .txt {
    width: 80%;
}
#condominium #area02 {
    background: url("../img/condominium/area02_bg.png")no-repeat center/cover;
}
#condominium #area02 .img {
    margin: 0 0 10px;
}
#condominium #area02 .ttl_blue {
    font-size: 110%;
    margin: 0 0 10px;
    font-weight: 500;
	line-height: 1.3;
}
#condominium #area02 .txt {
    font-size: 90%;
}
#condominium #area02 .right {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
}
#condominium #area02 .right li {
    width: 48%;
}
#condominium #area02 .right li:nth-child(-n+2) {
    margin: 0 0 40px;
}
#condominium #area03 {
    background: url("../img/condominium/area03_bg.png")no-repeat center/cover;
}

.example_fiv ul {
	display: flex;
	justify-content: space-between;
}

.example_fiv ul li {
	width: 19%;
}
#condominium #area04 {
    background: url("../img/condominium/area04_bg.png")no-repeat center/cover;
    text-align: center;
}
#condominium #area04 .top_txt {
    margin: 0 0 30px;
    text-align: center;
}
#condominium #area04 .btn {
    text-align: center;
}
#condominium #area04 .btn a {
    display: inline-block;
    padding: 5px 50px;
    box-sizing: border-box;
    color: #fff;
    background: #2d6d9d;
    border-radius: 50px;
    font-size: 120%;
}
#condominium #area04 .caution {
    font-size: 90%;
    margin: 5px 0 0;
    text-align: center;
}
@media screen and (max-width:768px) {
    #condominium #area01 ul {
        height: 180px;
    }
    #condominium #area01 ul li {
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
        margin: 0 0 10px;
        padding: 0 0 10px;
    }
    #condominium #area01 ul li .date {
        width: 100%;
        padding: 0;
    }
    #condominium #area01 ul li .date.new {
        padding: 0 0 0 60px;
    }
    #condominium #area01 ul li .txt {
        width: 100%;
        font-size: 90%;
    }
    #condominium #area02 .ttl_blue {
        font-size: 100%;
    }
    #condominium #area02 .txt {
        font-size: 90%;
    }
    #condominium #area02 .right {
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
    #condominium #area02 .right li {
        width: 100%;
    }
    #condominium #area02 .right li:nth-child(-n+2) {
        margin: 0 0 20px;
    }
    #condominium #area03 {
        background: url("../img/condominium/area03_bg.png")no-repeat center/cover;
    }
	
	.example_fiv ul {
	display: flex;
	justify-content: space-between;
		flex-wrap: wrap;
}

.example_fiv ul li {
	width: 48%;
	margin-bottom: 20px;
}
}


/* about_yazawa
-------------------------------------------------------*/
#visual.about_yazawa {
	background: url("../img/about_yazawa/visual_bg.png")no-repeat center/cover;
}
#about_yazawa #area01 {
    background: url("../img/about_yazawa/area01_bg.png")no-repeat right top;
}
#about_yazawa #area01 .ttl_img_box {
    margin: 0 0 30px;
}
#about_yazawa #area01 .ttl_img_box .txt_box {
    width: 70%;
    padding: 0 40px 0 0;
    box-sizing: border-box;
}
#about_yazawa #area01 .ttl_img_box .img {
    width: 30%;
}
#about_yazawa #area01 .ttl_img_box .img img {
    max-width: 308px;
}
#about_yazawa #area01 .box {
    margin: 0 0 40px;
}
#about_yazawa #area01 .box:last-child {
    margin: 0 0 60px;
}
#about_yazawa #area01 .box .ttl {
    font-size: 110%;
    margin: 0 0 10px;
    font-weight: 700;
}
#about_yazawa #area01 .sign {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
}
#about_yazawa #area01 .sign .name {
    margin: 0 0 10px;
    padding: 0 55px 0 0;
}

#about_yazawa #area01 .sign .img img {
    max-width: 240px;
}
#about_yazawa #area02 {
    background: url("../img/about_yazawa/area02_bg.png")no-repeat center/cover;
}
#about_yazawa #area02 .txt {
    margin: 0 0 40px;
}
#about_yazawa #area02 ul li {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#about_yazawa #area04 {
    background: url("../img/about_yazawa/area04_bg.png")no-repeat center/cover;
}
@media screen and (max-width:768px) {
    #about_yazawa #area01 .ttl_img_box {
        margin: 0 0 30px;
    }
    #about_yazawa #area01 .ttl_img_box .txt_box {
        width: 100%;
        padding:0;
    }
    #about_yazawa #area01 .ttl_img_box .img_sp {
        width: 100%;
        text-align: center;
    }
    #about_yazawa #area01 .ttl_img_box .img_sp img {
        max-width: 200px;
    }
    #about_yazawa #area01 .ttl_img_box .txt {
        margin: 20px 0 0;
    }
    #about_yazawa #area01 .box {
        margin: 0 0 30px;
    }
    #about_yazawa #area01 .box:last-child {
        margin: 0 0 40px;
    }

}


/* about_yazawagroup
-------------------------------------------------------*/
#visual.about_yazawagroup {
	background: url("../img/about_yazawagroup/visual_bg.png")no-repeat center/cover;
}
#about_yazawagroup #area01 {
    background: url("../img/about_yazawagroup/area01_bg.png")no-repeat right top/contain;
}
#about_yazawagroup #area01 .ttl_img_box {
    margin: 0 0 30px;
}
#about_yazawagroup #area01 .ttl_img_box .txt_box {
    width: 70%;
    padding: 0 40px 0 0;
    box-sizing: border-box;
}
#about_yazawagroup #area01 .ttl_img_box .img {
    width: 30%;
}
#about_yazawagroup #area01 .ttl_img_box .img img {
    max-width: 308px;
}
#about_yazawagroup #area01 .box {
    margin: 0 0 40px;
}
#about_yazawagroup #area01 .box:last-child {
    margin: 0 0 60px;
}
#about_yazawagroup #area01 .box .ttl {
    font-size: 110%;
    margin: 0 0 10px;
    font-weight: 700;
}
#about_yazawagroup #area01 .sign {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
}
#about_yazawagroup #area01 .sign .name {
    margin: 0 0 10px;
    padding: 0 55px 0 0;
}
#about_yazawagroup #area01 .sign .img img {
    max-width: 240px;
}
#about_yazawagroup #area02 {
    background: url("../img/about_yazawagroup/area02_bg.png")no-repeat center/cover;
}
#about_yazawagroup #area02 .txt {
    margin: 0 0 40px;
}
#about_yazawagroup #area02 ul li {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#about_yazawagroup #area03 {
    background: url("../img/about_yazawagroup/area03_bg.png")no-repeat center bottom/cover;
	background-color: #f3faff;

}
#about_yazawagroup #area03 .txt {
    margin: 0 0 460px;
}
#about_yazawagroup #area05 {
    background: url("../img/about_yazawagroup/area05_bg.png")no-repeat center/cover;
}

@media screen and (max-width:768px) {
    #about_yazawagroup #area01 .ttl_img_box {
        margin: 0 0 30px;
    }
    #about_yazawagroup #area01 .ttl_img_box .txt_box {
        width: 100%;
        padding:0;
    }
    #about_yazawagroup #area01 .ttl_img_box .img_sp {
        width: 100%;
        text-align: center;
    }
    #about_yazawagroup #area01 .ttl_img_box .img_sp img {
        max-width: 200px;
    }
    #about_yazawagroup #area01 .ttl_img_box .txt {
        margin: 20px 0 0;
    }
    #about_yazawa #area01 .box {
        margin: 0 0 30px;
    }
    #about_yazawa #area01 .box:last-child {
        margin: 0 0 40px;
    }
    #about_yazawagroup #area03 .txt {
        margin: 0 0 120px;
    }

}

/* education
-------------------------------------------------------*/
#visual.education {
	background: url("../img/education/visual_bg.png")no-repeat center/cover;
}
#education #area02 {
    background: url("../img/education/area02_bg.png")no-repeat center/cover;
}
#education #area03 {
    background: url("../img/education/area03_bg.png")no-repeat center/cover;
}
@media screen and (max-width:768px) {

}

/* interview
-------------------------------------------------------*/
#visual.interview {
	background: url("../img/interview/visual_bg.png")no-repeat center/cover;
}
#interview #area01 {
    background: url("../img/interview/area01_bg.png")no-repeat center/cover;
}
#interview #area02 {
    background: url("../img/interview/area02_bg.png")no-repeat center/cover;
}
#interview #area03 {
    background: url("../img/interview/area03_bg.png")no-repeat center/cover;
}
#interview #area04 {
    background: url("../img/interview/area04_bg.png")no-repeat center/cover;
}
@media screen and (max-width:768px) {

}


/* recruit_guide
-------------------------------------------------------*/
#visual.recruit_guide {
	background: url("../img/recruit_guide/visual_bg.png")no-repeat center/cover;
}
#recruit_guide #area01 ul.layout05 li {
    width: 18%;
    position: relative;
}
#recruit_guide #area01 ul.layout05 li:not(:last-child)::after {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/recruit_guide/area01_arrow.png")no-repeat center/14px 18px;
    width: 14px;
    height: 18px;
    right: -23px;
    top: 63px;
}
#recruit_guide #area02 {
    background: url("../img/recruit_guide/area02_bg.png")no-repeat center/cover;
}
#recruit_guide #area02 .inner1040 {
    background: none;
    padding: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
#recruit_guide #area02 .box {
    width: 48%;
    background: rgba(255,255,255,0.9);
    padding: 50px 40px;
    box-sizing: border-box;
}
#recruit_guide #area02 .box .ttl01 {
    font-size: 280%;
}
#recruit_guide #area02 .box .txt {
    margin: 0 0 10px;
}
#recruit_guide #area02 .box .img {
    margin: 0 0 40px;
}
#recruit_guide #area02 .btn_blue {
    max-width: 290px;
}
#recruit_guide #area03 {
    background: url("../img/recruit_guide/area03_bg.png")no-repeat center/cover;
}
@media screen and (max-width:768px) {
    #recruit_guide #area01 ul.layout05 li {
        width: 100%;
    }
    #recruit_guide #area01 ul.layout05 li:not(:last-child)::after {
        transform: rotate(90deg);
        right: 46%;
        top: inherit;
        bottom: -25px;
    }
    #recruit_guide #area02 .inner1040 {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #recruit_guide #area02 .box {
        width: 100%;
        padding: 30px 20px;
    }
    #recruit_guide #area02 .box:not(:last-child) {
        margin: 0 0 30px;
    }
    #recruit_guide #area02 .box .ttl01 {
        font-size: 200%;
    }
    #recruit_guide #area02 .box .txt {
        font-size: 90%;
    }
    #recruit_guide #area02 .box .img {
        margin: 0 0 30px;
    }
}




/* corporate
-------------------------------------------------------*/
#visual.corporate {
	background: url("../img/corporate/visual_bg.png")no-repeat center/cover;
}

#corporate #area02 {
    background: url("../img/corporate/area02_bg.png")no-repeat center/cover;
}
#corporate #area03 .box {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#corporate #area03 .box:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
    padding: 0 0 30px;
    margin: 0 0 30px;
}
#corporate #area03 .box .left {
    width: 35%;
    padding: 0 50px 0 0;
    box-sizing: border-box;
}
#corporate #area03 .box .left .img {
    margin: 0 0 10px;
}
#corporate #area03 .box .left .ttl_blue {
    font-weight: 500;
    font-size: 110%;
    margin: 0 0 10px;
}
#corporate #area03 .box .right {
    width: 65%;
}
#corporate #area03 .box .right ul {
    margin:  0 0 20px;
}
#corporate #area03 .box .right ul li {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
}
#corporate #area03 .box .right ul li:not(:last-child) {
    margin: 0 0 20px;
}
#corporate #area03 .box .right ul li .circle {
    margin: 0 20px 0 0;
    position: relative;
}
#corporate #area03 .box .right ul li:not(:last-child) .circle::after {
    position: absolute;
    display: block;
    content: "";
    background: #e5e5e5;
    width: 6px;
    height: 30px;
    bottom: -9px;
    right: 50%;
    transform: translate(50%,50%);
}
#corporate #area03 .box .right ul li .circle span {
    background: #e5e5e5;
    font-weight: 500;
    font-size: 90%;
    border-radius: 50%;
    color: #000;
    width: 70px;
    height: 70px;
    display: inline-block;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.2;
}
#corporate #area03 .box .right ul li .txt {
    font-size: 90%;
    line-height: 2;
}
#corporate #area03 .box .right .caution {
    text-align: right;
    font-size: 90%;
}
#corporate #area04 {
    background: #f5f3f3;
}
#corporate #area04 ul .img {
    margin: 0 0 10px;
}
#corporate #area04 ul .ttl_blue {
    font-size: 110%;
}
#corporate #area05 {
    background: url("../img/corporate/area05_bg.png")no-repeat center/cover;
}
#corporate #area05 .ttl_img_box {
    margin: 0 0 30px;
}
#corporate #area05 .ttl_img_box .txt_box {
    width: 45%;
}
#corporate #area05 .ttl_img_box .pc.img {
    width: 50%;
}
#corporate #area05 ul li:not(:last-child) {
    margin: 0 0 30px;
}
#corporate #area05 ul li .ttl {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 110%;
    font-weight: 500;
    margin: 0 0 10px;
}
#corporate #area05 ul li .ttl span {
    display: block;
    background: url("../img/corporate/area04_icon.png")no-repeat left center/24px 24px;
    min-width: 24px;
    height: 24px;
    margin: 3px 10px 0 0;
}
#corporate #area06 {
    background: url("../img/corporate/area06_bg.png")no-repeat center/cover;
}
#corporate #area06 .ttl {
    font-weight: 500;
    margin: 0 0 20px;
    font-size: 110%;
}
@media screen and (max-width:768px) {
    #corporate #area03 .box {
        flex-flow: column;
    }
    #corporate #area03 .box:not(:last-child) {
        padding: 0 0 20px;
        margin: 0 0 20px;
    }
    #corporate #area03 .box .left {
        width: 100%;
        padding: 0 0 30px;
    }
    #corporate #area03 .box .right {
        width: 100%;
    }
    #corporate #area03 .box .right ul {
        margin:  0 0 20px;
    }
    #corporate #area03 .box .right ul li:not(:last-child) .circle::after {
        bottom: -31px;
        height: 70px;
    }
    #corporate #area03 .box .right ul li .circle span {
        font-size: 80%;
        width: 60px;
        height: 60px;
    }
    #corporate #area03 .box .right ul li .txt {
        font-size: 90%;
        line-height: 1.5;
    }
    #corporate #area03 .box .right .caution {
        text-align: right;
        font-size: 90%;
    }    
    #corporate #area04 ul .ttl_blue {
        font-size: 100%;
    }
    #corporate #area05 .ttl_img_box {
        margin: 0 0 20px;
    }
    #corporate #area05 .ttl_img_box .txt_box {
        width: 100%;
    }
    #corporate #area05 .ttl_img_box .pc.img {
        width: 100%;
    }
    #corporate #area05 .ttl_img_box .img_sp {
        margin: 0 0 20px;
    }
    #corporate #area05 ul li:not(:last-child) {
        margin: 0 0 20px;
    }
    #corporate #area05 ul li .txt {
        font-size: 90%;
    }
    #corporate #area06 {
        background: url("../img/corporate/area06_bg.png")no-repeat top right;
    }
}


/* renovate
-------------------------------------------------------*/
#visual.renovate {
	background: url("../img/renovate/visual_bg.png")no-repeat center/cover;
}
#renovate #area01 ul .txt_box {
    background: none;
}
#renovate #area02 {
    background: url("../img/renovate/area02_bg.png")no-repeat center/cover;
}
#renovate #area04 {
    background: url("../img/renovate/area04_bg.png")no-repeat center/cover;
}
#renovate #area04 ul li {
    width: 48%;
}
#renovate #area04 ul li .img {
    margin: 0 0 30px;
}
#renovate #area04 ul li .ttl {
    font-size: 130%; 
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid #d2d2d2;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
}
#renovate #area05 {
    background: url("../img/renovate/area05_bg.png")no-repeat center/cover;
}
#renovate #area05 .top {
    margin: 0 0 40px;
}
#renovate #area05 .top .img_box {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
}
#renovate #area05 .top .img_box .img {
    width: 48%;
    margin:  0 0 10px;
}
#renovate #area05 .top .ttl_blue {
    padding: 0 10px;
    margin: 0 0 10px;
    font-weight: 500;
    font-size: 110%;
}
#renovate #area05 ul li .img {
    position: relative;
}
#renovate #area05 .top .txt {
    padding: 0 10px;
}
#renovate #area06 {
    background: url("../img/renovate/area06_bg.png")no-repeat center/cover;
}
#renovate #area07 {
    background: url("../img/renovate/area07_bg.png")no-repeat center/cover;
}
#renovate #area08 {
    background: url("../img/renovate/area08_bg.png")no-repeat center/cover;
}
#renovate #area08 .box {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: center;
}
#renovate #area08 .box ul {
    padding: 0 25px;
}
#renovate #area08 .box ul.right {
    margin: 100px 0 0;
}
#renovate #area08 .box li {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
}
#renovate #area08 .box li:not(:last-child) {
    margin: 0 0 10px;
}
#renovate #area08 .box li .num {
    font-size: 310%;
    border: 1px solid #72914d;
    border-radius: 50%;
    color: #72914d;
    font-weight: 100;
    min-width: 88px;
    height: 88px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 10px 0 0;
}
#renovate #area08 .box li .txt {
    font-size: 120%;
    font-weight: 500;
}
#renovate #area09.area {
    padding: 90px 20px 0;
}
#renovate #area09 .top_txt {
    margin: 0 0 20px;
}
#renovate #area09 ul li .img {
    margin: 0 0 20px;
}
#renovate #area09 ul li .ttl_blue {
    font-weight: 500;
    margin: 0 0 10px;
    font-size: 110%;
}
#renovate #area09 .left {
    width: 48%;
}
#renovate #area09 .right {
    width: 48%;
}
#renovate #area09 .btn_blue {
    max-width: 190px;
    margin:  30px auto 0;
}
@media screen and (max-width:768px) {
    #renovate #area02 {
        background: url("../img/renovate/area02_bg_sp.png")no-repeat center/cover;
    }
    #renovate #area04 ul li {
        width: 100%;
    }
    #renovate #area04 ul li:first-child {
        margin: 0 0 30px;
    }
    #renovate #area04 ul li .img {
        margin: 0 0 20px;
    }
    #renovate #area04 ul li .ttl {
        font-size: 120%; 
    }
    #renovate #area05 .top {
        margin: 0 0 30px;
    }
    #renovate #area05 .top .img_box {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #renovate #area05 .top .img_box .img {
        width: 100%;
        margin:  0 0 10px;
    }
    #renovate #area05 .top .ttl_blue {
        font-size: 105%;
        margin: 0 0 5px;
    }
    #renovate #area05 .top .txt {
        font-size: 90%;
    }
    #renovate #area05 ul li:not(:last-child) {
        margin: 0 0 20px;
    }
    #renovate #area07 .img_sp {
        margin: 0 0 10px;
    }
    #renovate #area07 .in_half .left {
        margin: 0;
    }
    #renovate #area08 .box {
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
    #renovate #area08 .box ul {
        padding: 0;
    }
    #renovate #area08 .box ul.right {
        margin: 0;
    }
    #renovate #area08 .box li {
        margin: 0 0 10px;
    }
    #renovate #area08 .box li .num {
        font-size: 130%;
        min-width: 40px;
        height: 40px;
    }
    #renovate #area08 .box li .txt {
        font-size: 100%;
    }
    #renovate #area09.area {
        padding: 30px 20px 0;
    }
    #renovate #area09 ul li:first-child {
        margin: 0 0 30px;
    }
    #renovate #area09 ul li .img {
        margin: 0 0 10px;
    }
    #renovate #area09 ul li .ttl_blue {
        font-size: 110%;
    }
    #renovate #area09 .left {
        width: 100%;
    }
    #renovate #area09 .right {
        width: 100%;
    }
    #renovate #area09 .btn_blue {
        margin:  20px auto 0;
    }
}


/* company
-------------------------------------------------------*/
#visual.company {
	background: url("../img/company/visual_bg.png")no-repeat center/cover;
}
#company #area01 {
    background: url("../img/company/area01_bg.png")no-repeat right top;
}
#company #area01 .top_txt {
    width: 50%;
    margin: 0 0 40px;
}
#company #area01 .ttl {
    font-size: 130%;
    margin: 0 0 20px;
    font-weight: 500;
}
#company #area01 .txt {
    margin: 0 0 40px;
    width: 50%;
}
#company #area01 ul li {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#company #area02 {
    background: url("../img/company/area02_bg.png")no-repeat center/cover;
}

.comp_box{
	padding: 30px;
}

.bg_glay {
	/*background: #f0f0f0;*/
}

.company_sub01 {
	font-size: 160%;
}
.company_sub02 {
	font-size: 130%;
	margin-bottom: 10px;
	line-height: 1.3;
}

.comp_box .table_ttl {
	background: #f0f0f0;
	padding: 10px 20px;

}

@media screen and (max-width:768px) {
    #company #area01 {
        background: url("../img/company/area01_bg_sp.png")no-repeat center/cover;
    }
    #company #area01 .top_txt {
        width: 100%;
        margin: 0 0 20px;
    }
    #company #area01 .ttl {
        font-size: 120%;
        margin: 0 0 10px;
    }
    #company #area01 .txt {
        margin: 0 0 20px;
        width: 100%;
    }
	.company_sub01 {
	font-size: 130%;
}
.company_sub02 {
	font-size: 110%;
	margin-bottom: 10px;
	line-height: 1.3;
}
	.comp_box{
	padding: 0px;
}
}


/* taiho
-------------------------------------------------------*/
#visual.taiho {
	background: url("../img/taiho/visual_bg.png")no-repeat center/cover;
}
#taiho #area01 {
    background: url("../img/taiho/area01_bg.png")repeat-y center/contain;
}
#taiho .sub_ttl {
    font-size: 120%;
    font-weight: 500;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #b5b5b5;
    line-height: 1;
}
#taiho .box:not(:last-child) {
    margin: 0 0 50px;
} 
#taiho .ttl_in {
    font-weight: 500;
    margin: 0 0 20px;
}
#taiho #con02 ul li {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#taiho #con02 ul li:not(:last-child) {
    margin: 0 0 50px;
}
#taiho #con02 ul li .icon {
    margin: 0 30px 0 0;
}
#taiho #con02 ul li .icon img {
    min-width: 84px;
    max-width: 84px;
}
#taiho #con05 {
    margin: 0 0 300px;
}
#taiho #con06 .img {
    text-align: center;
    padding: 20px 0 0;
}
#taiho #con06 .img img {
    max-width: 465px;
}
@media screen and (max-width:768px) {
    #taiho .sub_ttl {
        font-size: 110%;
    }
    #taiho #con02 ul li {
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
    }
    #taiho #con02 ul li:not(:last-child) {
        margin: 0 0 30px;
    }
    #taiho #con02 ul li .icon {
        margin: 0 0 10px;
    }
    #taiho #con02 ul li .icon img {
        min-width: 60px;
        max-width: 60px;
    }
    #taiho #con05 {
        margin: 0 0 300px;
    }
    #taiho #con06 .img {
        text-align: center;
        padding: 20px 0 0;
    }
    #taiho #con06 .img img {
        max-width: 465px;
    }
}


/* sdgs
-------------------------------------------------------*/
#visual.sdgs {
	background: url("../img/sdgs/visual_bg.png")no-repeat center/cover;
}
#sdgs .box:not(:last-child) {
    margin: 0 0 50px;
} 
#sdgs .sub_ttl {
    font-size: 120%;
    font-weight: 500;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #b5b5b5;
    line-height: 1;
}
#sdgs #area01 {
    background: url("../img/sdgs/area01_bg.png")no-repeat center/cover;
}
#sdgs #con01 .txt {
    margin: 0 0 30px;
    font-size: 130%;
}
#sdgs #con01 .img {
    text-align: center;
}
#sdgs #con01 .img img {
    max-width: 643px;
}
#sdgs #con03 .top_txt {
    margin: 0 0 40px;
}
#sdgs #con03 ul li {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
#sdgs #con03 ul li:not(:last-child) {
    margin: 0 0 40px;
}
#sdgs #con03 ul li .img {
    margin: 0 30px 0 0;
}
#sdgs #con03 ul li .img img {
    max-width: 140px;
    min-width: 140px;
}

@media screen and (max-width:768px) {
    #sdgs .sub_ttl {
        font-size: 110%;
    }
    #sdgs #con01 .txt {
        font-size: 110%;
    }
    #sdgs #con03 .top_txt {
        margin: 0 0 30px;
    }
    #sdgs #con03 ul li {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #sdgs #con03 ul li:not(:last-child) {
        margin: 0 0 30px;
    }
    #sdgs #con03 ul li .img {
        margin: 0 0 10px;
    }
}


/* recruit_info
-------------------------------------------------------*/
#visual.recruit_info {
	background: url("../img/recruit_info/visual_bg.png")no-repeat center/cover;
}
#recruit_info #area01 .inner960 {
    position: relative;
}
#recruit_info #area01 .inner960::before {
    display: block;
    content: "";
    position: absolute;
    background: url("../img/recruit_info/area01_bg.png")no-repeat center/960px 112px;
    width: 960px;
    height: 112px;
    top: 36px;
}
#recruit_info #area01 .ttl {
    text-align: center;
    font-size: 200%;
    line-height: 1.4;
    position: relative;
    z-index: 2;
}
#recruit_info #area03 {
    background: url("../img/recruit_info/area03_bg.png")no-repeat center/cover;
}
#recruit_info #area03 .txt {
    margin: 0 0 30px;
}
#recruit_info #area03 .txt_box .ttl_blue {
    text-align: center;
    margin: 0;
}
#recruit_info #area04 {
    background: url("../img/recruit_info/area04_bg.png")no-repeat center/cover;
}
#recruit_info #area04 .txt_box .ttl_blue {
    text-align: center;
    margin: 0;
}
#recruit_info #area05 {
    background: url("../img/recruit_info/area05_bg.png")no-repeat center/cover;
}
#recruit_info #area05 ul li {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: flex-start;
}
#recruit_info #area05 ul li:not(:last-child) {
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #666666;
}
#recruit_info #area05 ul li .ttl {
    font-size: 110%;
    font-weight: 500;
    width: 25%;
}
#recruit_info #area05 ul li .txt_box {
    width: 75%;
    font-size: 110%;
}
#recruit_info #area05 ul li .txt_box .box .ttl_blue {
    margin: 0 0 10px;
    font-weight: 500;
}
#recruit_info #area05 ul li .txt_box .box .sub_ttl {
    font-weight: 700;
    margin: 0 0 5px;
}
#recruit_info #area05 ul li .txt_box .box .txt {
    margin: 0 0 20px;
}
#recruit_info #contact {
    background: #fff;
}
#recruit_info #contact tr > * {
    vertical-align: middle;
}
@media screen and (max-width:768px) {
    #recruit_info #area01 .inner960::before {
        background: url("../img/recruit_info/area01_bg.png")no-repeat center/330px 56px;
        width: 330px;
        height: 56px;
        top: 20px;
    }
    #recruit_info #area01 .ttl {
        font-size: 110%;
    }
    #recruit_info #area03 .txt {
        margin: 0 0 20px;
    }
    #recruit_info #area05 ul li {
        flex-flow: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    #recruit_info #area05 ul li .ttl {
        width: 100%;
        margin: 0 0 10px;
    }
    #recruit_info #area05 ul li .txt_box {
        width: 100%;
        font-size: 90%;
    }
    #recruit_info #area05 ul li .txt_box .box .ttl_blue {
        margin: 0 0 10px;
        font-weight: 500;
    }
    #recruit_info #area05 ul li .txt_box .box .sub_ttl {
        font-weight: 700;
        margin: 0 0 5px;
    }
    #recruit_info #area05 ul li .txt_box .box .txt {
        margin: 0 0 20px;
    }
    #recruit_info #contact {
        background: #fff;
    }
    #recruit_info #contact tr > * {
        vertical-align: middle;
    }
}


/* VR
-------------------------------------------------------*/
#visual.vr {
	background: url("../img/vr/visual_bg.png")no-repeat center/cover;
}
#visual.vr .main_ttl_box {
    text-align: center;
    color: #fff;
    margin: 60px 0 0;
}
#visual.vr .main_ttl_box .main_logo {
    text-align: center;
    margin: 0 0 20px;
}
#visual.vr .main_ttl_box .main_logo img {
    max-width: 99px;
}
#visual.vr .main_ttl_box .ttl {
    font-size: 230%;
    margin: 0 0 20px;
}
#visual.vr .main_ttl_box .ttl span {
    background: rgba(0,0,0,0.7);
    padding: 5px 50px;
}
#visual.vr .main_ttl_box .txt {
    font-size: 170%;
    font-weight: 500;
    text-shadow: 2px 2px 9px #000000;
}
#vr #area01 .txt_box {
    background: none;
}
#vr #area01 .vr_img {
    margin: 70px 0 0;
    text-align: center;
}
#vr #area01 .vr_img img {
    max-width: 775px;
}
#vr #area02 {
    background: url("../img/vr/area02_bg.png")no-repeat center/cover;
}
#vr #area02 .in_half {
    margin: 0 0 50px;
}
#vr #area02 .left {
    width: 48%;
}
#vr #area02 .right {
    width: 48%;
}
#vr #area02 .img {
    margin: 0 0 20px;
}
#vr #area02 .txt_box {
    padding: 0 20px;
}
#vr #area02 .txt_box .ttl_blue {
    font-size: 110%;
    margin: 0 0 5px;
    font-weight: 500;
}
#vr #area02 .txt_box .txt {
    font-size: 90%;
}
#vr #area02 .ttl {
    text-align: center;
    font-size: 130%;
    font-weight: 500;
    margin: 0 0 30px;
}
#vr #area02 .btn_area {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
}
#vr #area02 .btn_area p {
    background: #2d6d9d;
    width: 360px;
    text-align: center;
    margin: 0 20px;
    padding: 15px 0;
}
#vr #area02 .btn_area p a {
    color: #fff;
    font-size: 130%;
    font-weight: 500;
    display: block;
}
#vr #area02 .btn_area p.btn_green02 {
    background: #18517b;
}
@media screen and (max-width:768px) {
    #visual.vr .main_ttl_box {
        margin: 30px 0 0;
    }
    #visual.vr .main_ttl_box .main_logo {
        margin: 0 0 10px;
    }
    #visual.vr .main_ttl_box .main_logo img {
        max-width: 50px;
    }
    #visual.vr .main_ttl_box .ttl {
        font-size: 140%;
        margin: 0 0 10px;
    }
    #visual.vr .main_ttl_box .ttl span {
        padding: 5px 20px;
    }
    #visual.vr .main_ttl_box .txt {
        font-size: 90%;
    }
    #vr #area01 .vr_img {
        margin: 50px 0 0;
    }
    #vr #area02 .in_half {
        margin: 0 0 30px;
    }
    #vr #area02 .left {
        width: 100%;
        margin: 0 0 30px;
    }
    #vr #area02 .right {
        width: 100%;
    }
    #vr #area02 .img {
        margin: 0 0 10px;
    }
    #vr #area02 .txt_box {
        padding: 0 10px;
    }
    #vr #area02 .txt_box .ttl_blue {
        font-size: 105%;
    }
    #vr #area02 .ttl {
        font-size: 120%;
        margin: 0 0 20px;
    }
    #vr #area02 .btn_area {
        flex-flow: column;
    }
    #vr #area02 .btn_area p {
        width: 100%;
        margin: 0;
        padding: 10px 0;
    }
    #vr #area02 .btn_area p a {
        font-size: 120%;
    }
    #vr #area02 .btn_area p.btn_green02 {
        margin: 10px 0 0;
    }
}

/* パーツ　fixed contact
-------------------------------------------------------*/
#fix_contact {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 9999;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
}
#fix_contact ul li a {
    width: 46px;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}
#fix_contact ul li.reservation {
    background: #2d6d9d;
}
#fix_contact ul li.reservation img {
    max-width: 19px;
}
#fix_contact ul li.document {
    background: #18517b;
}
#fix_contact ul li.document img {
    max-width: 15px;
}

@media screen and (max-width:768px) {
    #fix_contact ul li a {
        width: 40px;
    }

}


/* after_follow
-------------------------------------------------------*/
#visual.after_follow {
	background: url("../img/after_follow/visual_bg.png")no-repeat center/cover;
}
#visual.after_follow .main_ttl .sub_ttl {
    font-size: 55%;
}
#after_follow #area01 {
    background: url("../img/after_follow/area01_bg.png")no-repeat center/cover;
}
#after_follow #area01 ul li {
    width: 48%;
}
#after_follow #area01 ul li .img {
    margin: 0 0 20px;
}
#after_follow #area01 ul li .ttl {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #d2d2d2;
    font-size: 130%;
    font-weight: 500;
}
#after_follow #area02.area {
    padding: 90px 20px 0;
}
#after_follow #area02 .box:not(:last-child) {
    margin: 0 0 70px;
}
#after_follow #area02 .box .ttl {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    font-size: 130%;
    font-weight: 500;
    margin: 0 0 30px;
    padding: 0 0 20px;
    border-bottom: 1px solid #d2d2d2;
}
#after_follow #area02 #con01 .img {
    text-align: center;
    margin: 0 0 20px;
}
#after_follow #area02 #con01 .img img {
    max-width: 947px;
}
#after_follow #area02 #con01 .caution {
    font-size: 90%;
    text-align: right;
}
#after_follow #area02 #con02 ul li {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    padding: 10px 20px;
    font-size: 110%;
}
#after_follow #area02 #con02 ul li:nth-child(odd) {
    background: #f6f4f4;
}
#after_follow #area02 #con02 ul li .cat_ttl {
    width: 25%;
}
#after_follow #area02 #con02 ul li .txt {
    width: 75%;
}
#after_follow #area02 #con03 .flow {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    max-width: 840px;
    margin: 0 auto 80px;
    padding: 30px 0 0;
}
#after_follow #area02 #con03 .flow li {
    width: 20%;
    position: relative;
    text-align: center;
}
#after_follow #area02 #con03 .flow li:not(:last-child)::after {
    position: absolute;
    content: "";
    display: block;
    background: url("../img/after_follow/area02_arrow.png")no-repeat center/21px 24px;
    width: 21px;
    height: 24px;
    top: 50%;
    right: -40px;
    transform: translate(-50%,-50%);
}
#after_follow #area02 #con03 .flow li .txt {
    text-align: center;
    color: #2c6c9c;
    font-size: 120%;
    line-height: 1.4;
    border: 2px solid #66a3d0;
    width: 145px;
    height: 145px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}
#after_follow #area02 #con03 .flow li .icon {
    position: absolute;
    display: block;
    top: 20px;
    left: 0;
    width: 145px;
    background: #2c6c9c;
    color: #fff;
    text-align: center;
}
#after_follow #area02 #con03 .btm_box {
    background: #e1ecf4;
    padding: 50px;
}
#after_follow #area02 #con03 .btm_box .top_txt {
    text-align: center;
    font-size: 170%;
    color: #2c6c9c;
    margin: 0 0 30px;
}
#after_follow #area02 #con03 .dial {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
}
#after_follow #area02 #con03 .dial li {
    background: #fff;
    padding: 30px;
    border-radius: 5px;
    width: 31%;
    box-sizing: border-box;
}
#after_follow #area02 #con03 .dial li .ttl_blue {
    text-align: center;
    font-size: 120%;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #2c6c9c;
    line-height: 1.4;
}
#after_follow #area02 #con03 .dial li .txt_box .txt {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    line-height: 1.4;
}
#after_follow #area02 #con03 .dial li .txt_box .txt.mb {
    margin-bottom: 5px;
}
#after_follow #area02 #con03 .dial li .txt_box .txt span {
    color: #2c6c9c;
    margin: 0 5px 0 0;
}
@media screen and (max-width:768px) {
    #after_follow #area01 ul li {
        width: 100%;
    }
    #after_follow #area01 ul li:not(:last-child) 
    {
        margin: 0 0 20px;
    }
    #after_follow #area01 ul li .img {
        margin: 0 0 10px;
    }
    #after_follow #area01 ul li .ttl {
        margin: 0 0 10px;
        padding: 0 0 10px;
        font-size: 120%;
    }
    #after_follow #area02.area {
        padding:30px 20px 0;
    }
    #after_follow #area02 .box:not(:last-child) {
        margin: 0 0 30px;
    }
    #after_follow #area02 .box .ttl {
        font-size: 120%;
        margin: 0 0 20px;
        padding: 0 0 10px;
    }
    #after_follow #area02 #con01 .caution {
        font-size: 80%;
    }
    #after_follow #area02 #con02 ul li {
        font-size: 90%;
    }
    #after_follow #area02 #con02 ul li .cat_ttl {
        width: 40%;
    }
    #after_follow #area02 #con02 ul li .txt {
        width: 60%;
    }
    #after_follow #area02 #con03 .flow {
        flex-flow: column;
        align-items: center;
        justify-content: center;
        margin: 0 auto 40px;
        padding: 10px 0 0;
    }
    #after_follow #area02 #con03 .flow li {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #after_follow #area02 #con03 .flow li:not(:last-child) {
        margin: 0 0 40px;
    }
    #after_follow #area02 #con03 .flow li:not(:last-child)::after {
        top: inherit;
        bottom: -33px;
        right: 47%;
        transform: rotate(90deg);
    }
    #after_follow #area02 #con03 .flow li .txt {
        font-size: 100%;
        width: 110px;
        height: 110px;
    }
    #after_follow #area02 #con03 .flow li .icon {
        top: 20px;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 110px;
        font-size: 90%;
    }
    #after_follow #area02 #con03 .btm_box {
        padding: 20px;
    }
    #after_follow #area02 #con03 .btm_box .top_txt {
        font-size: 130%;
        margin: 0 0 20px;
    }
    #after_follow #area02 #con03 .dial {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #after_follow #area02 #con03 .dial li {
        padding: 20px;
        width: 100%;
    }
    #after_follow #area02 #con03 .dial li:not(:last-child) {
        margin: 0 0 20px;
    }
    #after_follow #area02 #con03 .dial li .ttl_blue {
        font-size: 110%;
        margin: 0 0 10px;
        padding: 0 0 10px;
    }
    #after_follow #area02 #con03 .dial li .txt_box .txt {
        font-size: 90%;
    }
}


/* contact_common
-------------------------------------------------------*/
.contact_bg {
    background: #f3f3f3;
}
#contact.contact_after.thanks .inner  {
    background: #fff;
    padding: 70px 40px;
}
#contact {
    background: #f3f3f3;
}
#contact.area {
    padding: 100px 20px 140px;
}
#contact .inner1040 {
    padding: 70px 40px;
}
#contact .table_temp {
	width: 100%;
    font-size: 110%;
}
#contact tr {
	display: table;
	width: 100%;
	table-layout: fixed;
}
#contact tr>* {
	display: table-cell;
	vertical-align: top;
	padding: 25px 20px;
	box-sizing: border-box;
	line-height: 1;
}
#contact tr {
    margin: 0 0 20px;
}
#contact tr th {
	width: 220px;
	text-align: left;
    border-right: 1px solid #bfbfbf;
    line-height: 1.2;
}
#contact tr th b {
	display: block;
	position: relative;
	font-weight: normal;
}
#contact tr.hissu th b::after,
#contact tr.nini th b::after {
	color: #fff;
	font-size: 70%;
	width: 34px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
    border-radius: 2px;
}
#contact tr.hissu th b::after {
	content: "必須";
	background: #e60012;
}
#contact tr.nini th b::after {
	content: "任意";
	background: #567496;
}
#contact tr td {
    padding: 10px 30px;
}

#contact.contact_after tr td {
    padding: 25px 20px;
}

#contact.contact_after tr {
	/*border-bottom: 1px solid #ccc;*/
}
#contact.contact_after tr:first-child {
	/*border-top: 1px solid #ccc;
	margin: 30px 0 0;*/
}
#contact.contact_after tr th {
	/*color: #aaa;*/
}
#contact.contact_after tr td {
	font-weight: 500;
}
.txt_form .red,
.error_messe b {
	color: #f00;
	font-weight: normal;
}
.error_messe {
	margin: 20px 0 0;
	text-align: center;
	line-height: 1.3;
}
.error_messe>* {
	display: inline-block;
}
#contact input[type="text"],
#contact select,
#contact textarea {
	width: 100%;
}
#contact input[type="text"],
#contact select {
	/*height: 45px;*/
}
#contact input[type="text"].w50{
    width: 50%;
    display: inline-block!important;
}
#contact input[type="text"]:disabled{
    display: none!important;
}
#contact textarea {
	min-height: 140px;
	resize: vertical;
}
#contact label {
    padding: 15px 0;
    display: inline-block;
}
#contact .radio_area label,
#contact .check_area label {
	display: inline-block;
	margin: 5px 5px 5px 0;
	line-height: 1.3;
}
#contact .txt_form {
	text-align: center;
	line-height: 1.3;
	margin-bottom: 20px;
}
#contact .txt_form span {
	display: block;
}
::placeholder {
	color: #a4a4a4;
}
#contact .form_btn {
	display: flex;
	flex-flow: row-reverse nowrap;
	align-items: center;
	justify-content: space-evenly;
}
#contact .form_btn01,
#contact .form_btn02 {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	max-width: 280px;
	height: 50px;
	border: none;
	border-radius: 3px;
	padding: 10px;
	margin: 30px auto 0;
	box-sizing: border-box;
	font-size: 130%;
	color: #fff;
	line-height: 1;
    text-align: center;
}
#contact .form_btn01 {
	background: #ec6941;
}
#contact .form_btn02 {
	background: #333;
}
#contact .privacy {
    color: #333;
    height: 200px;
    overflow: scroll;
    overflow-x: hidden;
    border: 1px solid #d3d3d3;
    padding: 40px 30px;
    box-sizing: border-box;
    margin: 10px 0 0;
}
#contact .privacy .ttl {
    text-align: center;
    font-size: 140%;
    font-weight: bold;
    margin: 0 0 20px;
}
#contact .privacy .txt-r {
    text-align: right;
    font-weight: bold;
    line-height: 1.8;
    margin: 0 0 20px;
}
#contact .privacy .txt span {
    padding-left: 1em;
    display: block;
}
#contact .post_num {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 20px;
}
#contact .post_num input {
    width: 140px;
    margin: 0 0 0 10px;
}
#contact td.short select {
    width: 240px;
}
#contact td .txt {
    margin: 0 0 10px;
}
#contact td.date {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    padding: 25px 30px;
}
#contact td.date div {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
}
#contact td.date div input {
    margin: 0 20px 0 20px;
    width: 190px;
}
#contact td.date select {
    width: 130px;
    padding: 10px;
    margin: 0 0 0 20px;
}

@media screen and (max-width:768px) {
    #contact {
        font-size: 90%;
    }
    #contact.area {
        padding: 40px 20px 50px;
    }
    #contact .inner1040 {
        padding: 20px;
    }
	#contact tr>* {
		display: block;
		padding: 15px 0;
		line-height: 1.3;
	}
    #contact tr {
        margin: 0 0 10px;
    }
	#contact tr th {
		width: 100%;
		font-size: 100%;
        border: none;
	}
	#contact tr td {
		padding: 0;
	}
	#contact tr.hissu th b::after,
	#contact tr.nini th b::after {
		top: 0!important;
		right: 0!important;
		bottom: 0!important;
	}
	#contact .radio_area label,
	#contact .check_area label {
		display: flex;
		align-items: center;
	}
    input[type="text"], input[type="password"], input[type="email"], input[type="tel"], textarea, select {
        padding: 10px;
    }
	#contact .form_btn {
		flex-flow: column;
	}
	#contact .form_btn01,
	#contact .form_btn02 {
		margin: 20px 0 0;
		font-size: 100%;
		height: 50px;
	}
	#contact .privacy {
        height: 180px;
        padding: 10px;
    }
    #contact .privacy .ttl {
        font-size: 120%;
    }
    #contact .privacy .txt {
        font-size: 90%;
    }
    #contact td.short select {
        width: 100%;
    }
    #contact td.date {
        flex-flow: column;
        align-items: flex-start;
        justify-content: flex-start;
        width: 100%;
        padding: 0;
    }
    #contact td.date div.first {
        margin: 0 0 20px;
    }
    #contact td.date p {
        width: 30%;
    }
    #contact td.date div input {
        margin: 0 0 0 20px;
        width: 70%;
        box-sizing: border-box;
    }
	
	#contact.contact_after tr td {
    padding: 0px 0px;
}
}

.under {
	font-size: 140%;
	text-align: center;
}

@media screen and (max-width:768px) {
.under {
	font-size: 100%;
	text-align: center;
}
}



#privacy {
	
}

#visual.privacy {
	background: url("../img/privacy/visual_bg.png")no-repeat center/cover;
}
.privacy_name {
	font-weight: bolder;
	text-align: right;
}

.privacy_box01 p {
	margin-bottom: 20px;
}

.privacy_box01 p b {
	font-size: 120%;
}

#visual.sitemap {
	background: url("../img/sitemap/visual_bg.png")no-repeat center/cover;
}

.sitemap_box {
	display: flex;
	justify-content: space-between;
}

.sitemap_box  ul {
	width: 48%;
}

.sitemap_box  ul li {
	font-size: 110%;
	margin-bottom: 15px;
}

.sitemap_box  ul li a {
	display: block;
	background: url("../img/common/arrow_blue_l.png")no-repeat left center;
	padding-left: 20px;
	background-size: 15px;
}

@media screen and (max-width:768px) {
.sitemap_box {
	display: block;

}

.sitemap_box  ul {
	width: 100%;
}

.sitemap_box  ul li {
	font-size: 100%;
	margin-bottom: 10px;
}
	
.sitemap_box  ul li a {
	padding-left: 15px;
	background-size: 10px;
}
}

#visual.news {
	background: url("../img/news/visual_bg.png")no-repeat center/cover;
	height: 450px;
}

#visual.news .main_ttl {
    padding: 100px 0 0 20px;
}

.main_content {
	max-width: 960px;
	margin: 0 auto;
	padding-top: 50px;
}

.page_sub_ttl {
	border-bottom: 1px solid #ccc;
	font-size: 200%;
	padding-bottom: 10px;
	margin-bottom: 20px;
}

.page_sub_ttl02 {
	text-align: right;
}

.main_content img {
	width: auto;
}

.index_news_btn {
	margin-top: 50px;
	margin-bottom: 50px;
}

.index_news_btn a {
	display: block;
	background: #666;
	color: #fff;
	max-width: 300px;
	margin: 0 auto;
	text-align: center;
	padding: 10px 10px;
}


#visual.contact_all {
	background: url("../img/contact/visual_bg.png")no-repeat center/cover;
}

#contact_all .layout03 li .txt_box .ttl_blue {
	text-align: center;
}

.contact_sub {
	text-align: left;
	font-size: 120%;
	margin-bottom: 20px;
}

@media screen and (max-width:768px) {

.contact_sub {
	text-align: left;
	font-size: 100%;
	margin-bottom: 10px;
}
}

.reno_jirei {
	margin-bottom: 30px;
}


/* fix_contact
-------------------------------------------------------*/
#fix_contact_pc {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 9999;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
}
#fix_contact_pc ul li a {
    width: 46px;
    height: 214px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}
#fix_contact_pc ul li a:hover {
    opacity: 0.8;
}
#fix_contact_pc ul li img {
    max-width: 46px;
}
@media screen and (max-width:768px) {
    #fix_contact_sp {
        position: fixed;
        bottom: 0;
		z-index: 999;
		background: rgba(255, 255, 255, 0.9);
		padding: 10px 5px;
		width: 100%;
		box-sizing: border-box;
		border-top: 1px solid #333;

    }
    #fix_contact_sp ul {
        position: relative;
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: space-between;
    }
    #fix_contact_sp ul li {
        margin: 0 5px;
    }
}

/* zeh
-------------------------------------------------------*/
#visual.zeh {
	background: url("../img/zeh/visual_bg.png")no-repeat center/cover;
    text-align: center;
    color: #fff;
}
#visual.zeh .main_ttl_box {
    padding: 100px 0 0;
}
#visual.zeh .main_logo {
    text-align: center;
    margin: 0 0 40px;
}
#visual.zeh .main_logo img {
    max-width: 345px;
}
#visual.zeh .ttl {
    font-size: 240%;
    font-weight: 700;
    text-shadow: 0px 0px 4px #1e4ba2;
}
#visual.zeh .txt {
    font-size: 120%;
    line-height: 2;
}
#zeh #area01 table {
    border: 1px solid #2d6d9d;
    width: 100%;
    margin: 0 0 10px;
    font-weight: 500;
}
#zeh #area01 table tr {
    border-bottom: 1px solid #2d6d9d;
}
#zeh #area01 table tr.blue01 th {
    background: #2d6d9d;
    color: #fff;
}
#zeh #area01 table tr.blue02 td {
    background: #bcdcfc;
}
#zeh #area01 table th {
    width: 16%;
    text-align: center;
    border-right: 1px solid #2d6d9d;
    padding: 5px;
}
#zeh #area01 table td {
    width: 16%;
    text-align: center;
    border-right: 1px solid #2d6d9d;
    padding: 5px;
}
#zeh #area01 .caution {
    font-size: 90%;
}
#zeh #area02 {
    background: url("../img/zeh/area02_bg.png")no-repeat center/cover;
}
@media screen and (max-width:768px) {
    #visual.zeh .main_ttl_box {
        padding: 20px 0 0;
    }
    #visual.zeh .main_logo {
        margin: 0 0 20px;
    }
    #visual.zeh .main_logo img {
        max-width: 150px;
    }
    #visual.zeh .ttl {
        font-size: 120%;
        line-height: 1.2;
        margin: 0 0 10px;
    }
    #visual.zeh .txt {
        font-size: 80%;
    }
    #zeh #area01 table {
        font-size: 90%;
        line-height: 1.2;
    }
    #zeh #area01 .caution {
        font-size: 90%;
    }
    #zeh #area02 {
        background: url("../img/zeh/area02_bg.png")no-repeat center/cover;
    }
}

.short_btn {
	text-align: center;
}

.short_btn a {
	display: inline-block;
	padding: 5px 50px;
	box-sizing: border-box;
	color: #fff;
	background: #2d6d9d;
	border-radius: 50px;
	font-size: 140%;
}

@media screen and (max-width:768px) {
.short_btn a {
	display: inline-block;
	padding: 5px 20px;
	box-sizing: border-box;
	color: #fff;
	background: #2d6d9d;
	border-radius: 50px;
	font-size: 100%;
}

}
/* 20200617 slider追加 */
#visual.index #area01 {
    margin: 70px auto 20px;
}
#visual.index .main_ttl {
    /*margin: 0 0 100px;*/
	margin-bottom: 100px;
}
#visual .slider {
    width: 80%;
    margin: 0 auto;
}
#visual .slick-slide img {
    width: 100%;
    height: auto;
    max-width: 860px;
}
#visual .mypattern {
    width: 80%;
}
#visual .mypattern .slick-slide {
    margin: 0 50px;
}
@media screen and (max-width:1000px){
    #visual .slider {
        width: 90%;
    }
    #visual .mypattern {
        width: 90%;
    }
}
@media screen and (max-width:768px){
    #visual .main_ttl {
        margin: 0 0 100px;
    }
    #visual.index #area01 {
        margin: 50px auto 20px;
    }
    #visual .slider {
        width: 100%;
    }
    #visual .mypattern .slick-slide {
        margin: 0 30px;
    }
}
@media screen and (max-width:375px){
    #visual.index .main_ttl {
        padding: 140px 0 0 20px;
        margin: 0 0 50px;
    }
    #visual.index #area01 {
        margin: 50px auto 20px;
    }
    #visual .slider {
        width: 100%;
    }
    #visual .mypattern .slick-slide {
        margin: 0 20px;
    }
}


#visual.contact_all {
    height: 450px;
	background-position: top;
}

#visual.contact_all .main_ttl {
    padding: 100px 0 0 20px;
}

/* fade-in
-------------------------------------------------------*/
.scroll-up{opacity: 0; transform: translateY(50px)/*スクロールアップする距離*/; transition: all 2s/*処理にかかる時間*/;}
.scroll-up.done{opacity : 1; transform : translate(0, 0);}
.scroll-left{opacity: 0; transform: translateX(50px)/*スクロールアップする距離*/; transition: all 2s/*処理にかかる時間*/;}
.scroll-left.done{opacity : 1; transform : translate(0, 0);}

.scroll-left02{opacity: 0; transform: translateX(100px)/*スクロールアップする距離*/; transition: all 2s/*処理にかかる時間*/;}
.scroll-left02.done{opacity : 1; transform : translate(0, 0);}

/* PM
-------------------------------------------------------*/
#visual.pm {
	background: url("../img/pm/visual_bg.png")no-repeat center/cover;
}
#pm #area01 .top_txt {
    margin: 0 0 40px;
}
#pm #area01 .mid_img {
    margin: 0 0 70px;
}
#pm #area01 ul {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
}
#pm #area01 ul li {
    width: 32%;
}
#pm #area01 ul li:nth-child(-n+3) {
    margin: 0 0 40px;
}
#pm #area01 ul li .img {
    margin: 0 0 10px;
}
#pm #area01 ul li .txt_box .ttl {
    font-size: 105%;
    font-weight: 500;
    color: #2c6c9c;
    margin: 0 0 5px;
}
#pm #area01 ul li .txt_box .sub_ttl {
    font-size: 90%;
    margin: 0 0 20px;
}
#pm #area01 ul li .txt {
    color: #2c6c9c;
    font-size: 90%;
    line-height: 1.8;
}
#pm #area02 {
    background: url("../img/pm/area02_bg.png")no-repeat center/cover;
}
#pm #area02 .btm {
    background: #fff;
    border: 1px solid #2c6c9c;
    padding: 10px;
    margin: 10px 0 0;
}
#pm #area02 .btm .ttl {
    margin: 0 0 5px;
    font-size: 105%;
    font-weight: 500;
    color: #2c6c9c;
}
#pm #area02 .btm .txt {
    font-size: 90%;
}
#pm #area03 .box:not(:last-child) {
    margin: 0 0 50px;
}
#pm #area03 .box .ttl {
    font-size: 110%;
    color: #2c6c9c;
    font-weight: 500;
    margin: 0 0 30px;
    padding: 0 0 20px;
    border-bottom: 1px solid #bfbfbf;
}
#pm #area03 .box ul .img {
    margin: 0 0 10px;
}
#pm #area03 .box ul .txt {
    text-align: center;
}
@media screen and (max-width:768px) {
    #pm #area01 .top_txt {
        margin: 0 0 30px;
    }
    #pm #area01 .mid_img {
        margin: 0 0 40px;
    }
    #pm #area01 ul {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #pm #area01 ul li {
        width: 100%;
    }
    #pm #area01 ul li:nth-child(-n+3) {
        margin: 0 0 30px;
    }
    #pm #area01 ul li:not(:last-child) {
        margin: 0 0 30px;
    }
    #pm #area03 .box:not(:last-child) {
        margin: 0 0 30px;
    }
    #pm #area03 .box .ttl {
        margin: 0 0 20px;
    }
}

/* PM
-------------------------------------------------------*/
#visual.iezukuri {
	background: url("../img/iezukuri/visual_bg.png")no-repeat center/cover;
}
#iezukuri #area01.area {
    padding: 90px 20px 0;
}
#iezukuri #area03 {
    background: url("../img/iezukuri/area02_bg.png")no-repeat center/cover;
}
#iezukuri #area03 .top_txt {
    margin: 0 0 50px;
}
#iezukuri #area04.area {
    padding: 90px 20px 0;
}
#iezukuri #area04 .top_txt {
    margin: 0 0 50px;
}
#iezukuri #area04 .box .ttl {
    font-size: 160%;
    margin: 0 0 10px;
}
#iezukuri #area04 .box .ttl_btm {
    font-size: 110%;
}
#iezukuri #area04 .box .txt {
    font-size: 110%;
}
#iezukuri #area05 .top_txt {
    margin: 0 0 50px;
}
#iezukuri #area05 ul li:not(:last-child) {
    margin: 0 0 40px;
}
#iezukuri #area05 ul li .ttl_box {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid #d2d2d2;
}
#iezukuri #area05 ul li .ttl_box p {
    font-size: 140%;
}
#iezukuri #area05 ul li .img {
    margin: 30px 0 0;
}
#iezukuri #area05 ul li .img img {
    max-width: 802px;
}

#iezukuri #area05 ul li .ttl_box .arrow_blue_s {
	background: url("../img/common/arrow_blue_l.png")no-repeat left center/15px 20px;
min-width: 15px;
height: 20px;
display: block;
padding: 11px 10px 0 0;
}

/* aco */
.acd-check{
    display: none;
}
.acd-label{
    display: block;
    background: #66a3d0;
    color: #fff;
    padding: 20px;
    position: relative;
}
.acd-label:after{
    display: block;
    content: "";
    position: absolute;
    background: url("../img/iezukuri/plus.png")no-repeat center/28px 28px;
    width: 28px;
    height: 28px;
    top: 50%;
    right: 20px;
    transform: translate(-50%,-50%);
}
.acd-check:checked + .acd-label:after{
    background: url("../img/iezukuri/minus.png")no-repeat center/28px 2px;
    width: 28px;
    height: 2px;
}
.acd-content{
    height: 0;
    opacity: 0;
    padding: 20px;
    transition: .5s;
    visibility: hidden;
    background: #eee;
}
.acd-check:checked + .acd-label + .acd-content{
    height: 100%;
    opacity: 1;
    padding: 20px;
    visibility: visible;
    margin: 0 0 30px;
}
@media screen and (max-width:768px) {
    #iezukuri #area01.area {
        padding: 30px 20px 0;
    }
    #iezukuri #area02 .left {
        margin: 20px 0 0;
    }
    #iezukuri #area03 .top_txt {
        margin: 0 0 30px;
    }
    #iezukuri #area04.area {
        padding: 30px 20px 0;
    }
    #iezukuri #area04 .top_txt {
        margin: 0 0 30px;
    }
    #iezukuri #area04 .box .ttl {
        font-size: 130%;
    }
    #iezukuri #area04 .box .ttl_btm {
        font-size: 90%;
    }
    #iezukuri #area04 .box .txt {
        font-size: 90%;
    }
    #iezukuri #area05 .top_txt {
        margin: 0 0 30px;
    }
    #iezukuri #area05 ul li .ttl_box {
        align-items: flex-start;
    }
    #iezukuri #area05 ul li:not(:last-child) {
        margin: 0 0 30px;
    }
    #iezukuri #area05 ul li .ttl_box p {
        font-size: 100%;
    }
    #iezukuri #area05 ul li .txt {
        font-size: 90%;
    }
    #iezukuri #area05 ul li .img {
        margin: 20px 0 0;
    }
    .acd-label::after {
        top: 20px;
        right: 20px;
        transform: inherit;
    }
    .acd-check:checked + .acd-label::after {
        top: 33px;
    }
}

/* column
-------------------------------------------------------*/
#visual.column {
	background: url("../img/column/visual_bg.png")no-repeat center/cover;
}
#column #area01 ul li .txt_box .sub_ttl {
    font-size: 90%;
    margin: 0 0 5px;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start;
}
#column #area01 ul li .txt_box .sub_ttl a {
    color: #2d6d9d;
}
#column #area01.area {
    padding: 90px 20px 0;
}
#column #area02.area {
    padding: 90px 20px 0;
}
#column #area02 ul {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
}
#column #area02 ul::before{
  content:"";
  display: block;
  width:23%;
  order:1;
}
#column #area02 ul::after{
  content:"";
  display: block;
  width:23%;
}
#column #area02 ul li {
    width: 23%;
    margin: 0 0 30px;
}
#column #area02 ul li .img {
    margin: 0 0 10px;
}
#column #area02 ul li .ttl_blue {
    text-align: center;
    font-size: 110%;
    font-weight: 500;
}
#column #area02 ul li .txt {
    font-size: 90%;
}

@media screen and (max-width:768px) {
    #column #area01.area {
        padding: 30px 20px 0;
    }
    #column #area02.area {
        padding: 30px 20px 0;
    }
    #column #area02 ul::before{
      display: none;
    }
    #column #area02 ul::after{
      display: none;
    }
    #column #area02 ul li {
        width: 48%;
        margin: 0 0 20px;
    }
    #column #area02 ul li .ttl_blue {
        font-size: 105%;
    }
}


#condominium #area03 .layout05 li {
    width: 22%;
}

@media screen and (max-width:768px) {
    #condominium #area03 .layout05 li {
        width: 100%;
    }
	#condominium #area03 .layout05 li .img {
		width: 50%;
		margin: 0 auto;
	}
}

/* column category */
#column.cat #area01 .ttl01 {
    font-size: 200%;
}
#column.cat #area01 ul li .more a {
    color: #2d6d9d;
    margin: 10px 0 0;
}
#column.cat #area01 ul li .more a span {
    position: relative;
}
#column.cat #area01 ul li .more a span::after {
    position: absolute;
    content: "";
    display: block;
    right: -10px;
    top: 43%;
    width: 4px;
    height: 4px;
    border-top: 2px solid #2d6d9d;
    border-right: 2px solid #2d6d9d;
    -webkit-transform: rotate(45deg) translate(50%,-50%);
    transform: rotate(45deg) translate(50%,-50%);
}
#column.cat #area01 .layout03 {
    flex-flow: row wrap;
}
#column.cat #area01 .layout03 li {
    width: 30%;
    margin: 0 0 30px;
}
@media screen and (max-width:768px) {
    #column.cat #area01 .ttl01 {
        font-size: 170%;
    }
    #column.cat .layout03 li .txt_box .txt {
        display: none;
    }
    #column.cat #area01 .layout03 li {
        width: 48%;
        margin: 0 0 20px;
    }
    #column.cat .layout03 li .txt_box .ttl_blue {
        font-size: 90%;
        line-height: 1.4;
        margin: 0;
    }
    #column.cat #area01 ul li .txt_box .sub_ttl {
    font-size: 70%;
    }
    #column.cat #area01 .more {
        display: none;
    }
}


/*20200701*/
#index #area06 .ttl_box {
    background: url("../img/index/area06_visual.png")no-repeat center/cover;
}
#index #area06 ul.lineup {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: space-between;
}
#index #area06 ul.lineup>li {
    width: 48%;
}
#index #area06 ul.lineup>li .top {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    padding: 0 0 20px;
    margin: 0 0 20px;
    border-bottom: 1px solid #d2d2d2;
}
#index #area06 ul.lineup>li .top p {
    font-size: 110%;
    line-height: 1;
}
#index #area06 ul.lineup>li .top p span {
    font-size: 150%;
}
#index #area06 ul.lineup>li .select_area {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 0 20px;
}
#index #area06 ul.lineup>li .select_area .box {
    width: 49%;
}
#index #area06 ul.lineup>li:nth-child(-n+3) {
    margin: 0 0 50px;
}
#index #area06 ul.lineup>li .select_area .box .img {
    margin: 0 0 10px;
}
#index #area06 ul.lineup>li .select_area .box .txt {
    text-align: center;
}
#index #area06 ul.lineup>li .service_area .ttl {
    color: #2c6c9c;
    margin: 0 0 5px;
    line-height: 1;
    font-size: 90%;
}
#index #area06 ul.lineup>li .service_area .sub_nav {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
}
#index #area06 ul.lineup>li .service_area .sub_nav a {
    font-size: 90%;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    margin: 0 20px 0 0;
}

@media screen and (max-width:768px) {
#index #area06 ul.lineup {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #index #area06 ul.lineup>li {
        width: 100%;
    }
    #index #area06 ul.lineup>li:not(:last-child) {
        margin: 0 0 40px;
    }
    #index #area06 ul.lineup>li .top p {
        font-size: 90%;
    }
    #index #area06 ul.lineup>li .top p span {
        font-size: 140%;
    }
    #index #area06 ul.lineup>li .select_area {
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    #index #area06 ul.lineup>li .select_area .box {
        width: 100%;
    }
    #index #area06 ul.lineup>li .select_area .box:first-child {
        margin: 0 0 20px;
    }
    #index #area06 ul.lineup>li:nth-child(-n+2) {
        margin: 0 0 40px;
    }
    #index #area06 ul.lineup>li .select_area .box .img {
        margin: 0 0 10px;
    }
    #index #area06 ul.lineup>li .service_area .sub_nav {
        flex-flow: row wrap;
    }
    #index #area06 ul.lineup>li .service_area .sub_nav a {
        margin: 0 30px 0 0;
    }	
}


/*20200703役員などの行空け*/
.comp_box .table dl {
    line-height: 2;
}

/*20200706トップページスライダー非表示用のcssスペース*/
#visual.index .main_ttl{
	
	margin-bottom: 200px;
}

#visual.index {
	background-position: bottom;
}

@media screen and (max-width:768px) {
#visual.index .main_ttl{
	
	margin-bottom: 200px;
}
#visual.index {
	background-position: top;
}
}


/* assist
-------------------------------------------------------*/
#visual.assist {
	background: url("../img/assist/visual_bg.png")no-repeat center/cover;
}
#visual .main_ttl_box .main_logo {
    text-align: center;
    margin: 100px 0 0;
}
#visual .main_ttl_box .main_logo img {
    max-width: 546px;
}
#assist #area01 {
    color: #002060;
    text-align: center;
    font-weight: 500;
}
#assist #area01 .txt01 {
    font-size: 210%;
    line-height: 1.3;
}
#assist #area01 .txt02 {
    font-size: 210%;
    line-height: 1;
}
#assist #area01 .txt02 span.num {
    font-size: 300%;
    font-weight: 700;
}
#assist #area01 .txt02 span.yen {
    font-size: 150%;
    font-weight: 700;
}
#assist #area02 {
    background: url("../img/assist/area02_bg.png")no-repeat center/cover;
}
#assist #area02 .ttl01 {
    margin: 0 0 30px;
}
#assist #area02 .txt {
    margin: 0 0 30px;
}
#assist #area02 .box {
    background: #fff;
    padding: 40px 30px;
}
#assist #area02 ul {
    font-size: 180%;
    color: #002060;
    font-weight: 500;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    margin: 0 0 20px;
}
#assist #area02 ul li {
    position: relative;
}
#assist #area02 ul li:not(:last-child) {
    margin: 0 0 70px;
}
#assist #area02 ul li:not(:last-child)::after {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/assist/arrow.png")no-repeat center/84px 25px;
    width: 84px;
    height: 25px;
    bottom: -40px;
    right: 50%;
    transform: translate(50%,50%);
}
#assist #area02 ul li span {
    position: relative;
}
#assist #area02 ul li span::after {
    position: absolute;
    display: block;
    top: -10px;
    right: -10px;
    font-size: 50%;
    color: #666;
}
#assist #area02 ul li span.cau01::after {
    content: "※1";
}
#assist #area02 ul li span.cau02::after {
    content: "※2";
}
#assist #area02 ul li span.cau03::after {
    content: "※3";
}
#assist #area03 dl:not(:last-child) {
    margin: 0 0 40px;
}
#assist #area03 dl dt {
    background: #eeeeee;
    padding: 5px 10px;
    color: #002060;
    font-size: 120%;
    font-weight: 500;
    margin: 0 0 10px;
}
#assist #area03 dl .blue {
    color: #002060;
    font-size: 120%;
}
#assist #area03.area {
    padding: 90px 20px 0;
}
@media screen and (max-width:768px) {
    #visual .main_ttl_box .main_logo {
        text-align: center;
        margin: 50px 0 0;
    }
    #visual .main_ttl_box .main_logo img {
        max-width: 300px;
    }
    #assist #area01 .txt01 {
        font-size: 110%;
        margin: 0 0 10px;
    }
    #assist #area01 .txt02 {
        font-size: 140%;
    }
    #assist #area01 .txt02 span.num {
        font-size: 250%;
    }
    #assist #area01 .txt02 span.yen {
        font-size: 130%;
    }
    #assist #area02 .box {
        padding: 20px;
    }
    #assist #area02 ul {
        font-size: 110%;
    }
    #assist #area02 ul li {
        text-align: center;
    }
    #assist #area02 ul li:not(:last-child) {
        margin: 0 0 30px;
    }
    #assist #area02 ul li:not(:last-child)::after {
        background: url("../img/assist/arrow.png")no-repeat center/58px 17px;
        width: 58px;
        height: 17px;
        bottom: -20px;
    }
    #assist #area02 ul li span::after {
        right: -5px;
        font-size: 60%;
    }
    #assist #area02 .caution {
        font-size: 90%;
    }
    #assist #area03 dl:not(:last-child) {
        margin: 0 0 30px;
    }
    #assist #area03 dl dt {
        font-size: 110%;
    }
    #assist #area03 dl .blue {
        font-size: 110%;
    }
    #assist #area03.area {
        padding: 40px 20px 0;
    }
}

/*20200812*/

.newsTB {
	width: 100%;
	border: 1px solid #d6d6d6;
}

.newsTB th {
	width: 30%;
	border: 1px solid #d6d6d6;
	padding: 10px;
	box-sizing: border-box;
	text-align: left;
}

.newsTB td {
	width: 70%;
	border: 1px solid #d6d6d6;
	padding: 10px;
	box-sizing: border-box;
	text-align: left;
}
@media screen and (max-width:768px) {
#news .main_content {
	padding: 0px 20px;
}
	
.newsTB {
	font-size: 80%;
}
}


/*20200818*/
.index_btns_box {
	max-width: 980px;
	margin: 0 auto;
	padding: 0px 10px;
	margin-top: 40px;
}

.index_btns {
	display: flex;
	justify-content: space-between;
}

.index_btns li {
	width: 100%;
	max-width: 300px;
	padding: 0px 10px;
	box-sizing: border-box;
}

#contact .gry_box{
    display: table;
    background: #eeeeee;
    margin: 4em auto 2em;
}
#contact .gry_box .cell{
    display: table-cell;
    vertical-align: middle;
    padding: 10px;
}
#contact .gry_box img{
    width: 185px;
}
#contact .ttl_blue{
    color: #2d6d9d;
}
#contact .gry_box a:hover,
#contact .gry_box a:hover p{
    opacity: 0.7!important;
}
@media screen and (max-width:768px) {
    #contact .gry_box,
    #contact .gry_box .cell{
        display: block;
    }
    #contact .gry_box .cell:nth-child(2){
        text-align: center;
    }
}