@charset "UTF-8";

/*
	Theme Name: Okazaki Iryo Kaigyou Theme
	Author: none
	Version: none
*/

/*================================================================================
base
================================================================================*/

/* global ------------------------------------------------*/

html, body {
    overflow-x: hidden;
}

body {
    color: #231815;
    font-family: "Noto Sans JP", sans-serif;
    margin: 80px 0 0 0;
}

.child-page {
    background-color: #cae4f7;
    padding: 120px 0;
}

a:hover {
    transition: ease .2s;
    opacity: 0.6;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.5;
    font-weight: 700;
}

p {
    line-height: 1.8;
    font-weight: 500;
}

@media (max-width: 1300px) {

    body {
        margin: 75px 0 0 0;
    }
}

@media (max-width: 1100px) {

    body {
        margin: 60px 0 0 0;
    }
}

@media (max-width: 991px) {

    body {
        margin: 60px 0 0 0;
    }
    
    .child-page {
        padding: 60px 0;
    }
}

/*================================================================================
common
================================================================================*/

/* header ------------------------------------------------*/

.header {
    padding: 20px 30px;
    width: 100%;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 990;
}

.header-right {
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
}

.header-logo {
    max-width: 250px;
}

.header-nav ul {
    display: flex;
}

.header-nav ul li {
	margin: 0 13px;
}

.header-nav ul li a {
    font-size: 16px;
    font-weight: 700;
}

.header-contact {
    margin: 0 0 0 13px;
}

.header-contact_button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    background-color: #f5ad16;
    font-size: 16px;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
    padding: 15px 15px;
    border-radius: 50px;
}

.header-contact_button:hover {
    background-color: #1c92d1;
    opacity: 1;
}

.header-contact_button::before {
    content: "";
    width: 20px;
    height: 16px;
    background-image: url("assets/img/common/header-contact_button-icon.png");
    background-size: 20px 16px;
    margin: 0 10px 0 0;
}

@media (max-width: 1300px) {

    .header-logo {
        max-width: 200px;
    }
    
    .header-nav ul li {
    	margin: 0 10px;
    }
    
    .header-nav ul li a {
        font-size: 14px;
    }
    
    .header-contact_button {
        width: 150px;
        font-size: 14px;
        padding: 10px 15px;
    }
}

@media (max-width: 1100px) {
    
    .header {
        padding: 15px 20px;
    }

    .header-logo {
        max-width: 160px;
    }
    
    .header-nav ul li {
    	margin: 0 8px;
    }
    
    .header-nav ul li a {
        font-size: 13px;
    }
    
    .header-contact_button {
        width: 130px;
        font-size: 13px;
    }
    
    .header-contact_button::before {
        width: 16px;
        height: 12px;
        background-size: 16px 12px;
        margin: 0 5px 0 0;
    }
}

/* headersp ------------------------------------------------*/

.headersp {
    background-color: #ffffff;
    padding: 15px 65px 15px 20px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 980;
    width: 100%;
    display: flex;
    align-items: center;
 }
 
 .headersp-logo {
    max-width: 165px;
}

.headersp-contact {
    margin: 0 0 0 auto;
}

.headersp-contact_button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    background-color: #f5ad16;
    font-size: 11px;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
    padding: 10px 15px;
    border-radius: 50px;
}

.headersp-contact_button::before {
    content: "";
    width: 13px;
    height: 10px;
    background-image: url("assets/img/common/header-contact_button-icon.png");
    background-size: 13px 10px;
    margin: 0 5px 0 0;
}
 
 .headersp-toggle {
	width: 34px;
	height: 34px;
    background-image: url(assets/img/common/headersp-toggle-open.png);
    background-repeat: no-repeat;
    background-size: 34px 34px;
    cursor: pointer;
    position: fixed;
    top: 14px;
    right: 15px;
    z-index: 990;
    font-size: 0;
}

 .headersp-toggle.close {
    background-image: url(assets/img/common/headersp-toggle-close.png);
}

.headersp-overlay_logo {
    max-width: 165px;
    margin: 0 0 50px 0;
}

.headersp-overlay {
	opacity: 0;
	visibility: hidden;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
    background-color: #1c92d1;
	z-index: 970;
	padding: 15px 65px 15px 20px;
	overflow-y: auto;
	transition : 0.5s;
}

.headersp-overlay.open {
	opacity: 1;
	visibility: visible;
}

.headersp-overlay_inner {
    padding: 0 35px;
}

.headersp-overlay_nav {
	margin: 0 0 20px 0;
}

.headersp-overlay_nav ul li {
    margin: 0 0 20px 0;
}

.headersp-overlay_nav ul li a {
	font-size: 18px;
	color: #ffffff;
    font-weight: 700;
}

.headersp-overlay_subnav {
	margin: 0 0 20px 0;
}

.headersp-overlay_subnav ul li {
    border-top: 1px dotted #ffffff;
    border-bottom: 1px dotted #ffffff;
    padding: 8px 0;
}

.headersp-overlay_subnav ul li a {
	font-size: 12px;
	color: #ffffff;
    font-weight: 500;
}

.headersp-overlay_tel {
    max-width: 190px;
    margin: 0 0 30px 0;
}

.headersp-overlay_copyright {
    font-size: 9px;
    color: #ffffff;
    font-weight: 400;
}

/* footer ------------------------------------------------*/

.footer-top {
    padding: 50px 0;
    background-color: #ffffff;
    border-bottom: 1px solid #efefef;
}

.footer-top_inner {
    display: flex;
    align-items: center;
}

