/*
Theme Name: kandabashi-dental-oral.com Theme
Theme URI: https://www.kandabashi-dental-oral.com/
Description: This is kandabashi-dental-oral.com Theme.
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

body {
	font-family: "Noto Serif JP", serif;
    font-weight: 700;
    background: #f4f2ea;
}
a {
    text-decoration: none;
}
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.img-fluid-100 {
    width: 100%;
}
.floatMenu {
    position: absolute;
    top: 215px;
    right: 0;
	z-index:2;
}
.floatMenu img {
    max-height: 280px;
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .floatMenu img {
        max-height: 180px;
    }
}
@media (min-width: 576px) and (max-width: 1199.98px) {
    .floatMenu img {
        max-height: 165px;
    }
}
@media (max-width: 575.98px) {
    .floatMenu {
        display: none;
    }
    .floatMenu img {
        max-height: 135px;
    }
}
header {
    padding: 2rem;
}
header .container {
    max-width: 1820px;
}
.container {
    max-width: 1400px;
}
.block-header {
    display: flex;
    flex-wrap: nowrap;
}
.logo {
}
h1 {
    font-size: 10px;
    font-weight: 400;
    color: #2c2c2c;
}
.logo img {
    max-height: 74px;
    max-width: 100%;
}
@media (min-width: 576px) and (max-width: 1199.98px) {
}
@media (max-width: 575.98px) {
    h1 {
        font-size: 8px;
    }
    .logo img {
        max-height: 41px;
    }
}
/*ハンバーガー */
@media (min-width: 1200px) {
    .logo-s {
        display: none;
    }
}
.logo-s {
}
.logo-s img {
    max-height: 74px;
    max-width: 100%;
}
@media (max-width: 1199.98px) {
    header {
        position: fixed;
        width: 100%;
        z-index: 2;
        background: #f4f2ea;
    }
    .wrap {
        padding-top: 8.5rem;
    }
    #menu .logo-s {
        margin-left: 0.75rem;
    }
    .logo {
        display: none;
    }
}
#menu {
	width: 100%;
	background: rgba(255,255,255,0.95);
	position: fixed;
	left: 0;
    right: 0;
	bottom: 0;
	z-index: 9999;
	display: none;
	height: 100%;
    overflow-y: scroll; 
    padding: 2rem;
}
#menu .menulist {
    list-style: none;
    padding-left: 0;
    margin: auto;
    padding: 2rem 0 3rem;
}
#menu .menulist li {
    margin: 0 2rem;
    padding: 0.5rem 0;
}
#menu .menulist li a {
    font-size:16px;
    font-weight: 700;
    color: #000;
}
#menu .menulist li a:hover,
#menu .menulist li a:active {
    color: #20734b;
}
#sp-icon {
    width: 70px;
	height: 70px;
	position: fixed;
	right: 0rem;
	top: 1.2rem;
	z-index: 99999;
}
#sp-icon:hover {
	cursor: pointer;
	opacity: 0.7;
}
#sp-icon span,
#sp-icon span::before,
#sp-icon span::after {
	display: inline-block;
	width: 39px;
	height: 4px;
	background: #000;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.3s;
}
#sp-icon span {
	left: 50%;
	top: 50%;
	transform: translate( -50%, -50% );
}
#sp-icon span::before {
	content: "";
	transform: translateY( -10px ) rotate( 0deg );
}
#sp-icon span::after {
	content: "";
	transform: translateY( 10px ) rotate( 0deg );
}
.sp-open span {
	background: transparent !important;
}
.sp-open span::before {
	transform: rotate( 45deg ) !important;
}
.sp-open span::after {
	transform: rotate( -45deg ) !important;
}
@media (min-width: 1200px) {
    #sp-icon {
        display: none;
    }
}
.submenu {
    font-weight: 700;
	font-size: 16px;
	display: block;
}
.submenu {
	cursor: pointer;
	position: relative;
}
.submenu:hover {
	color: #20734b;
}
.submenu::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f067" !important;
	display: inline-block;
	padding-left: 1rem;
    float: right;
}
.submenu.active::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f068" !important;
}
.nest {
    margin: 1rem -2rem;
    padding: 1rem 0;
    background: rgba(32,115,75,0.1);
}
.nest ul {
	padding-left: 0;
}
.nest ul li {
	display: table;
}
.nest ul li::before {
    display: table-cell;
    vertical-align: middle;
	content: "›" !important;
    font-size: 16px;
    width: 1rem;
}
.nest ul li a {
    font-size: 14px !important;
    font-weight: 400;
}
@media (max-width: 991.98px) {
    .block-header {
        display: none;
    }
}
.g_nav {
    list-style: none;
    /*position: relative;*/
    text-align: center;
    margin: 1.5rem auto 0;
    float: right;
}
.g_nav > ul {
    margin:0 auto;
}
.g_nav > ul > li {
    color:#000;
    display: inline-block;
    font-family: 'Noto Sans JP', serif;
    font-weight: 500;
    font-size: 18px;
    cursor: pointer;
    padding: 0 0.8rem 5px;
    position: relative;
}
.g_nav > ul > li span::after {
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f107" !important;
	display: inline-block;
	padding-left: 0.5rem;
}
.g_nav > ul > li a {
    color:#000;
    font-size: 18px;
    text-decoration: none;
}
.g_nav > ul > li:hover,
.g_nav > ul > li a:hover,
.g_nav > ul > li:active {
    color: #20734b;
    text-decoration: none;
    padding-bottom: 2px;
}
.g_nav > ul > li:not(:last-child) {
    margin-right: 1.2rem;
}
.mdd_wrap {
    position:absolute;
    top:100%;
    left:-50px;
    width:200px;
    z-index: 9999;
}
.mdd_wrap .mdd_inner {
    display:none;
    margin: auto;
    box-shadow: 0px 3px 6px 3px rgba(83, 29, 15, 0.2);
    padding: 0.7rem 0;
    background: #20734b;
    border-radius: 4px;
}
.mdd_wrap .mdd_inner ul {
    padding-left: 0;
    list-style: none;
    display: inline-block;
    margin: 0 0.7rem;
    vertical-align: top;
}
.mdd_wrap .mdd_inner li {
    border-bottom: 1px solid #fff;
}
.mdd_wrap .mdd_inner li:last-child {
    border-bottom: none;
}
.mdd_wrap .mdd_inner li a {
    display: block;
    margin: 0.7rem auto;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
}
.mdd_wrap .mdd_inner li a:hover {
    color: #ecac2f;
    text-decoration: none;
    border-bottom: none;
    padding-bottom: 0;
}
.list-btn {
    list-style: none;
    padding-left: 0;
    float: right;
    display: table;
    margin-bottom: 0;
}
.list-btn li {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
.list-btn li:first-child {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 30px;
    font-weight: 500;
    color: #20734b;
    padding-right: 2rem;
    letter-spacing: 2px
}
.list-btn li:first-child::before {
    content: url("images/ico-tel.png");
    margin: 0.5rem 1rem 0 0;
}
.list-btn li img {
    max-height: 76px;
    max-width: 100%;
}
#menu .list-btn {
    float: none;
    display: block;
    text-align: center;
}
#menu .list-btn li {
    display: block;
}
@media (min-width: 1500px) and (max-width: 1699.98px) {
    .g_nav > ul > li {
        font-size: 16px;
        padding: 0 0.3rem 5px;
    }
    .g_nav > ul > li a {
        font-size: 16px;
    }
    .mdd_wrap .mdd_inner li a {
        font-size: 16px;
    }
}
@media (min-width: 1400px) and (max-width: 1499.98px) {
    .g_nav > ul > li {
        font-size: 14px;
        padding: 0 0.3rem 5px;
    }
    .g_nav > ul > li a {
        font-size: 14px;
    }
    .mdd_wrap .mdd_inner li a {
        font-size: 14px;
    }
    .list-btn li:first-child {
        font-size: 24px;
    }
    .list-btn li:first-child::before {
        content:'';
        background: url("images/ico-tel.png") no-repeat;
        background-size: contain;
        width: 24px;
        height: 24px;
        display: inline-block;
        margin: 0rem 0.5rem 0 0;
    }
    .list-btn li img {
        max-height: 66px;
    }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .g_nav > ul > li {
        font-size: 12px;
        padding: 0 0.3rem 5px;
    }
    .g_nav > ul > li a {
        font-size: 12px;
    }
    .mdd_wrap .mdd_inner li a {
        font-size: 12px;
    }
    .list-btn li:first-child {
        font-size: 21px;
    }
    .list-btn li:first-child::before {
        content:'';
        background: url("images/ico-tel.png") no-repeat;
        background-size: contain;
        width: 21px;
        height: 21px;
        display: inline-block;
        margin: 0rem 0.5rem 0 0;
    }
    .list-btn li img {
        max-height: 46px;
    }
}
@media (max-width: 1199.98px) {
    .g_nav,
    .list-btn {
        display: none;
    }
}
.fixed_header {
    display:none;
    width:100vw;
    height: auto;
    position:fixed;
    left:0;
    top:0;
    z-index:999;
    background:rgba(255,255,255,1);
    box-shadow: 0px 6px 6px 0px rgba(83, 29, 15, 0.2);
}
@media (max-width: 991.98px) {
    .fixed_header {
        display:none !important;
    }
}
.fixed_header .logo img {
    max-height: 40px;
}
.fixed_header .g_nav {
    padding: 0;
}
.fixed_header .g_nav > ul > li {
    font-size: 15px;
}
.fixed_header .g_nav > ul > li a {
    font-size: 15px;
}
.block-mv {
    text-align: center;
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
}
@media (min-width: 992px) and (max-width: 1199.98px) {
}
@media (min-width: 768px) and (max-width: 991.98px) {
}
@media (min-width: 768px) and (max-width: 991.98px) {
}
@media (min-width: 576px) and (max-width: 767.98px) {
}
@media (max-width: 575.98px) {
}
.br-md {
    display: none;
}
.br-sm {
    display: none;
}
.br-xs {
    display: none;
}
.br-lg-none {
    display: block;
}
.br-md-none {
    display: block;
}
.br-sm-none {
    display: block;
}
.br-xs-none {
    display: block;
}
@media (max-width: 1199.98px) {
    .br-lg-none {
        display: none;
    }
}
@media (max-width: 991.98px) {
    .br-md {
        display: block;
    }
    .br-md-none {
        display: none;
    }
}
@media (max-width: 767.98px) {
    .br-sm {
        display: block;
    }
    .br-sm-none {
        display: none;
    }
}
@media (max-width: 575.98px) {
    .br-xs {
        display: block;
    }
    .br-xs-none {
        display: none;
    }
}
.block-1st {
    max-width: 1240px;
    margin: 6rem auto;
}
.img-1st {
    position: relative;
    margin-bottom: 2rem;
}
.inner-1st {
    position: relative;
    margin: -8.5rem auto 0;
}
.inner-1st h3 {
    font-size: 60px;
    font-weight: 700;
    color: #20734b;
    line-height: 1.6;
    text-align: center;
    letter-spacing: 4px;
    margin-bottom: 2rem;
}
.inner-1st h3 small {
    display: block;
    font-size: 30px;
}
.inner-1st p {
    font-size: 18px;
    font-weight: 700;
    line-height: 2;
    margin-bottom: 5rem;
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .inner-1st h3 {
        font-size: 48px;
    }
    .inner-1st h3 small {
        font-size: 24px;
    }
    .inner-1st p {
        font-size: 16px;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .block-1st {
        margin: 3rem auto;
    }
    .block-1st .px-4 {
        padding: 0 1rem !important;
    }
    .inner-1st h3 {
        font-size: 48px;
    }
    .inner-1st h3 small {
        font-size: 24px;
    }
    .inner-1st p {
        font-size: 16px;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .block-1st {
        margin: 3rem auto;
    }
    .block-1st .px-4 {
        padding: 0 0.5rem !important;
    }
    .inner-1st {
        margin: -3.5rem auto 0;
    }
    .inner-1st h3 {
        font-size: 24px;
    }
    .inner-1st h3 small {
        font-size: 18px;
    }
    .inner-1st p {
        font-size: 14px;
    }
}
@media (max-width: 575.98px) {
    .block-1st {
        margin: 3rem auto 0;
    }
    .block-1st .px-4 {
        padding: 0 0.5rem !important;
    }
    .inner-1st {
        margin: -3.5rem auto 0;
    }
    .inner-1st h3 {
        font-size: 24px;
    }
    .inner-1st h3 small {
        font-size: 18px;
    }
    .inner-1st p {
        font-size: 14px;
    }
}
.block-2nd {
    margin: 5rem auto 0;
}
.block-2nd h2 {
    font-size: 60px;
    font-weight: 700;
    color: #af8c3f;
    text-align: center;
    letter-spacing: 5px;
    margin-bottom: 5rem;
}
.block-2nd h2 span {
    color: #000;
}
.box-2nd {
    width: 100%;
    display: table;
    margin-bottom: 0;
}
.box-2nd01 dt,
.box-2nd03 dt,
.box-2nd05 dt,
.box-2nd07 dt {
    position: relative;
    width: 58.333333%;
    display: table-cell;
}
.box-2nd01 dd,
.box-2nd03 dd,
.box-2nd05 dd,
.box-2nd07 dd {
    width: 41.666667%;
    display: table-cell;
}
.box-2nd02 dt,
.box-2nd04 dt,
.box-2nd06 dt {
    width: 41.666667%;
    display: table-cell;
}
.box-2nd02 dd,
.box-2nd04 dd,
.box-2nd06 dd {
    position: relative;
    width: 58.333333%;
    display: table-cell;
}
.box-2nd dt img,
.box-2nd dd img {
    width: 100%;
    object-fit: cover;
    min-height: 0;
}
.inner-2nd {
    max-width: 800px;
}
.inner-2nd01,
.inner-2nd03,
.inner-2nd05,
.inner-2nd07 {
    position: absolute;
    top: 6rem;
    right: 3rem;
}
.inner-2nd02 {
    position: absolute;
    top: 6rem;
    left: 3rem;
}
.inner-2nd04,
.inner-2nd06 {
    position: absolute;
    top: 7rem;
    left: 3rem;
}
.inner-2nd h3 {
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    position: relative;
    line-height: 1.8;
    letter-spacing: 5px;
    margin-bottom: 2.5rem;
}
.inner-2nd h3 small {
    font-size: 24px;
}
.inner-2nd h3 span {
    font-size: 24px;
    border: 2px solid #fff;
    padding: 0.5rem 1rem;
    margin-right: 1rem;
}
.inner-2nd01 h3::after {
    position: absolute;
    content: url("images/ico-2nd01.png");
    right: 2.5rem;
    top: -2.5rem;
}
.inner-2nd02 h3::after {
    position: absolute;
    content: url("images/ico-2nd02.png");
    right: 2.5rem;
    top: -2.5rem;
}
.inner-2nd03 h3::after {
    position: absolute;
    content: url("images/ico-2nd03.png");
    right: 0rem;
    top: -4.5rem;
}
.inner-2nd04 h3::after {
    position: absolute;
    content: url("images/ico-2nd04.png");
    right: 2.5rem;
    top: -4.5rem;
}
.inner-2nd05 h3::after {
    position: absolute;
    content: url("images/ico-2nd05.png");
    right: 2.5rem;
    top: -2.5rem;
}
.inner-2nd06 h3::after {
    position: absolute;
    content: url("images/ico-2nd06.png");
    right: 2.5rem;
    top: -5.5rem;
}
.inner-2nd07 h3::after {
    position: absolute;
    content: url("images/ico-2nd07.png");
    right: 2.5rem;
    top: -3.5rem;
}
.inner-2nd h4 {
    font-size: 24px;
    font-weight: 700;
    color: #ffcd68;
    border-bottom: 2px solid #ffcd68;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    letter-spacing: 3px;
}
.inner-2nd p {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 2rem;
    line-height: 2.2;
}
.box-2nd01 dt img,
.box-2nd01 dd img {
    height: 1663px;
}
.box-2nd02 dt img,
.box-2nd02 dd img {
    height: 989px;
}
.box-2nd03 dt img,
.box-2nd03 dd img {
    height: 1240px;
}
.box-2nd04 dt img,
.box-2nd04 dd img {
    height: 989px;
}
.box-2nd05 dt img,
.box-2nd05 dd img {
    height: 1000px;
}
.box-2nd06 dt img,
.box-2nd06 dd img {
    height: 876px;
}
.box-2nd07 dt img,
.box-2nd07 dd img {
    height: 986px;
}
.btn-read {
    display: none;
}
.modal-content p {
    color: #000;
}
@media (min-width: 1400px) and (max-width: 1499.98px) {
    .inner-2nd01,
    .inner-2nd03,
    .inner-2nd05,
    .inner-2nd07 {
        padding-left: 3rem;
    }
    .inner-2nd02,
    .inner-2nd04,
    .inner-2nd06 {
        padding-right: 3rem;
    }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .inner-2nd01,
    .inner-2nd03,
    .inner-2nd05,
    .inner-2nd07 {
        padding-left: 3rem;
    }
    .inner-2nd02,
    .inner-2nd04,
    .inner-2nd06 {
        padding-right: 3rem;
    }
    .inner-2nd h3 {
        font-size: 28px;
        line-height: 1.8;
        letter-spacing: 5px;
        margin-bottom: 2.5rem;
    }
    .inner-2nd h3 small {
        font-size: 18px;
    }
    .inner-2nd h3 span {
        font-size: 18px;
    }
    .inner-2nd h4 {
        font-size: 18px;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        letter-spacing: 3px;
    }
    .inner-2nd p {
        font-size: 16px;
        margin-bottom: 2rem;
        line-height: 2.2;
    }
    .inner-2nd01 h3::after {
        content: '';
        background: url("images/ico-2nd01.png") no-repeat;
        background-size: contain;
        width: 157px;
        height: 172px;
        right: 2.5rem;
        top: -2.5rem;
    }
    .inner-2nd02 h3::after {
        content: '';
        background: url("images/ico-2nd02.png") no-repeat;
        background-size: contain;
        width: 194px;
        height: 184px;
        right: 2.5rem;
        top: -2.5rem;
    }
    .inner-2nd03 h3::after {
        content: '';
        background: url("images/ico-2nd03.png") no-repeat;
        background-size: contain;
        width: 217px;
        height: 187px;
        right: 0rem;
        top: -4.5rem;
    }
    .inner-2nd04 h3::after {
        content: '';
        background: url("images/ico-2nd04.png") no-repeat;
        background-size: contain;
        width: 193px;
        height: 190px;
        right: 2.5rem;
        top: -4.5rem;
    }
    .inner-2nd05 h3::after {
        content: '';
        background: url("images/ico-2nd05.png") no-repeat;
        background-size: contain;
        width: 213px;
        height: 188px;
        right: 2.5rem;
        top: -2.5rem;
    }
    .inner-2nd06 h3::after {
        content: '';
        background: url("images/ico-2nd06.png") no-repeat;
        background-size: contain;
        width: 196px;
        height: 204px;
        right: 2.5rem;
        top: -5.5rem;
    }
    .inner-2nd07 h3::after {
        content: '';
        background: url("images/ico-2nd07.png") no-repeat;
        background-size: contain;
        width: 184px;
        height: 175px;
        right: 2.5rem;
        top: -3.5rem;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .block-2nd h2 {
        font-size: 48px;
    }
    .inner-2nd01,
    .inner-2nd03,
    .inner-2nd05,
    .inner-2nd07 {
        right: 2rem;
        padding-left: 2rem;
    }
    .inner-2nd07 {
        top: 3rem;
    }
    .inner-2nd02,
    .inner-2nd04,
    .inner-2nd06 {
        top: 4rem;
        left: 2rem;
        padding-right: 2rem;
    }
    .inner-2nd h3 {
        font-size: 28px;
        line-height: 1.8;
        letter-spacing: 5px;
        margin-bottom: 2.5rem;
    }
    .inner-2nd h3 small {
        font-size: 18px;
    }
    .inner-2nd h3 span {
        font-size: 18px;
    }
    .inner-2nd h4 {
        font-size: 18px;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        letter-spacing: 3px;
    }
    .inner-2nd p {
        font-size: 16px;
        margin-bottom: 2rem;
        line-height: 2.2;
    }
    .inner-2nd01 h3::after {
        content: '';
        background: url("images/ico-2nd01.png") no-repeat;
        background-size: contain;
        width: 147px;
        height: 162px;
        right: 2.5rem;
        top: -2.5rem;
    }
    .inner-2nd02 h3::after {
        content: '';
        background: url("images/ico-2nd02.png") no-repeat;
        background-size: contain;
        width: 184px;
        height: 174px;
        right: 2.5rem;
        top: -2.5rem;
    }
    .inner-2nd03 h3::after {
        content: '';
        background: url("images/ico-2nd03.png") no-repeat;
        background-size: contain;
        width: 207px;
        height: 177px;
        right: 0rem;
        top: -4.5rem;
    }
    .inner-2nd04 h3::after {
        content: '';
        background: url("images/ico-2nd04.png") no-repeat;
        background-size: contain;
        width: 183px;
        height: 180px;
        right: 2.5rem;
        top: -4.5rem;
    }
    .inner-2nd05 h3::after {
        content: '';
        background: url("images/ico-2nd05.png") no-repeat;
        background-size: contain;
        width: 203px;
        height: 178px;
        right: 2.5rem;
        top: -2.5rem;
    }
    .inner-2nd06 h3::after {
        content: '';
        background: url("images/ico-2nd06.png") no-repeat;
        background-size: contain;
        width: 186px;
        height: 194px;
        right: 2.5rem;
        top: -5.5rem;
    }
    .inner-2nd07 h3::after {
        content: '';
        background: url("images/ico-2nd07.png") no-repeat;
        background-size: contain;
        width: 174px;
        height: 165px;
        right: 2.5rem;
        top: -3.5rem;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .block-2nd h2 {
        font-size: 36px;
    }
    .inner-2nd01,
    .inner-2nd03,
    .inner-2nd05,
    .inner-2nd07 {
        top: 6rem;
        right: 1rem;
        padding-left: 1rem;
    }
    .inner-2nd02,
    .inner-2nd04,
    .inner-2nd06 {
        top: 6rem;
        left: 1rem;
        padding-right: 1rem;
    }
    .inner-2nd h3 {
        font-size: 24px;
        line-height: 1.8;
        letter-spacing: 3px;
        margin-bottom: 2rem;
    }
    .inner-2nd h3 small {
        font-size: 16px;
    }
    .inner-2nd h3 span {
        font-size: 16px;
    }
    .inner-2nd h4 {
        font-size: 16px;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        letter-spacing: 3px;
    }
    .inner-2nd p {
        font-size: 14px;
        margin-bottom: 2rem;
        line-height: 2;
    }
    .inner-2nd01 h3::after {
        content: '';
        background: url("images/ico-2nd01.png") no-repeat;
        background-size: contain;
        width: 137px;
        height: 152px;
        right: 2.5rem;
        top: -2.5rem;
    }
    .inner-2nd02 h3::after {
        content: '';
        background: url("images/ico-2nd02.png") no-repeat;
        background-size: contain;
        width: 174px;
        height: 164px;
        right: 2.5rem;
        top: -2.5rem;
    }
    .inner-2nd03 h3::after {
        content: '';
        background: url("images/ico-2nd03.png") no-repeat;
        background-size: contain;
        width: 197px;
        height: 167px;
        right: 0rem;
        top: -4.5rem;
    }
    .inner-2nd04 h3::after {
        content: '';
        background: url("images/ico-2nd04.png") no-repeat;
        background-size: contain;
        width: 173px;
        height: 170px;
        right: 2.5rem;
        top: -4.5rem;
    }
    .inner-2nd05 h3::after {
        content: '';
        background: url("images/ico-2nd05.png") no-repeat;
        background-size: contain;
        width: 193px;
        height: 168px;
        right: 2.5rem;
        top: -2.5rem;
    }
    .inner-2nd06 h3::after {
        content: '';
        background: url("images/ico-2nd06.png") no-repeat;
        background-size: contain;
        width: 176px;
        height: 184px;
        right: 2.5rem;
        top: -5.5rem;
    }
    .inner-2nd07 h3::after {
        content: '';
        background: url("images/ico-2nd07.png") no-repeat;
        background-size: contain;
        width: 164px;
        height: 155px;
        right: 2.5rem;
        top: -3.5rem;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .block-2nd h2 {
        font-size: 36px;
        line-height: 1.6;
    }
    .box-2nd01,
    .box-2nd03,
    .box-2nd05,
    .box-2nd07 {
        display: flex;
        flex-direction: column-reverse;
    }
    .box-2nd01 dt,
    .box-2nd03 dt,
    .box-2nd05 dt,
    .box-2nd07 dt {
        width: 100%;
    }
    .box-2nd01 dd,
    .box-2nd03 dd,
    .box-2nd05 dd,
    .box-2nd07 dd {
        width: 100%;
        margin-bottom: 0;
    }
    .box-2nd02,
    .box-2nd04,
    .box-2nd06 {
        display: block;
    }
    .box-2nd02 dt,
    .box-2nd04 dt,
    .box-2nd06 dt {
        width: 100%;
        display: block;
    }
    .box-2nd02 dd,
    .box-2nd04 dd,
    .box-2nd06 dd {
        width: 100%;
        display: block;
        margin-bottom: 0;
    }
    .inner-2nd01,
    .inner-2nd03,
    .inner-2nd05,
    .inner-2nd07 {
        position: static;
        padding: 2rem 1.5rem;
    }
    .inner-2nd02,
    .inner-2nd04,
    .inner-2nd06 {
        position: static;
        padding: 2rem 1.5rem;
    }
    .inner-2nd h3 {
        font-size: 24px;
        line-height: 1.8;
        letter-spacing: 3px;
        margin-bottom: 2rem;
    }
    .inner-2nd h3 small {
        font-size: 16px;
    }
    .inner-2nd h3 span {
        font-size: 16px;
    }
    .inner-2nd h4 {
        font-size: 16px;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        letter-spacing: 3px;
    }
    .inner-2nd p {
        font-size: 14px;
        margin-bottom: 2rem;
        line-height: 2;
    }
    .inner-2nd01 h3::after,
    .inner-2nd02 h3::after,
    .inner-2nd03 h3::after,
    .inner-2nd04 h3::after,
    .inner-2nd05 h3::after,
    .inner-2nd06 h3::after,
    .inner-2nd07 h3::after {
        display: none;
    }
    .inner-2nd01 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd01.png") no-repeat;
        background-size: contain;
        width: 137px;
        height: 152px;
    }
    .inner-2nd02 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd02.png") no-repeat;
        background-size: contain;
        width: 174px;
        height: 164px;
    }
    .inner-2nd03 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd03.png") no-repeat;
        background-size: contain;
        width: 197px;
        height: 167px;
    }
    .inner-2nd04 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd04.png") no-repeat;
        background-size: contain;
        width: 173px;
        height: 170px;
    }
    .inner-2nd05 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd05.png") no-repeat;
        background-size: contain;
        width: 193px;
        height: 168px;
    }
    .inner-2nd06 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd06.png") no-repeat;
        background-size: contain;
        width: 176px;
        height: 184px;
    }
    .inner-2nd07 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd07.png") no-repeat;
        background-size: contain;
        width: 164px;
        height: 155px;
    }
    .box-2nd01 dt {
        background: url("images/bg-2nd01.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd02 dd {
        background: url("images/bg-2nd02.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd03 dt {
        background: url("images/bg-2nd03.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd04 dd {
        background: url("images/bg-2nd04.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd05 dt {
        background: url("images/bg-2nd05.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd06 dd {
        background: url("images/bg-2nd06.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd07 dt {
        background: url("images/bg-2nd07.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd01 dd img,
    .box-2nd03 dd img,
    .box-2nd05 dd img,
    .box-2nd07 dd img {
        height: auto;
    }
    .box-2nd02 dt img,
    .box-2nd04 dt img,
    .box-2nd06 dt img {
        height: auto;
    }
    .box-2nd01 dt img,
    .box-2nd02 dd img,
    .box-2nd03 dt img,
    .box-2nd04 dd img,
    .box-2nd05 dt img,
    .box-2nd06 dd img,
    .box-2nd07 dt img {
        display: none;
    }
}
@media (max-width: 575.98px) {
    .block-2nd {
        margin: 0 auto 0;
    }
    .block-2nd h2 {
        font-size: 28px;
        line-height: 1.6;
    }
    .box-2nd01,
    .box-2nd03,
    .box-2nd05,
    .box-2nd07 {
        display: flex;
        flex-direction: column-reverse;
    }
    .box-2nd01 dt,
    .box-2nd03 dt,
    .box-2nd05 dt,
    .box-2nd07 dt {
        width: 100%;
    }
    .box-2nd01 dd,
    .box-2nd03 dd,
    .box-2nd05 dd,
    .box-2nd07 dd {
        width: 100%;
        margin-bottom: 0;
    }
    .box-2nd02,
    .box-2nd04,
    .box-2nd06 {
        display: block;
    }
    .box-2nd02 dt,
    .box-2nd04 dt,
    .box-2nd06 dt {
        width: 100%;
        display: block;
    }
    .box-2nd02 dd,
    .box-2nd04 dd,
    .box-2nd06 dd {
        width: 100%;
        display: block;
        margin-bottom: 0;
    }
    .inner-2nd01,
    .inner-2nd03,
    .inner-2nd05,
    .inner-2nd07 {
        position: static;
        padding: 2rem 1.5rem;
    }
    .inner-2nd02,
    .inner-2nd04,
    .inner-2nd06 {
        position: static;
        padding: 2rem 1.5rem;
    }
    .inner-2nd h3 {
        font-size: 24px;
        line-height: 1.8;
        letter-spacing: 3px;
        margin-bottom: 2rem;
    }
    .inner-2nd h3 small {
        font-size: 16px;
    }
    .inner-2nd h3 span {
        font-size: 16px;
    }
    .inner-2nd h4 {
        font-size: 16px;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        letter-spacing: 3px;
    }
    .inner-2nd p {
        font-size: 14px;
        margin-bottom: 2rem;
        line-height: 2;
    }
    .inner-2nd01 h3::after,
    .inner-2nd02 h3::after,
    .inner-2nd03 h3::after,
    .inner-2nd04 h3::after,
    .inner-2nd05 h3::after,
    .inner-2nd06 h3::after,
    .inner-2nd07 h3::after {
        display: none;
    }
    .inner-2nd01 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd01.png") no-repeat;
        background-size: contain;
        width: 87px;
        height: 102px;
    }
    .inner-2nd02 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd02.png") no-repeat;
        background-size: contain;
        width: 124px;
        height: 114px;
    }
    .inner-2nd03 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd03.png") no-repeat;
        background-size: contain;
        width: 147px;
        height: 117px;
    }
    .inner-2nd04 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd04.png") no-repeat;
        background-size: contain;
        width: 123px;
        height: 120px;
    }
    .inner-2nd05 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd05.png") no-repeat;
        background-size: contain;
        width: 143px;
        height: 128px;
    }
    .inner-2nd06 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd06.png") no-repeat;
        background-size: contain;
        width: 126px;
        height: 134px;
    }
    .inner-2nd07 h3::before {
        position: static;
        display: block;
        margin: 0 auto 2rem;
        content: '';
        background: url("images/ico-2nd07.png") no-repeat;
        background-size: contain;
        width: 114px;
        height: 105px;
    }
    .box-2nd01 dt {
        background: url("images/bg-2nd01.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd02 dd {
        background: url("images/bg-2nd02.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd03 dt {
        background: url("images/bg-2nd03.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd04 dd {
        background: url("images/bg-2nd04.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd05 dt {
        background: url("images/bg-2nd05.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd06 dd {
        background: url("images/bg-2nd06.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd07 dt {
        background: url("images/bg-2nd07.jpg") no-repeat center;
        background-size: cover;
    }
    .box-2nd01 dd img,
    .box-2nd03 dd img,
    .box-2nd05 dd img,
    .box-2nd07 dd img {
        height: auto;
    }
    .box-2nd02 dt img,
    .box-2nd04 dt img,
    .box-2nd06 dt img {
        height: auto;
    }
    .box-2nd01 dt img,
    .box-2nd02 dd img,
    .box-2nd03 dt img,
    .box-2nd04 dd img,
    .box-2nd05 dt img,
    .box-2nd06 dd img,
    .box-2nd07 dt img {
        display: none;
    }
    .btn-read {
        display: table;
        border: 1px solid #fff;
        background: transparent;
        padding: 0.5rem 3rem;
        font-size: 18px;
        color: #fff;
        text-align: center;
        margin: 2rem auto;
    }
    .none-xs {
        display: none;
    }
}
.title-3rd {
    background: url("images/bg-title03.jpg") no-repeat center;
    background-size: cover;
    height: 496px;
}
.title-3rd02 {
    background: url("images/bg-title03.jpg") no-repeat top center;
    background-size: cover;
    height: 330px;
}
.inner-t03 {
    max-width: 1920px;
    margin: auto;
    display: table;
    width: 100%;
}
.inner-t03 dt {
    display: table-cell;
    width: 13.541667%;
}
.inner-t03 dd {
    display: table-cell;
    width: 86.458333%;
    padding: 5rem 0 0;
}
.inner-t03 dd h3 {
    font-size: 60px;
    color: #fff;
    letter-spacing: 3px;
}
.inner-t03 dd h3::after {
    content: '';
    background: url("images/ico-title03.png") no-repeat;
    background-size: contain;
    width: 100%;
    height: 4px;
    display: block;
    margin: 3rem auto;
}
.inner-t03 dd p {
    font-size: 18px;
    color: #fff;
    line-height: 2;
}
.block-3rd01 {
    background: url("images/bg-3rd01.jpg") no-repeat top center;
    background-size: cover;
    padding-bottom: 16rem;
    position: relative;
}
.table-3rd01 {
    max-width: 1920px;
    margin: auto;
}
.table-3rd01 td:first-child,
.table-3rd01 th {
    vertical-align: top;
    padding: 6rem 0 0;
}
.table-3rd01 td:first-child {
    width: 13.541667%;
}
.table-3rd01 td:last-child {
    width: 25.416667%;
}
.table-3rd01 td h3 {
    font-size: 36px;
    color: #20734b;
    border-bottom: 2px solid #20734b;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
}
.table-3rd01 th h3 {
    font-size: 36px;
    color: #20734b;
    border-bottom: 2px solid #20734b;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
    margin-right: 30rem;
}
.table-3rd01 th p {
    font-size: 18px;
    line-height: 2.2;
    margin-right: 5rem;
}
.block-3rd02 {
    position: relative;
    max-width: 1920px;
    margin: -16rem auto 0;
}
.box-3rd02 {
    max-width: 1426px;
    float: right;
    padding: 8rem 0 5rem 12rem;
    background: url("images/bg-3rd02.png") no-repeat top center;
    background-size: cover;
}
.box-3rd02 h3 {
    font-size: 36px;
    color: #20734b;
    border-bottom: 2px solid #20734b;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
}
.box-3rd02 p {
    font-size: 18px;
    line-height: 2.5;
    margin: 0 10rem 4rem 0;
}
.box-3rd02 h4 {
    font-size: 36px;
    color: #af8c3f;
    margin-bottom: 2.5rem;
}
.box-3rd02 h5 {
    font-size: 24px;
    text-align: right;
    margin-right: 10rem;
}
.img-3rd02 {
    position: absolute;
    top: 10.2rem;
    left: 0;
}
.img-3rd02 img {
    max-height: 733px;
    max-width: 100%;
}
.block-3rd03 {
    padding-bottom: 20rem;
}
.table-3rd02 {
    max-width: 1920px;
    margin: auto;
}
.table-3rd02 td:first-child,
.table-3rd02 th {
    vertical-align: top;
    padding: 6rem 0 0;
}
.table-3rd02 td:first-child,
.table-3rd02 td:last-child {
    width: 13.541667%;
}
.table-3rd02 td h3 {
    font-size: 36px;
    color: #20734b;
    border-bottom: 2px solid #20734b;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
}
.table-3rd02 th h3 {
    font-size: 36px;
    color: #20734b;
    border-bottom: 2px solid #20734b;
    padding-bottom: 2.5rem;
    margin-bottom: 2.5rem;
    margin-right: 20rem;
}
.table-3rd02 th p {
    font-size: 18px;
    line-height: 2.2;
}
.img-3rd03 {
    position: absolute;
    top: 5.5rem;
    left: 0;
}
.img-3rd03 img {
    max-height: 616px;
    max-width: 100%;
}
@media (min-width: 1800px) and (max-width: 1919.98px) {
    .img-3rd02 {
        top: 16.41rem;
    }
    .img-3rd02 img {
        max-height: 633px;
    }
    .img-3rd03 {
        top: 11.7rem;
    }
    .img-3rd03 img {
        max-height: 516px;
    }
}
@media (min-width: 1600px) and (max-width: 1799.98px) {
    .box-3rd02 {
        padding: 8rem 0 5rem 18rem;
    }
    .box-3rd02 p {
        margin: 0 2rem 4rem 0;
    }
    .img-3rd02 {
        top: 22.71rem;
    }
    .img-3rd02 img {
        max-height: 533px;
    }
    .table-3rd02 th h3 {
        margin-right: 10rem;
    }
    .img-3rd03 {
        top: 17.9rem;
    }
    .img-3rd03 img {
        max-height: 416px;
    }
}
@media (min-width: 1400px) and (max-width: 1599.98px) {
    .box-3rd02 {
        padding: 8rem 2rem 5rem;
    }
    .box-3rd02 p {
        margin: 0 0 4rem;
    }
    .table-3rd02 th h3 {
        margin-right: 8rem;
    }
    .table-3rd02 th p {
        margin-right: 2rem;
    }
    .table-3rd02 td:last-child {
        display: none;
    }
    .img-3rd02,
    .img-3rd03 {
        position: static;
        float: left;
        margin: 0 2rem 2rem 0;
    }
    .img-3rd02 img {
        max-height: 433px;
    }
    .img-3rd03 img {
        max-height: 416px;
    }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .title-3rd {
        height: 396px;
    }
    .title-3rd02 {
        height: 296px;
    }
    .box-3rd02 {
        padding: 8rem 2rem 5rem;
    }
    .table-3rd02 th h3,
    .table-3rd02 th p {
        margin-right: 2rem;
    }
    .table-3rd02 td:last-child {
        display: none;
    }
    .img-3rd02,
    .img-3rd03 {
        position: static;
        float: left;
        margin: 0 2rem 2rem 0;
    }
    .img-3rd02 img {
        max-height: 433px;
    }
    .img-3rd03 img {
        max-height: 416px;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .title-3rd {
        height: 396px;
    }
    .title-3rd02 {
        height: 296px;
    }
    .table-3rd01 td:first-child {
        display: none;
    }
    .table-3rd01 td:last-child {
        width: 35.416667%;
    }
    .table-3rd01 th {
        padding: 6rem 1.5rem 3rem;
    }
    .table-3rd01 th h3 {
        margin-right: 10rem;
    }
    .table-3rd01 th p {
        font-size: 18px;
        line-height: 2.2;
        margin-right: 1.5rem;
    }
    .box-3rd02 {
        padding: 8rem 2rem 5rem;
    }
    .box-3rd02 p {
        margin: 0 2rem 4rem 0;
    }
    .table-3rd02 th h3,
    .table-3rd02 th p {
        margin-right: 2rem;
    }
    .table-3rd02 td:last-child {
        display: none;
    }
    .img-3rd02,
    .img-3rd03 {
        position: static;
        float: left;
        margin: 0 2rem 2rem 0;
    }
    .img-3rd02 img {
        max-height: 433px;
    }
    .img-3rd03 img {
        max-height: 416px;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .title-3rd {
        height: 296px;
    }
    .title-3rd02 {
        height: 196px;
    }
    .inner-t03 dd {
        padding: 3rem 0 0;
    }
    .inner-t03 dd h3::after {
        margin: 2rem auto;
    }
    .inner-t03 dd h3 {
        font-size: 48px;
    }
    .inner-t03 dd p {
        font-size: 16px;
    }
    .table-3rd01 td:first-child {
        display: none;
    }
    .table-3rd01 td:last-child {
        width: 35.416667%;
    }
    .table-3rd01 th {
        padding: 6rem 1.5rem 3rem;
    }
    .table-3rd01 th h3 {
        margin-right: 10rem;
    }
    .table-3rd01 th p {
        font-size: 18px;
        line-height: 2.2;
        margin-right: 1.5rem;
    }
    .box-3rd02 {
        padding: 8rem 2rem 5rem;
    }
    .box-3rd02 p {
        margin: 0 2rem 4rem 0;
    }
    .table-3rd02 th h3,
    .table-3rd02 th p {
        margin-right: 2rem;
        margin-left: 2rem;
    }
    .table-3rd02 td:first-child,
    .table-3rd02 td:last-child {
        display: none;
    }
    .img-3rd02,
    .img-3rd03 {
        position: static;
        float: left;
        margin: 0 2rem 2rem 0;
    }
    .img-3rd02 img {
        max-height: 433px;
    }
    .img-3rd03 img {
        max-height: 416px;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .title-3rd {
        height: 296px;
    }
    .title-3rd02 {
        height: 196px;
    }
    .inner-t03 dt {
        width: 3.541667%;
    }
    .inner-t03 dd {
        width: 96.458333%;
        padding: 3rem 0 0;
    }
    .inner-t03 dd h3::after {
        margin: 2rem auto;
    }
    .inner-t03 dd h3 {
        font-size: 42px;
    }
    .inner-t03 dd p {
        font-size: 16px;
    }
    .table-3rd01 td:first-child,
    .table-3rd01 td:last-child {
        display: none;
    }
    .table-3rd01 th {
        padding: 3rem 1.5rem 3rem;
    }
    .table-3rd01 th h3 {
        font-size: 28px;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
        margin-right: 10rem;
    }
    .table-3rd01 th p {
        font-size: 16px;
        line-height: 2;
        margin-right: 0;
    }
    .img-3rd02 {
        display: none;
    }
    .box-3rd02 {
        float: none;
        padding: 3rem 1.5rem 2rem;
    }
    .box-3rd02 h3 {
        font-size: 28px;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
        text-align: right;
    }
    .box-3rd02 p {
        font-size: 16px;
        margin: 0 0 4rem;
    }
    .box-3rd02 h4 {
        font-size: 28px;
        margin-bottom: 2rem;
    }
    .box-3rd02 h5 {
        font-size: 21px;
        text-align: right;
        margin-right: 0rem;
    }
    .box-3rd02 h5 span {
        display: block;
        font-size: 16px;
    }
    .table-3rd02 th {
        padding: 3rem 1.5rem 0;
    }
    .table-3rd02 td:first-child,
    .table-3rd02 td:last-child {
        display: none;
    }
    .table-3rd02 th h3 {
        font-size: 28px;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
        margin-right: 2rem;
    }
    .table-3rd02 th p {
        font-size: 16px;
        line-height: 2;
    }
    .img-3rd03 {
        display: none;
    }
}
@media (max-width: 575.98px) {
    .title-3rd {
        height: 296px;
    }
    .title-3rd02 {
        height: 196px;
    }
    .inner-t03 dt {
        width: 3.541667%;
    }
    .inner-t03 dd {
        width: 96.458333%;
        padding: 3rem 0 0;
    }
    .inner-t03 dd h3::after {
        margin: 2rem auto;
    }
    .inner-t03 dd h3 {
        font-size: 36px;
    }
    .inner-t03 dd p {
        font-size: 14px;
    }
    .table-3rd01 td:first-child,
    .table-3rd01 td:last-child {
        display: none;
    }
    .table-3rd01 th {
        padding: 3rem 1.5rem 3rem;
    }
    .table-3rd01 th h3 {
        font-size: 28px;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
        margin-right: 2rem;
    }
    .table-3rd01 th p {
        font-size: 14px;
        line-height: 2;
        margin-right: 0;
    }
    .img-3rd02 {
        display: none;
    }
    .box-3rd02 {
        float: none;
        padding: 3rem 1.5rem 2rem;
    }
    .box-3rd02 h3 {
        font-size: 28px;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
        text-align: right;
    }
    .box-3rd02 p {
        font-size: 14px;
        margin: 0 0 4rem;
    }
    .box-3rd02 h4 {
        font-size: 28px;
        margin-bottom: 2rem;
    }
    .box-3rd02 h5 {
        font-size: 21px;
        text-align: right;
        margin-right: 0rem;
    }
    .box-3rd02 h5 span {
        display: block;
        font-size: 16px;
    }
    .table-3rd02 th {
        padding: 3rem 1.5rem 0;
    }
    .table-3rd02 td:first-child,
    .table-3rd02 td:last-child {
        display: none;
    }
    .table-3rd02 th h3 {
        font-size: 28px;
        padding-bottom: 2rem;
        margin-bottom: 2rem;
        margin-right: 2rem;
    }
    .table-3rd02 th p {
        font-size: 14px;
        line-height: 2;
    }
    .img-3rd03 {
        display: none;
    }
}
.block-4th {
    padding: 9rem 0;
}
.table-4th {
    max-width: 1920px;
    width: 100%;
    margin: auto;
    position: relative;
}
.table-4th th {
    width: 28.854167%;
}
.table-4th td {
    width: 71.145833%;
    padding: 7rem 0 15rem 9rem;
    background: url("images/bg-4th.png") no-repeat center;
    background-size: cover;
}
.table-4th td h3 {
    font-size: 48px;
    margin-bottom: 3rem;
    position: relative;
}
.table-4th td h3::before {
    content: '';
    background: url("images/ico-4th.png") no-repeat;
    background-size: contain;
    width: 100%;
    height: 4px;
    display: block;
    position: absolute;
    left: -720px;
    top: 1.85rem;
}
.table-4th td p {
    font-size: 18px;
    line-height: 2.5;
    max-width: 940px;
}
.box-4th {
    position: relative;
    max-width: 1300px;
    margin: -10rem auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 3rem;
    text-align: center
}
.box-4th div h3 {
    font-size: 30px;
    color: #20734b;
    text-align: center;
    margin: 3rem auto 2.5rem;
    line-height: 1.5;
    letter-spacing: 3px;
}
.box-4th div p {
    font-size: 18px;
    line-height: 2.2;
    text-align: left;
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .box-4th {
        padding: 0 1.5rem;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .box-4th {
        padding: 0 1.5rem;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .block-4th {
        padding: 0 0 9rem;
    }
    .box-4th {
        padding: 0 1.5rem;
    }
    .table-4th th {
        display: none;
    }
    .table-4th td {
        width: 100%;
        padding-right: 2rem;
    }
    .table-4th td h3 {
        font-size: 36px;
    }
    .table-4th td h3::before {
        left: -685px;
        top: 1.85rem;
    }
    .table-4th td p {
        font-size: 16px;
    }
    .box-4th {
        gap: 1rem;
    }
    .box-4th div h3 {
        font-size: 24px;
        margin: 2.5rem auto 2rem;
    }
    .box-4th div p {
        font-size: 16px;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .block-4th {
        padding: 0 0 5rem;
    }
    .box-4th {
        padding: 0 1.5rem;
    }
    .table-4th th {
        display: none;
    }
    .table-4th td {
        width: 100%;
        padding: 3rem 1.5rem 15rem;
    }
    .table-4th td h3 {
        font-size: 36px;
        text-align: right;
        line-height: 1.5;
    }
    .table-4th td h3::before {
        left: -185px;
        top: 5rem;
    }
    .table-4th td p {
        font-size: 16px;
    }
    .box-4th {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        gap: 2rem;
    }
    .box-4th div h3 {
        font-size: 24px;
        margin: 2.5rem auto 2rem;
    }
    .box-4th div p {
        font-size: 16px;
    }
}
@media (max-width: 575.98px) {
    .block-4th {
        padding: 0 0 5rem;
    }
    .box-4th {
        padding: 0 1.5rem;
    }
    .table-4th th {
        display: none;
    }
    .table-4th td {
        width: 100%;
        padding: 3rem 1.5rem 15rem;
    }
    .table-4th td h3 {
        font-size: 28px;
        text-align: right;
        line-height: 1.5;
    }
    .table-4th td h3::before {
        left: -185px;
        top: 4rem;
    }
    .table-4th td p {
        font-size: 14px;
    }
    .box-4th {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto auto;
        gap: 2rem;
    }
    .box-4th div h3 {
        font-size: 22px;
        margin: 2.5rem auto 2rem;
    }
    .box-4th div p {
        font-size: 14px;
    }
}
.title-5th {
    background: url("images/bg-title05.jpg") no-repeat center;
    background-size: cover;
    height: 330px;
    display: table;
    width: 100%;
    text-align: center;
}
.title-5th h3 {
    display: table-cell;
    vertical-align: middle;
    font-size: 60px;
    line-height: 1.5;
    margin-bottom: 0;
}
.title-5th h3 small {
    font-size: 24px;
    color: #af8c3f;
}
.block-5th {
    padding: 0 0 5rem;
}
.block-5th h2 {
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    line-height: 2;
    margin: 3rem auto;
    letter-spacing: 3px;
}
.box-5th {
    width: 100%;
    display: table;
    margin-bottom: 0px;
}
.box-5th01 dt {
    width: 35.416667%;
    display: table-cell;
}
.box-5th01 dd {
    position: relative;
    width: 64.583333%;
    display: table-cell;
}
.box-5th02 dt {
    position: relative;
    width: 64.583333%;
    display: table-cell;
}
.box-5th02 dd {
    width: 35.416667%;
    display: table-cell;
}
.box-5th dt img,
.box-5th dd img {
    width: 100%;
    object-fit: cover;
    min-height: 0;
}
.box-5th dt img,
.box-5th dd img {
    height: 280px;
}
.inner-5th {
    width: 845px;
}
.inner-5th01 {
    position: absolute;
    top: 4rem;
    left: 8rem;
}
.inner-5th02 {
    position: absolute;
    top: 4rem;
    right: 8rem;
}
.inner-5th h3 {
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 5px;
    margin-bottom: 2rem;
}
.inner-5th p {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0;
    line-height: 2.2;
}
@media (min-width: 1400px) and (max-width: 1600.98px) {
    .inner-5th {
        width: 100%;
        max-width: 845px;
    }
    .inner-5th01 {
        top: 4rem;
        left: 3rem;
    }
    .inner-5th02 {
        top: 4rem;
        right: 3rem;
    }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .inner-5th {
        width: 100%;
        max-width: 720px;
    }
    .inner-5th01 {
        top: 4rem;
        left: 3rem;
    }
    .inner-5th02 {
        top: 4rem;
        right: 3rem;
    }
    .inner-5th h3 {
        font-size: 32px;
    }
    .inner-5th p {
        font-size: 16px;
    }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .inner-5th {
        width: 100%;
        max-width: 640px;
    }
    .inner-5th01 {
        top: 4rem;
        left: 3rem;
    }
    .inner-5th02 {
        top: 4rem;
        right: 3rem;
    }
    .inner-5th h3 {
        font-size: 28px;
    }
    .inner-5th p {
        font-size: 15px;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .block-5th h2 {
        font-size: 18px;
    }
    .title-5th {
        height: 230px;
    }
    .title-5th h3 {
        font-size: 48px;
    }
    .title-5th h3 small {
        font-size: 18px;
    }
    .inner-5th {
        width: 100%;
        max-width: 420px;
    }
    .inner-5th01 {
        top: 3rem;
        left: 2rem;
    }
    .inner-5th02 {
        top: 3rem;
        right: 2rem;
    }
    .inner-5th h3 {
        font-size: 24px;
    }
    .inner-5th p {
        font-size: 14px;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .block-5th {
        padding: 0 0 3rem;
    }
    .block-5th h2 {
        font-size: 18px;
    }
    .title-5th {
        height: 230px;
    }
    .title-5th h3 {
        font-size: 48px;
    }
    .title-5th h3 small {
        font-size: 18px;
    }
    .box-5th01 dt {
        width: 100%;
        display: block;
    }
    .box-5th01 dd {
        width: 100%;
        display: block;
        margin-bottom: 0;
    }
    .box-5th02 {
        display: flex;
        flex-direction: column-reverse;
    }
    .box-5th02 dt {
        width: 100%;
    }
    .box-5th02 dd {
        width: 100%;
        margin-bottom: 0;
    }
    .box-5th dt img,
    .box-5th dd img {
        width: 100%;
        object-fit: cover;
        min-height: 0;
    }
    .box-5th dt img,
    .box-5th dd img {
        height: 280px;
    }
    .inner-5th {
        width: 100%;
        padding: 0 1.5rem;
    }
    .inner-5th01 {
        left: 0;
        right: 0;
        margin: auto;
    }
    .inner-5th02 {
        left: 0;
        right: 0;
        margin: auto;
    }
    .inner-5th h3 {
        font-size: 28px;
    }
    .inner-5th p {
        font-size: 16px;
        line-height: 2;
    }
}
@media (max-width: 575.98px) {
    .block-5th {
        padding: 0 0 3rem;
    }
    .block-5th h2 {
        font-size: 18px;
    }
    .title-5th {
        height: 180px;
    }
    .title-5th h3 {
        font-size: 36px;
    }
    .title-5th h3 small {
        font-size: 18px;
    }
    .box-5th01 dt {
        width: 100%;
        display: block;
    }
    .box-5th01 dd {
        width: 100%;
        display: block;
        margin-bottom: 0;
    }
    .box-5th02 {
        display: flex;
        flex-direction: column-reverse;
    }
    .box-5th02 dt {
        width: 100%;
    }
    .box-5th02 dd {
        width: 100%;
        margin-bottom: 0;
    }
    .box-5th dt img,
    .box-5th dd img {
        width: 100%;
        object-fit: cover;
        min-height: 0;
    }
    .box-5th dt img,
    .box-5th dd img {
        height: 280px;
    }
    .inner-5th {
        width: 100%;
        padding: 0 1.5rem;
    }
    .inner-5th01 {
        left: 0;
        right: 0;
        margin: auto;
    }
    .inner-5th02 {
        left: 0;
        right: 0;
        margin: auto;
    }
    .inner-5th h3 {
        font-size: 28px;
    }
    .inner-5th p {
        font-size: 14px;
        line-height: 2;
    }
}
.block-6th {
    padding: 3rem 1.5rem;
}
.box-6th {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    max-width: 1400px;
    margin: auto;
}
.box-6th div {
    background: #fff;
    padding: 0 0 3.4rem;
    box-shadow: 5px 5px 15px 5px rgba(0, 0, 0, 0.05);
}
.box-6th div::before {
    content: '';
    background: url("images/ico-6th.png") no-repeat center;
    background-size: contain;
    width: 100%;
    height: 12px;
    display: block;
}
.box-6th div h3 {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 2px;
    text-align: center;
    margin: 4rem auto 2rem;
}
.box-6th div h3 span {
    font-size: 24px;
    font-weight: 500;
    color: #af8c3f;
    display: block;
    margin-bottom: 1rem;
}
.box-6th div dl {
    border-top: 1px solid #000;
    padding-top: 2.5rem;
    margin: 2rem 3.5rem 4rem;
}
.box-6th div dl dt {
    font-size: 14px;
    font-weight: 500;
    color: #959595;
    margin-bottom: 1rem;
    padding: 0 1rem;
}
.box-6th div dl dd {
    border-bottom: 1px solid #000;
    padding: 0 1rem 2.5rem;
    margin-bottom: 2rem;
}
.box-6th div dl dd a {
    font-size: 18px;
    font-weight: 500;
    color: #000;
}
.box-6th div dl dd a:hover {
    color: #af8c3f;
}
.btn-more {
    text-align: center;
    padding: 0 1.5rem;
}
.btn-more img {
    max-width: 100%;
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .box-6th {
        gap: 3rem;
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .block-6th {
        padding: 3rem 0 0;
    }
    .box-6th {
        grid-template-columns: 1fr;
        gap: 2rem;
        max-width: 100%;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .block-6th {
        padding: 3rem 0 0;
    }
    .box-6th {
        grid-template-columns: 1fr;
        gap: 2rem;
        max-width: 100%;
    }
}
@media (max-width: 575.98px) {
    .block-6th {
        padding: 3rem 0 0;
    }
    .box-6th {
        grid-template-columns: 1fr;
        gap: 2rem;
        max-width: 100%;
    }
    .box-6th div h3 {
        font-size: 15px;
    }
    .box-6th div dl {
        margin: 2rem 1.5rem 4rem;
    }
}
.block-7th {
    padding: 5rem 1.5rem;
}
.box-7th {
    display: table;
    width: 100%;
    max-width: 1400px;
    margin: auto;
}
.box-7th dt {
    display: table-cell;
    vertical-align: middle;
    width: 50%;
    padding-right: 2rem;
}
.box-7th dt h2 {
    margin-bottom: 4rem;
    text-align: center;
}
.box-7th dt h2 img {
    max-height: 74px;
    max-width: 100%;
}
.box-7th table {
    margin-bottom: 2rem;
}
.box-7th th {
    font-size: 24px;
    font-weight: 500;
    vertical-align: top;
}
.box-7th td {
    font-size: 18px;
    line-height: 2;
    padding: 0 0 1rem 2rem;
}
.box-7th td span {
    font-size: 39px;
    font-weight: 500;
    color: #af8c3f;
    line-height: 1;
}
.box-7th td small {
    font-size: 24px;
}
.box-7th dd {
    display: table-cell;
    width: 50%;
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
}
@media (min-width: 992px) and (max-width: 1199.98px) {
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .box-7th th,
    .box-7th td {
        display: block;
    }
    .box-7th td {
        padding: 0 0 1rem 0;
    }
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .block-7th {
        padding: 2rem 1.5rem 0;
    }
    .box-7th {
        display: block;
        max-width: 100%;
    }
    .box-7th dt {
        display: block;
        width: 100%;
        padding-right: 0;
    }
    .box-7th dd {
        display: block;
        padding-top: 3rem;
    }
}
@media (max-width: 575.98px) {
    .block-7th {
        padding: 2rem 1.5rem 0;
    }
    .box-7th {
        display: block;
        max-width: 100%;
    }
    .box-7th dt {
        display: block;
        width: 100%;
        padding-right: 0;
    }
    .box-7th dd {
        display: block;
        padding-top: 3rem;
    }
    .box-7th th,
    .box-7th td {
        display: block;
    }
    .box-7th td {
        padding: 0 0 1rem 0;
    }
}
.block-8th {
    padding: 3rem 1.5rem 10rem;
}
.box-8th {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    max-width: 1400px;
    margin: auto;
}
.box-8th div img {
    max-width: 100%;
}
@media (min-width: 576px) and (max-width: 767.98px) {
    .block-8th {
        padding: 3rem 1.5rem 3rem;
    }
    .box-8th {
        gap: 2rem;
    }
}
@media (max-width: 575.98px) {
    .block-8th {
        padding: 3rem 1.5rem 3rem;
    }
    .box-8th {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}
.googleCalendar iframe {
    width: 200%;
    height: 490px;
}
@media (min-width: 768px) {
    .googleCalendar iframe {
        width: 100%;
        height: 600px;
    }
}
@media (max-width: 575.98px) {
    .table-form th,
    .table-form td {
        display: block;
    }
}
footer {
    background: #292929;
    padding: 5rem 1.5rem 15rem;
    text-align: center;
}
footer h2 {
    margin-bottom: 5rem;
}
footer h2 img {
    max-height: 96px;
    max-width: 100%;
}
footer .g_nav {
    padding: 0rem 0 0;
    background: none;
    float: none;
    margin-bottom: 5rem;
}
footer .g_nav > ul {
    position: relative;
}
footer .g_nav > ul > li {
    color:#fff;
    position: static;
}
footer .g_nav > ul > li a {
    color:#fff;
}
footer .mdd_wrap {
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    z-index: 9999;
}
footer .mdd_wrap .mdd_inner {
    box-shadow: none;
    padding: 1rem;
    background: rgba(62,62,62,0.95);
    border-radius: 0.3rem;
}
footer .mdd_wrap .mdd_inner ul {
    display: block;
}
footer .mdd_wrap .mdd_inner li {
    display: inline-block;
    margin: 0 0.5rem;
}
footer .mdd_wrap .mdd_inner li a {
    display: block;
    margin: 0.5rem auto;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
}
footer .list-btn {
    float: none !important;
    justify-content: center;
    margin: 3rem auto 0;
    padding-left: inherit;
}
footer .list-btn li:first-child {
    color: #af8c3f;
}
footer .list-btn li:first-child::before {
    content: url("images/ico-tel-f.png");
    margin: 0.5rem 1rem 0 0;
}
.fixed_footer {
    display:none;
    width:100vw;
    position:fixed;
    left:0;
    bottom:0;
    z-index:999;
}
.btn-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
@media (min-width: 576px) {
    .fixed_footer {
        display:none !important;
    }
}
@media (min-width: 576px) and (max-width: 1199.98px) {
    footer .mdd_wrap .mdd_inner li a {
        font-size: 10px !important;
    }
}
@media (max-width: 1199.98px) {
    footer {
        padding: 3rem 1.5rem 5rem;
    }
    footer .g_nav,
    footer .list-btn {
        display: none;
    }
    footer .mdd_wrap .mdd_inner li a {
        font-size: 10px;
    }
}
@media (max-width: 575.98px) {
    footer {
        padding: 3rem 1.5rem 5rem;
    }
}
/* 戻るアンカー */
#page-top {
	font-size: 0;
	position: fixed;
	bottom: 1.5rem;
	right: 1rem;
	opacity: 0;
	text-align: right;
    z-index: 9999;
}
#page-top.fade-in {
	color: #c8a600;
	font-size: 60px;
	opacity: 1;
	transition: opacity 1s;
	cursor: pointer;
}
#page-top.fade-in:hover {
	opacity: 0.7;
}
@media (max-width: 991.98px) {
    #page-top {
    	bottom: 5.5rem;
    }
	#page-top.fade-in {
		font-size: 24px;
	}
}