@charset "UTF-8"; /*---------------------------------------------------------
	Template:sw
	Theme Name:sw_child
	Theme URI: http://【hoge.jp】/
	Description: 【suworks】ホームページテンプレートです。
	Author: SUWO!RKS
	Author URI: http://su-works.jp/
	Version: 1.0
---------------------------------------------------------*/

/*240405sw変更*/
.rules #eyecatch {
	display: none;
}
.rules .header-set {
	display: none;
}
.rules #breadcrumb_wrap {
	display: none;
}
.rules #footer {
	display: none;
}
.rules #copyright {
	display: none;
}
.rules h1 {
	display: none;
}


.home .main .entry {
    padding-top: 0;
}

.home #contents .topnews_wrap {
    background: #009573;
    padding: 15px 0;
}

.topnews_wrap.widget_my_widget02 .template2 li {
    border: none ;
}

.topnews_wrap.widget_my_widget02 .template2 li a {
    color: #fff;
}

.topnews_wrap.widget_my_widget02 .template2 li a .date {
    font-size: 15px;
    width: auto;
}

.topnews_wrap.widget_my_widget02 .template2 li a .date .post_new {
    display: none;
}

.topnews_wrap.widget_my_widget02 ul.template2 li .title {
    font-size: 16px;
    color: #fff;
}

.home #contents .topbn_wrap {
    padding: 0;
}

.topbn_wrap .colbox.col4>div {
    margin: 0;
    width: 25%;
    position: relative;
}

.main .topbn_wrap .colbox div.img_zoom {
    margin: 0;
    position: relative;
}

.main .topbn_wrap .colbox h4 {
    position: absolute;
    bottom: 15px;
    left: 24px;
    color: #fff;
    font-weight: bold;
    font-size: 28px;
    margin: 0;
}

@media screen and (max-width: 960px) {
    .main .topbn_wrap .colbox h4 {
        font-size: 22px;
    }
}

@media screen and (max-width: 680px) {
    .home #contents .topbn_wrap .colbox > div {
        width: 50%;
    }
}

/*　news_wrap */
.main .news_wrap .my_widget_header h2 {
    font-weight: normal;
    font-family: 'Shippori Mincho B1', serif;
}

.home .news_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #FFFEF8;
    padding: 75px 10px 55px;
}

.news_wrap .my_widget_header {
    width: 24% !important;
    max-width: 240px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
}

.main .news_wrap .my_widget_header h2 {
    margin: 0;
    padding: 0;
    border: none;
    text-align: left;
    font-size: 30px;
}

.news_wrap .my_widget_header h2+.my_widget_subtitle {
    padding-left: 2.5em;
    font-size: 15px;
    color: #009573;
    margin: 0;
}

.news_wrap .my_widget_header h2+.my_widget_subtitle p {
    margin: 0;
}

.news_wrap.widget_my_widget02 .more-link {
    display: inline-block;
    margin: 0 !important;
    padding: 16px 0 0 !important;
}

.widget_my_widget02 .more-link a {
    font-size: 14px;
    line-height: 1.0;
    padding: 7px 14px;
    border-radius: 5px;
    color: #fff;
    background: #009573;
}

.widget_my_widget02 .more-link a:hover {
    color: #009573;
}

.widget_my_widget02 .more-link a::before {
    background: #fff;
    border-radius: 5px;
}

.widget_my_widget02 .more-link a::after {
    position: relative;
    right: auto;
    height: auto;
    font-size: 16px;
    margin-left: 10px;
}

.news_wrap .post-cat-widget {
    width: 76%;
    max-width: 760px;
    margin-right: auto;
}

.news_wrap.widget_my_widget02 .post_new {
    display: none !important;
}

@media screen and (max-width: 680px) {
    .home .news_wrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .news_wrap .my_widget_header {
        width: 100% !important;
        max-width: inherit !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        text-align: center;
    }

    .news_wrap .my_widget_header h2+.my_widget_subtitle {
        padding: 0;
    }

    .main .news_wrap .my_widget_header h2 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .news_wrap .post-cat-widget {
        width: 100%;
        max-width: inherit;
        margin-right: auto;
    }

    .news_wrap.widget_my_widget02 .more-link {
        margin-top: 30px !important;
    }
}