.footer-top_logo {
    max-width: 380px;
}

.footer-top_access {
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
}

.footer-top_access-tel {
    max-width: 250px;
}

.footer-top_access-button {
    display: block;
    width: 180px;
    border: 1px solid #231815;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    padding: 15px;
    margin: 0 0 0 25px;
}

.footer-middle {
    background-color: #ffffff;
}

.footer-middle_nav ul {
    display: flex;
    justify-content: center;
}

.footer-middle_nav ul li {
	font-size: 16px;
	margin: 0 10px;
    font-weight: 700;
}

.footer-middle {
	padding: 30px 0;
}

.footer-bottom {
    background-color: #1a305e;
    padding: 30px 0;
}

.footer-copyright {
	font-size: 12px;
    text-align: center;
    color: #bcb4c4;
    font-weight: 400;
}

@media (max-width: 991px) {

    .footer-top {
        padding: 40px 0;
    }
    
    .footer-top_inner {
        display: block;
    }
    
    .footer-top_logo {
        max-width: 300px;
        margin: 0 auto 40px auto;
    }
    
    .footer-top_access {
        margin: 0;
        display: block;
    }
    
    .footer-top_access-tel {
        max-width: 250px;
        margin: 0 auto 20px auto;
    }
    
    .footer-top_access-button {
        width: 120px;
        font-size: 13px;
        padding: 10px 15px;
        margin: 0 auto;
    }
        
    .footer-bottom {
        padding: 15px 0;
    }
    
    .footer-copyright {
    	font-size: 10px;
    }
}

/* contact button ------------------------------------------------*/

.common-style_button {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 800px;
    background-color: #f5ad16;
    font-size: 30px;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
    padding: 30px 15px;
    border-radius: 10px;
    margin: 0 auto;
    box-shadow: 0 20px 20px -15px hsl(200 50% 20% / 10%);
}

.common-style_button:hover {
    background-color: #1c92d1;
    opacity: 1;
    transition : 0.5s;
}

.common-style_button::before {
    content: "";
    width: 30px;
    height: 24px;
    background-image: url("assets/img/common/common-style_button-icon.png");
    background-size: 30px 24px;
    margin: 0 30px 0 0;
}

@media (max-width: 991px) {

    .common-style_button {
        font-size: 16px;
        padding: 15px;
        border-radius: 10px;
    }
    
    .common-style_button::before {
        width: 18px;
        height: 15px;
        background-size: 18px 15px;
        margin: 0 10px 0 0;
    }
}

/* border ------------------------------------------------*/

.common-style_border {
    width: 100%;
    height: 1px;
    background-color: #dcdddd;
    position: relative;
    display: none;
}

.common-style_border::before {
    content: "";
    display: block;
    width: 300px;
    height: 2px;
    background-color: #1c92d1; 
    position: absolute;
    top: -1px;
    left: 0;
}

@media (max-width: 991px) {

    .common-style_border::before {
        width: 180px;
    }
}

/* fixedmenu ------------------------------------------------*/

.fixed-nav {
    position: fixed;
    z-index: 99;
    top: 50%;
    transform: rotate(0) translateY(-50%);
	transition: all 0.3s;
	opacity: 0;
}

.fixed-nav.active {
	opacity: 1;
}

.fixed-nav > div {
    transition: transform 0.3s ease 0s;
    transform: translateX(10px);
    width: 117px;
    height: 220px;
    background-size: cover;
}

.fixed-nav div a {
    display: block;
    width: 117px;
    height: 220px;
}

.fixed-nav > div.first {
    background-image: url("assets/img/common/fixed-nav_back.png");
}

.fixed-right {
    left: calc(100% - 85px);
}

.fixed-right > div:hover {
    transform: translateX(5px);
}

@media (max-width: 991px) {

    .fixed-nav {
        top: 75%;
    }
    
    .fixed-nav.active {
        display: none;
    }
    
    .fixed-nav > div {
        width: 73px;
        height: 137px;
    }
    
    .fixed-nav div a {
        width: 73px;
        height: 137px;
    }
    
    .fixed-nav > div.first {
        background-image: url("assets/img/common/fixed-nav_back-sp.png");
    }
    
    .fixed-right {
        left: calc(100% - 55px);
    }
}

/* fadein ------------------------------------------------*/

.fadein {
	opacity : 0;
	transform : translate(0, 100px);
	transition : all 800ms;
}

.fadein.scroll {
	opacity : 1;
	transform : translate(0, 0);
}

.appear {
    animation: appear 1s ease normal;
}

@keyframes appear {

    from {
	    opacity: 0;
	    transform : translate(0, 50px);
	}
	to {
	    opacity: 1;
	    transform : translate(0, 0);
	}
}

/* pager ------------------------------------------------*/

.common-pager {
    text-align: center;
}

.common-pager .page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.common-pager a.page-numbers,
.common-pager .current,
.common-pager .dots {
    font-size: 15px;
    font-weight: 700;
    display: flex;
    background-color: rgba(0, 0, 0, 0);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    text-align: center;
    margin: 0 5px;
    line-height: 1;
}

.common-pager .current {
    color: #ffffff;
    background-color: #1c92d1;
}

.common-pager a.prev::before {
    content: "<";
    font-size: 15px;
	margin: 0 15px 0 0;
}

.common-pager a.next::after {
    content: ">";
    font-size: 15px;
	margin: 0 0 0 15px;
}

/*================================================================================
index
================================================================================*/

/* support ------------------------------------------------*/

.top-support {
    background-color: #cae4f7;
    padding: 60px 0;
    border-bottom: 16px solid #1c92d1;
}

h2.top-support_heading {
    max-width: 750px;
    margin: 0 auto 50px auto;
}

.top-support_action-button {
    max-width: 800px;
    margin: 0 auto;
}

@media (max-width: 991px) {

    .top-support {
        padding: 30px 0;
        border-bottom: 16px solid #1c92d1;
    }
    
    h2.top-support_heading {
        margin: 0 auto 30px auto;
    }

    .top-support_action-button {
        max-width: 320px;
    }
}

/* reason ------------------------------------------------*/

.top-reason {
    background-color: #f6f6f6;
    padding: 60px 0;
}

h2.top-reason_heading {
    max-width: 560px;
    margin: 0 auto 60px auto;
}

.top-reason_point-item {
    display: flex;
    border-radius: 20px;
    overflow: hidden;
    margin: 0 0 40px 0;
    box-shadow: 0 20px 20px -15px hsl(200 50% 20% / 10%);
}

h3.top-reason_point-heading {
    background-color: #1c92d1;
    width: 340px;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
}

h3.top-reason_point-heading img {
    max-width: 200px;
}

.top-reason_point-content {
    padding: 60px 60px 40px 60px;
    background-color: #ffffff;
}

h4.top-reason_point-heading {
    font-size: 26px;
    margin: 0 0 15px 0;
}

p.top-reason_point-text {
    font-size: 16px;
    text-align: justify;
}

@media (max-width: 991px) {

    .top-reason {
        padding: 30px 0;
    }
    
    h2.top-reason_heading {
        max-width: 260px;
        margin: 0 auto 20px auto;
    }
    
    .top-reason_point-item {
        display: block;
        border-radius: 15px;
        margin: 0 0 30px 0;
    }
    
    h3.top-reason_point-heading {
        padding: 10px 15px;
        width: 100%;
    }
    
    h3.top-reason_point-heading img {
        max-width: 150px;
    }
    
    .top-reason_point-content {
        padding: 15px 20px 20px 20px;
    }
    
    h4.top-reason_point-heading {
        font-size: 20px;
        margin: 0 0 5px 0;
    }
    
    p.top-reason_point-text {
        font-size: 13px;
    }
}

/* service ------------------------------------------------*/

.top-service {
    background-color: #cae4f7;
    padding: 100px 0;
}

h2.top-service_heading {
    font-size: 28px;
    color: #ffffff;
    text-align: center;
    background-color: #1c92d1;
	padding: 15px 20px;    
	margin: 0 0 30px 0;
}

.top-service_list .column-content .row-outer {
    margin: 0 -20px;
}

.top-service_list .column-content .col-inner {
    padding: 0 20px;
}

.top-service_list .column-item {
    margin: 0 0 30px 0;
}

.top-service_list-figure {
    background-color: #ffffff;
    border-radius: 15px;
    padding: 40px;
}

.top-service_list-figure_thumb {
    max-width: 120px;
    margin: 0 auto 20px auto;
}

h3.top-service_list-heading {
    font-size: 22px;
    text-align: center; 
    color: #1c92d1;
	margin: 0 0 10px 0;
}

p.top-service_list-text {
	font-size: 16px;
    text-align: justify;  
}

@media (max-width: 991px) {

    .top-service {
        padding: 50px 0;
    }
    
    h2.top-service_heading {
        font-size: 18px;
    	padding: 10px 15px;    
    	margin: 0 0 20px 0;
    }
    
    .top-service_list .column-content .row-outer {
        margin: 0;
    }
    
    .top-service_list .column-content .col-inner {
        padding: 0;
    }
    
    .top-service_list .column-item {
        margin: 0 0 20px 0;
    }
    
    .top-service_list-figure {
        padding: 30px;
    }
    
    .top-service_list-figure_thumb {
        max-width: 100px;
        margin: 0 auto 15px auto;
    }
    
    h3.top-service_list-heading {
        font-size: 18px;
    	margin: 0 0 5px 0;
    }
    
    p.top-service_list-text {
    	font-size: 13px;  
    }
}

/* about support ------------------------------------------------*/

.top-aboutsupport {
    padding: 90px 0 120px 0;
}

h2.top-aboutsupport_heading {
    font-size: 64px;
    text-align: center; 
	margin: 0 0 20px 0;
}

p.top-aboutsupport_lead {
	font-size: 16px;
    text-align: center; 
	margin: 0 0 60px 0;
}

h3.top-aboutsupport_scheduletable-heading {
    font-size: 40px;
	margin: 0 0 20px 0;
}

.top-aboutsupport_scheduletable-schedule {
	margin: 0 0 50px 0;
}

@media (max-width: 991px) {

    .top-aboutsupport {
        padding: 40px;
    }
    
    h2.top-aboutsupport_heading {
        font-size: 36px;
    	margin: 0 0 15px 0;
    }
    
    p.top-aboutsupport_lead {
    	font-size: 14px;
    	margin: 0 0 40px 0;
    }
    
    h3.top-aboutsupport_scheduletable-heading {
        font-size: 18px;
    	margin: 0 0 15px 0;
    }
    
    .top-aboutsupport_scheduletable-schedule {
    	margin-bottom: 30px;
    	margin-right: calc(50% - 50vw);
    	padding: 0 15px 0 0;
    	overflow-x: scroll;
    }
    
    .top-aboutsupport_scheduletable-schedule img {
        width: 720px;
        max-width: 720px;
    }  

}