/* .copy */
.home .main .copy_wrap {
    padding: 50px 0;
}

/* div_2nd */
.div_2nd {
    padding: 100px 0;
}

.div_2nd .main .entry {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.div_2nd .main .entry .widget {
    width: calc( 50% - 20px);
    margin: 0 40px 0 0;
    padding: 0;
}

.div_2nd .main .entry .widget:nth-child(2n) {
    margin: 0;
}

.div_2nd .main .entry .widget:nth-child(n+3) {
    margin-top: 90px;
}

.div_2nd .main .entry .widget_my_widget02 h2 {
    font-weight: normal;
    font-family: 'Shippori Mincho B1', serif;
    color: #009573;
    border-bottom: none;
    margin: 0 0 30px;
    padding: 0;
}

.widget_my_widget02 .post_new {
    display: none;
}

@media screen and (max-width: 960px) {
    .div_2nd .main .entry .widget_my_widget02 h2 {
        font-size:28px;
        margin-bottom: 15px;
    }

    .div_2nd .widget_my_widget02 .more-link a {
        font-size: 12px;
        padding: 7px 10px;
    }

    .div_2nd .widget_my_widget02 .more-link a:after {
        font-size: 12px;
    }

    .div_2nd .widget_my_widget02 ul.template2 {
        padding: 0;
    }

    .div_2nd .widget_my_widget02 .template2 li a {
        padding: 10px 0;
    }

    .div_2nd .widget_my_widget02 ul.template2 li .date {
        width: auto;
    }

    .div_2nd .widget_my_widget02 ul.template2 li .title {
        padding-left: 15px;
    }
}

@media screen and (max-width: 680px) {
    .div_2nd {
        padding: 60px 0;
    }

    .div_2nd .main .entry .widget {
        width: 100%;
        margin: 0 ;
    }

    .div_2nd .widget_my_widget02 ul.template2 li .title {
        padding-left: 0;
    }

    .div_2nd .main .entry .widget:nth-child(n+2) {
        margin-top: 30px;
    }

    .div_2nd .widget_my_widget02 .more-link a {
        font-size: 14px;
    }
}

/* banner */
.home .div_3rd .bn_2col {
    background: #FFFEF8;
    padding: 100px 0;
}

.div_3rd .bn_2col .colbox {
    max-width: 1000px;
    margin: 0 auto;
}

.main .bn_2col.widget_my_widget17 a,.main .bn_3col.widget_my_widget17 a {
    position: relative;
    line-height: 1.0;
}

.main .bn_2col.widget_my_widget17 h4 {
    position: absolute;
    margin: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #FFFFFF;
    font-weight: normal;
    font-family: 'Shippori Mincho B1', serif;
    font-size: 32px;
    width: 100%;
}

.main .bn_2col .colbox.col2>div:nth-child(n+3) {
    margin-top: 20px;
}

.main .bn_3col {
    padding: 0;
}

.bn_3col.widget_my_widget17 h4 {
    position: absolute;
    margin: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    color: #FFFFFF;
    font-size: 24px;
    font-weight: bold;
    display: inline-block;
    width: auto;
    padding: 15px 50px;
    border: 2px solid;
    border-radius: 5px;
    white-space: nowrap;
}

@media screen and (max-width: 960px) {
    .bn_3col.widget_my_widget17 .colbox > div {
        width:50%;
    }

    .bn_3col.widget_my_widget17 h4 {
        font-size: 20px;
        padding: 15px 30px;
    }
}

@media screen and (max-width: 680px) {
    .home .div_3rd .bn_2col {
        padding: 50px 0;
    }

    .main .bn_2col.widget_my_widget17 h4 {
        font-size: clamp(11px, 5vw, 18px);
    }

    .home .div_3rd .bn_3col .colbox.col3>div {
        width: 50%;
    }

    .bn_3col.widget_my_widget17 h4 {
        font-size: clamp(11px, 3.2vw, 16px);
        padding: 5px 7px;
    }
}

/* info */
.home .info_wrap {
    padding: 100px 0;
}

.info_wrap .div_2col .info_map {
    width: 45%;
}

.info_wrap .div_2col .info_txt {
    width: 50%;
}

.info_wrap .div_2col .info_txt h3 {
    color: #009573;
    font-weight: normal;
    font-family: 'Shippori Mincho B1', serif;
    text-align: left;
    margin: 0 0 20px;
    padding: 0;
}

.info_wrap .div_2col .info_txt p {
    margin: 0 0 1em;
    line-height: 1.53;
}

.info_wrap .div_2col .info_txt .blk a {
    margin: 0;
    width: auto;
}

.iframe-wrap {
    position: relative;
    padding-top: 30%;
}

.iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 680px) {
    .home .info_wrap {
        padding: 70px 0;
    }

    .info_wrap .div_2col .info_map {
        width: 100%;
    }

    .info_wrap .div_2col .info_txt {
        width: 100%;
        padding-top: 30px;
    }

    .iframe-wrap {
        padding-top: 75%;
    }

    .info_wrap .div_2col .info_txt h3 {
        font-size: 18px;
    }
}