/* ma ------------------------------------------------*/

.top-ma {
    padding: 90px 0 120px 0;
    background: linear-gradient(to right,  #1c92d1 0%,#00b9ef 100%);
}

h2.top-ma_heading {
    font-size: 52px;
    text-align: center; 
	margin: 0 0 20px 0;
	color: #ffffff;
}

p.top-ma_lead {
	font-size: 16px;
    text-align: center; 
	margin: 0 0 60px 0;
	color: #ffffff;
}

.top-ma_list {
	margin: 0 0 80px 0;
}

.top-ma_list .column-content .row-outer {
    margin: 0 -15px;
}

.top-ma_list .column-content .col-inner {
    padding: 0 15px;
}

.top-ma_list-figure {
    border-radius: 15px;
    overflow: hidden;
}

.top-ma_list-figure_inner {
    padding: 30px 40px 40px 40px;
    background-color: #ffffff;
}

h3.top-ma_list-heading {
    font-size: 20px;
    text-align: center; 
    letter-spacing: normal;
	margin: 0 0 10px 0;
}

p.top-ma_list-text {
	font-size: 16px;
    text-align: justify; 
}

h3.top-ma_flow-heading {
    font-size: 38px;
    text-align: center; 
    color: #ffffff;
}

.top-ma_flow-merit {
	margin: 0 0 40px 0;
}

.top-ma_flow-cost {
	margin: 0 0 80px 0;
}

.top-ma .common-style_button:hover {
    background-color: #1a305e;
    opacity: 1;
}

@media (max-width: 991px) {

    .top-ma {
        padding: 40px 0;
    }
    
    h2.top-ma_heading {
        font-size: 28px;
    }
    
    p.top-ma_lead {
    	font-size: 14px;
    	margin: 0 0 30px 0;
    }
    
    .top-ma_list {
    	margin: 0 0 50px 0;
    }
    
    .top-ma_list .column-content .row-outer {
        margin: 0;
    }
    
    .top-ma_list .column-content .col-inner {
        padding: 0;
    }
    
    .top-ma_list .column-content .column-item {
        margin: 0 0 20px 0;
    }
    
    .top-ma_list-figure_inner {
        padding: 30px;
    }
    
    h3.top-ma_list-heading {
        font-size: 18px;
    }
    
    p.top-ma_list-text {
    	font-size: 13px;
    }
    
    h3.top-ma_flow-heading {
        font-size: 20px;
    }
    
    .top-ma_action-button {
        max-width: 320px;
    }
    
    .top-ma_flow-merit {
    	margin: 0 0 30px 0;
    	overflow-y: auto;
    	margin-right: calc(50% - 50vw);
    	padding: 0 15px 0 0;
    }
    
    .top-ma_flow-merit img {
    	width: 900px;
    	max-width: 900px;
    }
    
    .top-ma_flow-cost {
    	margin: 0 auto 30px auto;
        max-width: 320px;
    }
}

/* works ------------------------------------------------*/

.top-works {
    padding: 80px 0 100px 0;
}

.top-works_figure-thumb {
	margin: 0 0 20px 0;
}

h2.top-works_heading {
    font-size: 46px;
	margin: 0 0 40px 0;
}

h3.top-works_figure-heading {
    font-size: 22px;
	margin: 0 0 10px 0;
}

.top-works_figure-meta {
    display: flex;
    align-items: center;
    margin: 0 0 15px 0;
}

.top-works_figure-meta_pref span {
    display: block;
    background-color: #00b9ef;
    width: 80px;
    font-size: 13px;
    text-align: center;
    color: #ffffff;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 50px;
}

.top-works_figure-meta_catlist ul {
    display: flex;
    align-items: center;
}

.top-works_figure-meta_catlist ul li {
    font-size: 14px;
    padding: 0 10px;
    font-weight: 500;
    border-right: 1px solid #000000;
}

.top-works_figure-meta_catlist ul li:last-child {
    border-right: none;
}

.top-works_address {
	font-size: 14px;
    font-weight: 500;
}

.top-works_slider {
    overflow: hidden;
	margin-bottom: 60px;
    margin-right: calc(40% - 50vw);
}

.top-works_pagination {
    position: relative;
    margin: 0 0 40px 0;
}

.top-works_pagination .swiper-pagination-bullet {
    margin: 0 !important;
    width: 20%;
    height: 2px;
    background: #dcdddd;
    border-radius: 0;
}

.top-works_pagination .swiper-pagination-bullet-active {
    background: #1c92d1;
}

.top-works_action-button {
    display: block;
    background-color: #1c92d1;
    width: 240px;
    font-size: 18px;
    text-align: center;
    color: #ffffff;
    font-weight: 700;
    padding: 15px;
    border-radius: 50px;
    margin: 0 0 0 auto;
}

.top-works_action-button:hover {
    background-color: #f5ad16;
    transition : 0.5s;
}

@media (max-width: 991px) {

    .top-works {
        padding: 40px 0;
    }
    
    .top-works_figure-thumb {
    	margin: 0 0 15px 0;
    }
    
    h2.top-works_heading {
        font-size: 20px;
    	margin: 0 0 20px 0;
    }
    
    h3.top-works_figure-heading {
        font-size: 15px;
    	margin: 0 0 5px 0;
    }
    
    .top-works_figure-meta {
        margin: 0 0 10px 0;
    }
    
    .top-works_figure-meta_pref span {
        width: 60px;
        font-size: 11px;
        padding: 2px 10px;
    }
    
    .top-works_figure-meta_catlist ul li {
        font-size: 11px;
    }
    
    .top-works_address {
    	font-size: 11px;
    }

    .top-works_slider {
    	margin-bottom: 40px;
        margin-right: calc(40% - 50vw);
    }
    
    .top-works_pagination {
        margin: 0 0 50px 0;
    }
    
    .top-works_action-button {
        width: 190px;
        font-size: 14px;
        padding: 10px 15px;
        border-radius: 50px;
        margin: 0 auto;
    }
}

/* qa ------------------------------------------------*/

.top-qa {
    padding: 90px 0 120px 0;
    background-color: #f6f6f6;
}

h2.top-qa_heading {
    font-size: 46px;
    text-align: center; 
	margin: 0 0 20px 0;
}

.top-qa_list ul li {
    background-color: #ffffff;
    border-radius: 20px;
    padding: 40px 60px;
	margin: 0 0 20px 0;
}

.top-qa_list-header {
    display: flex;
    margin: 0 0 30px 0;
}

h3.top-qa_list-header_heading {
    font-size: 22px;
}

.top-qa_list-header::before {
    content: "";
    flex: none;
    width: 50px;
    height: 50px;
    background-image: url("assets/img/index/top-qa_list-header-icon.png");
    background-size: 50px 50px;
    margin: -5px 20px 0 0;
}

p.top-qa_list-body_text {
	font-size: 16px;
	text-align: justify;
}

.top-qa_list-body {
    display: flex;
}

.top-qa_list-body::before {
    content: "";
    flex: none;
    width: 50px;
    height: 50px;
    background-image: url("assets/img/index/top-qa_list-body-icon.png");
    background-size: 50px 50px;
    margin: -5px 20px 0 0;
}

@media (max-width: 991px) {

    .top-qa {
        padding: 40px 0;
    }
    
    h2.top-qa_heading {
        font-size: 20px;
    	margin: 0 0 15px 0;
    }
    
    .top-qa_list ul li {
        border-radius: 10px;
        padding: 20px;
    }
    
    .top-qa_list-header {
        align-items: normal;
        margin: 0 0 20px 0;
    }
    
    h3.top-qa_list-header_heading {
        font-size: 16px;
    }
    
    .top-qa_list-header::before {
        width: 26px;
        height: 26px;
        background-size: 26px 26px;
        margin: 0 10px 0 0;
    }
    
    p.top-qa_list-body_text {
    	font-size: 13px;
    }
    
    .top-qa_list-body::before {
        width: 26px;
        height: 26px;
        background-size: 26px 26px;
        margin: 0 10px 0 0;
    }
}

/* contact ------------------------------------------------*/

.top-contact {
	padding: 120px 0 160px 0;
}

.top-contact_leadicon {
    max-width: 360px;
    width: 100%;
    display: block;
    background-color: #f5ad16;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    text-align: center;
    border-radius: 60px;
    padding: 15px;
    margin: 0 auto 10px auto;
}

h2.top-contact_heading {
    font-size: 46px;
    text-align: center; 
	margin: 0 0 20px 0;
}

p.top-contact_lead {
	font-size: 14px;
    text-align: center; 
	margin: 0 0 60px 0;
}

.top-contact_form table {
    width: 100%;
}

.top-contact_form table tr {
	border-bottom: 30px #ffffff solid;
}

.top-contact_form-title {
    font-size: 18px;
    font-weight: 700;
	margin: 0 0 15px 0;
}

.top-contact_form-title .note {
    font-size: 18px;
    margin: 0 0 0 20px;
}

.top-contact_form input[type='text'], .top-contact_form input[type='email'] {
	font-size: 16px;
	padding: 25px;
	background-color: #f4f7f8;
	width: 100%;
}

.top-contact_form input[type='text']::placeholder, .top-contact_form input[type='email']::placeholder {
	color: #b5b5b6;
}

.top-contact_form textarea {
	font-size: 16px;
	padding: 25px;
	background-color: #f4f7f8;
	width: 100%;
	height: 240px;
}

.top-contact_form textarea::placeholder {
	color: #b5b5b6;
}

.top-contact_form-submit {
    text-align: center;
    margin: 30px 0 0 0;
}

.top-contact_form-submit input#confirm, .top-contact_form-submit input#submit {
    max-width: 380px;
    width: 100%;
    display: inline-block;
    background-color: #1c92d1;
    font-size: 18px;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
    border-radius: 60px;
    padding: 30px 15px;
    margin: 0 15px;
}

.top-contact_form-submit input#back {
    max-width: 380px;
    width: 100%;
    display: inline-block;
    background-color: #1c92d1;
    font-size: 18px;
    color: #ffffff;
    text-align: center;
    border-radius: 60px;
    padding: 30px 15px;
    margin: 0 15px;
}

.top-contact_form-submit input#confirm:hover, .top-contact_form-submit input#submit:hover, .top-contact_form-submit input#back {
    background-color: #f5ad16;
}

.top-contact_form-select {
	display: block;
	position: relative;
}
 
.top-contact_form-select select {
	appearance: none;
	padding: 25px 40px 25px 25px;
	width: 100%;
	background-image: none;
	box-shadow: none;
	text-overflow: ellipsis;
	cursor: pointer;
	font-size: 16px;
	background-color: #f4f7f8;
}

.top-contact_form-select select::placeholder {
	color: #b5b5b6;
}
 
.top-contact_form-select::before {
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%) translateX(0);
	width: 10px;
	height: 10px;
	content: "";
	pointer-events: none;
	background-image: url("assets/img/common/select-icon.png");
	background-size: 10px 10px;
}

.top-contact_form .error-text {
	color: #d21920;
	font-size: 13px;
	margin: 5px 0 0 0;
}

.wpcf7-spinner {
    display: none !important;
}