/* div_4th */
.div_4th {
    background: #FFFEF8;
    max-width: 100%;
    padding: 100px 0;
}

.div_4th.col10 .main {
    padding: 0 1%;
}

/* fac_wrap */
.fac_wrap .colbox.col2 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.fac_wrap .colbox.col2>div {
    width: calc( 50% - 10px);
}

.fac_wrap .colbox.col2>div:nth-child(n+3) {
    margin-top: 20px;
}

.fac_wrap .colbox.col3 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.fac_wrap .colbox.col3>div {
    width: calc(33.333333% - 10px);
}

.fac_wrap .colbox.col3>div:nth-child(n+4) {
    margin-top: 10px;
}

.entry .fac_wrap .img_zoom img:hover {
    transform: inherit;
    transition: inherit;
}

@media screen and (max-width: 680px) {
    .fac_wrap .colbox.col3>div {
        width: 100%;
    }

    .fac_wrap .colbox.col3>div:nth-child(n+2) {
        margin-top: 10px;
    }
}

/* footer */
.home #footer {
    margin: 0;
}

#footer-in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#footer-in ul li.menu-item-has-children > a {
    font-weight: bold;
}

@media screen and (max-width: 680px) {
    #footer-in {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    #footer-in ul.menu > li {
        border-bottom: 1px solid #707070
    }

    #footer-in .menu-fnavi05-container ul.menu > li:last-child {
        border-bottom: none;
    }

    #footer-in ul li .sub-menu {
        display: none;
    }

    #footer-in ul li.is-active > .sub-menu {
        display: block;
        padding-left: 10px;
    }

    #footer-in ul li a {
        padding: 15px 0;
    }

    #footer-in ul li.menu-item-has-children > a {
        position: relative;
    }

    #footer-in ul li.menu-item-has-children > a:before {
        content: '';
        width: 18px;
        height: 2px;
        background: #fff;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }

    #footer-in ul li.menu-item-has-children > a:after {
        content: '';
        width: 2px;
        height: 18px;
        background: #fff;
        position: absolute;
        top: 50%;
        right: 18px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transition: 0.3s;
    }

    #footer-in ul li.menu-item-has-children.is-active > a:before {
        content: '';
        width: 18px;
        height: 2px;
        background: #fff;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        display: none;
    }

    #footer-in ul li.menu-item-has-children.is-active > a:after {
        transform: translateY(-50%) rotate(90deg);
    }

    #footer-in ul.sub-menu li a {
        padding: 5px 0;
    }
}

/* page */
/* h2 */
body:not(.home) .entry h2 {
    position: relative;
    border-bottom: none;
    font-size: 38px;
    padding-left: 32px;
    /*ito*/
    padding: 0 0 0 32px;
    font-weight: normal;
}