/* confirm ------------------------------------------------*/

.confirm .top-contact_form-title {
    margin: 0 0 10px 0;
}

.confirm .top-contact_form table tr {
    border-top: 1px solid #efefef;
    border-bottom: none;
}

.confirm .top-contact_form table tr:last-child {
    border-bottom: none;
}

.confirm .top-contact_form table td {
    padding: 20px 0;
}

.confirm-form_text {
	font-size: 16px;
}

@media (max-width: 991px) {

    .top-contact {
    	padding: 60px 0;
    }
    
    .top-contact_leadicon {
        max-width: 280px;
        font-size: 14px;
        padding: 10px 15px;
    }
    
    h2.top-contact_heading {
        font-size: 28px;
    	margin: 0 0 15px 0;
    }
    
    p.top-contact_lead {
    	font-size: 13px;
    	margin: 0 0 30px 0;
    }
    
    .top-contact_form table tr {
    	border-bottom: 20px #ffffff solid;
    }
    
    .top-contact_form-title {
        font-size: 13px;
    	margin: 0 0 10px 0;
    }
    
    .top-contact_form-title .note {
        font-size: 13px;
        margin: 0 0 0 15px;
    }
    
    .top-contact_form input[type='text'], .top-contact_form input[type='email'] {
    	font-size: 13px;
    	padding: 20px;
    }
    
    .top-contact_form textarea {
    	font-size: 13px;
    	height: 170px;
    	padding: 20px;
    }
    
    .top-contact_form-submit {
        margin: 15px 0 0 0;
    }
    
    .top-contact_form-submit input#confirm, .top-contact_form-submit input#submit {
        max-width: 280px;
        font-size: 13px;
        padding: 20px 15px;
        margin: 0 10px 15px 10px;
    }
    
    .top-contact_form-submit input#back {
        max-width: 280px;
        font-size: 13px;
        padding: 20px 15px;
        margin: 0 10px 15px 10px;
    }
    
    .top-contact_form-select {
    	display: block;
    	position: relative;
    }
     
    .top-contact_form-select select {
    	font-size: 13px;
    	padding: 20px 25px 20px 20px;
    }
     
    .top-contact_form-select::before {
    	right: 15px;
    	width: 8px;
    	height: 8px;
    	background-size: 8px 8px;
    }
    
    .top-contact_form .error-text {
    	font-size: 11px;
    }
    
    /* confirm ------------------------------------------------*/
    
    .confirm .top-contact_form-title {
        margin: 0 0 5px 0;
    }
    
    .confirm .top-contact_form table td {
        padding: 10px 0;
    }
    
    .confirm-form_text {
    	font-size: 13px;
    }
}

/* ads ------------------------------------------------*/