body:not(.home) .entry h2:before {
    position: absolute;
    content: "";
    background: #DEF4ED;
    border-radius: 50px;
    top: -14px;
    left: 0;
    width: 80px;
    height: 80px;
    z-index: -1;
    /*ito*/
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

/* h3 */
body:not(.home) .entry h3 {
    border-bottom: #DEF4ED 1px solid;
    font-size: 30px;
    /*ito*/
    font-weight: normal;
}

/* h4 */
body:not(.home) .entry h4 {
    background: none;
    color: #57AE95;
    font-size: 24px;
    padding-left: 0;
    /*ito*/
    font-weight: normal;
}

/* h5 */
body:not(.home) .entry h5 {
    font-size: 20px;
    /*ito*/
    font-weight: normal;
    border-bottom: none;
}

@media screen and (max-width: 680px) {
    body:not(.home) .entry h2 {
        font-size:24px;
        line-height: 1.4;
    }

    body:not(.home) .entry h3 {
        font-size: 22px;
        line-height: 1.4;
    }

    body:not(.home) .entry h4 {
        font-size: 20px;
        line-height: 1.4;
    }
}

/* 定義スタイルタイトル */
.entry dl dt {
    border-bottom: #DEF4ED 1px solid;
    font-size: 30px;
    /*ito*/
    font-weight: normal;
}

/* テーブルスタイル */
.entry tbody th {
    background-color: #DEF4ED;
    text-align: left;
    padding: 20px 30px;
}

.entry th, .entry td {
    border: none;
}

.entry tr {
    border-bottom: #FAFAFA 1px solid;
}

/* 引用 背景付き */
.entry blockquote.bq_bk {
    background: #F8F6E5;
    border-radius: 34px;
    padding: 35px 30px 30px;
}

/*ito*/
.entry blockquote.bq_bk p strong:first-child {
    font-weight: normal;
    font-size: 20px;
    margin-bottom: 20px;
}

/* Q&Aスタイル */
.entry .faq_list dl {
    border: none;
}

.entry .faq_list dt {
    border: none;
    font-weight: normal;
    padding: 1.5em 30px 1.5em 84px;
}

.entry .faq_list dt.open {
    padding-bottom: 1.7em;
}

.entry .faq_list dt::before {
    color: #219573;
    font-size: 1.4rem;
    font-weight: bold;
    background: #DEF4ED;
    top: 2px;
    left: 0;
    padding: 20px;
}

.entry .faq_list dd:before {
    font-size: 1.4rem;
    background: #C6B260;
    color: #FFF;
    left: 0;
    padding: 20px;
}

.entry .faq_list dd {
    padding: 0 0.5em 0 84px;
}

.entry .faq_list dt.open+dd {
    padding: 1.2em 0.5em 2.5em 84px;
}

/* イメージボックススタイル */
.image_box {
    border: none;
    background-color: #FFFEF8;
    padding: 30px;
}

.image_box .img {
    margin: 0px 30px 0 0;
}

.image_box .txt strong {
    font-size: 20px;
}

/* 404ページ */
.error404 .error404-content h1 {
    font-size: 30px;
    padding: 0.8em 0;
}

.error404 .error404-content h1::before {
    content: "";
}

.error404 .error404-content h1 {
    border-bottom: #E2F5EF 1px solid;
}

/* 流れのスタイル(flow_chart2) */
.entry .flow_chart2 {
    border: none;
}

.entry .flow_chart2 {
    padding: 0;
}

.entry .flow_chart2:last-child {
    padding: 0;
}

.entry .flow_wrap .flow_chart2:nth-child(n+2) {
    margin-top: 30px;
    position: relative;
}

.entry .flow_wrap .flow_chart2:nth-child(n+2):before {
    content: '';
    background: #219573;
    height: 30px;
    width: 1px;
    position: absolute;
    top: -30px;
    left: 145px;
}

.entry .flow_chart2 .img {
    margin: 0 30px 0 0;
}

.entry .flow_chart2 .img img {
    height: 100%;
    object-fit: cover;
    min-height: 210px;
}

/* タイトル前に数字を連番でつける  */
.entry .flow_wrap {
    counter-reset: number 0;
}

.entry .flow_wrap .flow_chart2 .txt {
    position: relative;
}

.entry .flow_wrap .flow_chart2 > .txt:before {
    font-size: 48px;
    color: #219573;
    line-height: 1.0;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    letter-spacing: 0;
    position: absolute;
    top: 0;
    left: 0;
    /* number カウンタの増加数をセット */
    counter-increment: number 1;
    /* 表示形式を指定 */
    content: counter(number, decimal-leading-zero);
}

.entry .flow_wrap .flow_chart2 .txt strong {
    padding: 10px 10px 0 64px;
}

.ec_ttl {
    position: absolute;
    top: calc(50% - 2em);
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    max-width: 90%;
    width: 100%;
}

.ec_ttl > p {
    color: #fff;
    font-weight: bold;
    font-size: clamp(24px, 5vh, 52px );
    display: inline-block;
    text-align: center;
    margin: 0;
    width: 100%;
    line-height: 1.4;
}

@media screen and (max-width: 680px) {
    .ec_ttl > p {
        font-size: 32px;
    }
}

body:not(.home) .entry h1 {
    margin: 0 0 2em;
    padding: 0;
    text-align: center;
    font-weight: bold;
    font-size: clamp(32px, 4vw, 48px) !important;
    line-height: 1.2;
    margin: 1em auto 15px;
}

body:not(.home).single .entry h1 {
    font-size: clamp(28px, 2.5vw, 32px) !important;
}

.page-contact #contents, .request #contents {
    background: #F8F6E5;
}