.top-ads {
    padding: 90px 0 100px 0;
    background: linear-gradient(to right,  #1c92d1 0%,#00b9ef 100%);
}

.top-ads_inner {
    position: relative;
}

h2.top-ads_heading {
    font-size: 38px;
    text-align: center; 
	margin: 0 0 50px 0;
	color: #ffffff;
}

.top-ads_chara {
    max-width: 290px;
    position: absolute;
    right: -150px;
    bottom: -100px;
}

.top-ads .common-style_button:hover {
    background-color: #1a305e;
    opacity: 1;
}

@media (max-width: 1200px) {

    .top-ads_button.common-style_button {
        max-width: 600px;
    }
}

@media (max-width: 991px) {

    .top-ads {
        padding: 40px 0;
    }
    
    h2.top-ads_heading {
        font-size: 15px;
        text-align: left; 
    	margin: 0 0 20px 0;
    }
    
    .top-ads_button {
        margin: 0;
    }
    
    .top-ads_chara {
        max-width: 120px;
        position: absolute;
        right: auto;
        left: 220px;
        bottom: 48px;
    }
    
    .top-ads_button.common-style_button {
        max-width: 350px;
    }
}

/*================================================================================
works
================================================================================*/

/* sort ------------------------------------------------*/

.worklist-list_sort {
	margin: 0 0 60px 0;
}

.worklist-list_sort .row-outer {
    margin: 0 -10px;
}

.worklist-list_sort .col-inner {
    padding: 0 10px;
}

.worklist-list_sort .column-item {
	margin: 0 0 20px 0;
}

.worklist-list_sort-button {
    max-width: 100%;
    width: 100%;
    display: block;
    background-color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    border-radius: 60px;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.worklist-list_sort-button::before {
    content: "●";
    color: #1c92d1;
    font-size: 8px;
    margin: 0 5px 0 0;
}

.worklist-list_sort-button.active {
    background-color: #1c92d1;
    color: #ffffff;
}

.worklist-list_sort-button.active::before {
    color: #ffffff;
}

/* list ------------------------------------------------*/

.worklist-list_postlist {
	margin: 0 0 40px 0;
}

.worklist-list_postlist .row-outer {
    margin: 0 -25px;
}

.worklist-list_postlist .col-inner {
    padding: 0 25px;
}

.worklist-list_postlist .column-item {
	margin: 0 0 60px 0;
}

.worklist-list_postlist-figure_thumb {
	margin: 0 0 20px 0;
}

h2.worklist-list_heading {
    font-size: 46px;
	margin: 0 0 40px 0;
}

h3.worklist-list_postlist-figure_heading {
    font-size: 22px;
	margin: 0 0 10px 0;
}

.worklist-list_postlist-figure_meta {
    display: flex;
    align-items: center;
    margin: 0 0 15px 0;
}

.worklist-list_postlist-figure_meta-pref span {
    display: block;
    background-color: #00b9ef;
    width: 80px;
    font-size: 13px;
    text-align: center;
    color: #ffffff;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 50px;
}

.worklist-list_postlist-figure_meta-catlist ul {
    display: flex;
    align-items: center;
}

.worklist-list_postlist-figure_meta-catlist ul li {
    font-size: 14px;
    padding: 0 10px;
    font-weight: 500;
    border-right: 1px solid #000000;
}

.worklist-list_postlist-figure_meta-catlist ul li:last-child {
    border-right: none;
}

.worklist-list_postlist-figure_meta-address {
	font-size: 14px;
    font-weight: 500;
}

@media (max-width: 991px) {

    /* sort ------------------------------------------------*/
    
    .worklist-list_sort {
    	margin: 0 0 30px 0;
    }
    
    .worklist-list_sort .row-outer {
        margin: 0 -2.5px;
    }
    
    .worklist-list_sort .col-inner {
        padding: 0 2.5px;
    }
    
    .worklist-list_sort .column-item {
    	margin: 0 0 5px 0;
    }
    
    .worklist-list_sort-button {
        font-size: 11px;
        padding: 5px 10px;
    }
    
    .worklist-list_sort-button::before {
        font-size: 6px;
    }

    /* list ------------------------------------------------*/
    
    .worklist-list_postlist {
    	margin: 0 0 20px 0;
    }
    
    .worklist-list_postlist .row-outer {
        margin: 0;
    }
    
    .worklist-list_postlist .col-inner {
        padding: 0;
    }
    
    .worklist-list_postlist .column-item {
    	margin: 0 0 30px 0;
    }

    .worklist-list_postlist-figure_thumb {
    	margin: 0 0 15px 0;
    }
    
    h2.worklist-list_heading {
        font-size: 20px;
    	margin: 0 0 20px 0;
    }
    
    h3.worklist-list_postlist-figure_heading {
        font-size: 15px;
    	margin: 0 0 5px 0;
    }
    
    .worklist-list_postlist-figure_meta {
        margin: 0 0 10px 0;
    }
    
    .worklist-list_postlist-figure_meta-pref span {
        width: 60px;
        font-size: 11px;
        padding: 2px 10px;
    }
    
    .worklist-list_postlist-figure_meta-catlist ul li {
        font-size: 11px;
    }
    
    .worklist-list_postlist-figure_meta-address {
    	font-size: 11px;
    }
}

/*================================================================================
single
================================================================================*/

.single-detail {
    background-color: #ffffff;
    padding: 80px 100px;
    border-radius: 20px;
    margin: 0 0 70px 0;
}

h2.single-detail_header-heading {
    font-size: 38px;
	margin: 0 0 20px 0;
}

.single-detail_header-meta {
    display: flex;
    align-items: center;
    margin: 0 0 15px 0;
}

.single-detail_header-meta_pref a, .single-detail_header-meta_pref span {
    display: block;
    background-color: #00b9ef;
    width: 80px;
    font-size: 13px;
    text-align: center;
    color: #ffffff;
    font-weight: 500;
    padding: 5px 10px;
    border-radius: 50px;
}

.single-detail_header-meta_catlist ul {
    display: flex;
    align-items: center;
}

.single-detail_header-meta_catlist ul li {
    font-size: 14px;
    padding: 0 10px;
    font-weight: 500;
    border-right: 1px solid #000000;
}

.single-detail_header-meta_catlist ul li:last-child {
    border-right: none;
}

.single-detail_visual {
	margin: 0 0 60px 0;
}

.single-detail_visual-slider {
	margin: 0 0 20px 0;
}

.single-detail_info {
	margin: 0 0 60px 0;
}

.single-detail_info table {
    width: 100%;
}

.single-detail_info table tr {
    border-top: 1px solid #efefef;
}

.single-detail_info table tr:last-child {
    border-bottom: 1px solid #efefef;
}

.single-detail_info table tr th {
    width: 130px;
    font-size: 15px;
    padding: 20px 0;
}

.single-detail_info table tr td {
    font-size: 15px;
    padding: 20px 0;
	font-weight: 500;
}

.single-detail_info table ul li {
    display: inline;
}

.single-detail_info table ul li:nth-child(n+2)::before {
    content: "・";
}

h3.single-detail_list-header_heading {
    font-size: 18px;
    padding: 0 0 15px 0;
	margin: 0 0 20px 0;
    position: relative;
}

h3.single-detail_list-header_heading::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #efefef;
    position: absolute;
    left: 0;
    bottom: 0;
}

h3.single-detail_list-header_heading::after {
    content: "";
    display: block;
    width: 160px;
    height: 1px;
    background-color: #1c92d1;
    position: absolute;
    left: 0;
    bottom: 0;
}

.single-detail_list ul li {
	margin: 0 0 50px 0;
}

.single-detail_list-header {
    margin: 0 0 10px 0;
}

h4.single-detail_list-header_heading {
    font-size: 16px;
    color: #1c92d1;
}

h4.single-detail_list-header_heading::before {
    content: "Q.";
    margin: 0 15px 0 0;
}

.single-detail_list h4 {
    font-size: 16px;
    color: #1c92d1;
    margin: 0 0 10px 0;
}

.single-detail_list h4::before {
    content: "Q.";
    margin: 0 15px 0 0;
}

.single-detail_list h5 {
    font-size: 15px;
}

.single-detail_list h5::before {
    content: "●";
}

.single-detail_list p {
	font-size: 15px;
	text-align: justify;
	margin: 0 0 20px 0;
}

h5.single-detail_list-body_heading {
    font-size: 15px;
}

p.single-detail_list-body_text {
	font-size: 15px;
	text-align: justify;
	margin: 0 0 20px 0;
}

.single-detail_info table tr td a {
    color: #1c92d1;
}

.single-detail_action-button {
    display: block;
    background-color: #1c92d1;
    width: 240px;
    font-size: 18px;
    text-align: center;
    color: #ffffff;
    font-weight: 500;
    padding: 15px 20px;
    border-radius: 50px;
    margin: 0 auto;
}

@media (max-width: 991px) {

    .single-detail {
        padding: 20px;
        border-radius: 10px;
        margin: 0 0 40px 0;
    }
    
    h2.single-detail_header-heading {
        font-size: 17px;
    	margin: 0 0 10px 0;
    }
    
    .single-detail_header-meta {
        margin: 0 0 10px 0;
    }
    
    .single-detail_header-meta_pref a, .single-detail_header-meta_pref span {
        width: 65px;
        font-size: 11px;
        padding: 3px 10px;
    }
    
    .single-detail_header-meta_catlist ul li {
        font-size: 11px;
        padding: 0 8px;
    }
    
    .single-detail_visual {
    	margin: 0 0 20px 0;
    }
    
    .single-detail_visual-slider {
    	margin: 0 0 5px 0;
    }
    
    .single-detail_info {
    	margin: 0 0 40px 0;
    }
    
    .single-detail_info table tr th {
        width: 100%;
        display: block;
        font-size: 13px;
        padding: 15px 0 8px 0;
    }
    
    .single-detail_info table tr td {
        width: 100%;
        display: block;
        font-size: 13px;
        padding: 0 0 15px 0;
    }
    
    h3.single-detail_list-header_heading {
        font-size: 14px;
        padding: 0 0 10px 0;
    	margin: 0 0 15px 0;
    }
    
    h3.single-detail_list-header_heading::after {
        width: 130px;
    }
    
    .single-detail_list ul li {
    	margin: 0 0 30px 0;
    }
    
    .single-detail_list-header {
        margin: 0 0 10px 0;
    }
    
    h4.single-detail_list-header_heading {
        font-size: 15px;
    }
    
    h4.single-detail_list-header_heading::before {
        margin: 0 10px 0 0;
    }
    
    h5.single-detail_list-body_heading {
        font-size: 13px;
    }
    
    p.single-detail_list-body_text {
    	font-size: 13px;
    	margin: 0 0 10px 0;
    }
    
    .single-detail_list h4 {
        font-size: 15px;
    }
    
    .single-detail_list h4::before {
        margin: 0 10px 0 0;
    }
    
    .single-detail_list h5 {
        font-size: 13px;
    }
    
    .single-detail_list p {
    	font-size: 13px;
    	margin: 0 0 10px 0;
    }
}

/*================================================================================
thanks
================================================================================*/

h2.thanks-message_heading {
    font-size: 46px;
    text-align: center; 
	margin: 40px 0 20px 0;
}

p.thanks-message_lead {
	font-size: 18px;
    text-align: center; 
	margin: 0 0 60px 0;
}

@media (max-width: 991px) {
    
    h2.thanks-message_heading {
        font-size: 28px;
    	margin: 20px 0;
    }
    
    p.thanks-message_lead {
    	font-size: 16px;
    	margin: 0 0 30px 0;
    }
}

/*================================================================================
plugin
================================================================================*/

 /* contact form 7  ------------------------------------------------*/
 
.wpcf7-mail-sent-ok {
	color: #185626 !important;
	font-size: 15px !important;
	padding: 15px !important;
	text-align: center !important;
	background-color: #d5edda !important;
	border:1px solid #c4e5cc !important;
}

.wpcf7-not-valid-tip {
    font-size: 15px !important;
	margin: 5px 0 0 0;
}

.wpcf7-validation-errors, .wpcf7-acceptance-missing {
	color: #711d26 !important;
	font-size: 15px !important;
	padding: 15px !important;
	text-align: center !important;
	background-color: #f7d7da !important;
	border: 1px solid #f4c6cb !important;
}

.wpcf7-mail-sent-ng {
	color: #711d26 !important;
	font-size: 15px !important;
	padding: 15px !important;
	text-align: center !important;
	background-color: #f7d7da !important;
	border: 1px solid #f4c6cb !important;
}

.wpcf7-response-output {
	color: #711d26 !important;
	font-size: 15px !important;
	padding: 15px !important;
	text-align: center !important;
	background-color: #f7d7da !important;
	border: 1px solid #f4c6cb !important;
}

@media (max-width: 991px) {

    /* contact form 7  ------------------------------------------------*/
    
	.wpcf7-mail-sent-ok {
		font-size: 14px !important;
	}
	
	.wpcf7-not-valid-tip {
	    font-size: 12px;
	}
	
	.wpcf7-validation-errors, .wpcf7-acceptance-missing {
		font-size: 14px !important;
	}
	
	.wpcf7-mail-sent-ng {
		font-size: 14px !important;
	}
	
	.wpcf7-response-output {
		font-size: 14px !important;
	}
}