.page-contact #footer ,.request #footer {
    margin-top: 0;
}

.side_banner .colbox > div {
    margin: 0;
}

.side_banner .colbox > div:nth-child(n+2) {
    margin-top: 10px;
}


/*****202402追加*****************/
.rules-title {
    padding: 0;
    text-align: center;
    font-weight: bold;
    font-size: clamp(32px, 4vw, 48px) !important;
    line-height: 1.2;
    margin: 0 auto 15px;	}

.asterisk {
    padding-left: 1.5rem;}

.asterisk::before {
	content: "〇";
	margin-left: -1rem;}

.table-line {
	border-collapse: collapse;
	border:1px solid #ccc;}

.table-line th, .table-line td{
	border:1px solid #ccc;}

.table-nospace tbody th, .table-nospace tbody td{
	padding:0;
	line-height: 2;}

.rules ol, .rules ul{
	list-style-position: outside;
	margin: 0 0 1em 2em;}

.rules  ol li {
	padding-left: 0;}

.rules tr {
	border-bottom: none;}
.rules th, td {
	vertical-align:top;}

.rules dl dt {
	float:left;
	font-size:inherit;
	font-weight:normal;
	padding: 0;
 	border-bottom:none;
	padding-top:0;}

.rules dl dd {
	padding:0;}

.rules dd::after {
  content: "";
  clear: both;
  display: block;}

.dd-1 dl dd{
	margin-left:1.5em;}

.dd-3 dl dd{
	margin-left:4em;}

.rules dd+dt {
	margin-top: 0;}

.parentheses ol{
	margin: 0 0 1em 1em;}

.parentheses ol li {
	list-style-type: none;
	counter-increment: cnt;}
 
.parentheses ol li::before {
	content: "(" counter(cnt) ")";
	display:inline-block;
	margin-left:-2em;
	width: 2em;
}

.list-style-none ul li{
	list-style: none!important;
	list-style-position: outside;
	counter-increment: none;}

.number-reset6 {
	counter-reset: cnt 6;}

.number-reset4 {
	counter-reset: cnt 4;}

.font-m{
	font-family:'Osaka-Mono';
	font-size:0.9em;}

@media screen and (max-width: 480px){}
.sp-table tbody th, .table-line tbody td {
	display:table-cell;
	width:auto;}

.table-nospace tbody th, .table-nospace tbody td{
	padding:0 !important;
	line-height: 2;}
}

