.sp,
.sp320,
.sp375,
.sp425,
.sp475,
.txt_note {
    display: none;
}

.pc,
.pc320,
.pc375,
.pc425,
.pc475 {
    display: block;
}

@media screen and (max-width: 1560px) {
    .under-frm {
        width: 100%;
        padding: 90px 30px;
    }

    .under-frm p[class^="image"] {
        margin: 0 auto 1em;
        text-align: center;
        float: none;
    }
}

@media screen and (min-width: 641px) {
    #gnavi .h_social{
        display: none;
    }
    .menu_link_sp {
        display: none;
    }

    .gnavi_ctn > li:hover > a {
        color: #fff;
        background: #651015;
        transition: all .5s;
    }

    .gnavi_ctn > li.over:hover > a:after {
        border-top: 6px solid #fff;
    }

    .sub_menu li:hover a {
        transition: all .3s;
        background: #651015;
        color: #fff;
        border-bottom: solid 1px #651015;
    }

    .sub_menu li:first-child:hover a {
        border-top: solid 1px #651015;
    }

    .box05_list li:nth-child(2n + 2) {
        padding-top: 50px;
    }

    .box07_modal .des {
        font-weight: 500;
        margin-bottom: 52px;
    }

    .box07_modal_footer .idx_btn {
        display: none;
    }
    .f_call{
        display: none;
    }
    /*Under*/
    .list_case li:nth-child(3n + 3) {
        margin-right: 0;
    }

    .box01_item:nth-child(3n + 3) {
        margin-right: 0;
    }

    .box03_item:nth-child(4n + 4) {
        margin-right: 0;
    }

    .box03_item:last-child {
        margin-right: 0;
    }

    .box03_item:nth-last-child(-n + 3) {
        margin-bottom: 0;
    }
}

@media screen and (min-width: 641px) and (max-width:1200px) {
    #header .container {
        padding: 10px 1% 15px;
    }
    .topic-path{
        width: 100%;
        padding: 0 1%;
    }
    [class^='box0'] .container {
        padding: 0 1%;
        width: 100%;
    }

    #footer .container {
        padding: 0 1%;
    }

    .idx_box_news {
        padding: 0 1%;
    }

    .idx_box_news .container {
        width: 100%;
    }

    .box01 .container {
        padding: 15px 35px 35px;
    }

    .box01 {
        width: 98%;
    }

    .box01 h3 {
        line-height: 1.75em;
    }

    .box01_right .list_btn li {
        width: 114px;
        margin: 0 10px 12px 0;
        font-size: 12px;
    }

    .box05 .container,
    .box06 .container {
        padding: 0;
    }

    .box07_info {
        width: calc(50% + 40px);
        padding: 92px 61px 58px 61px;
    }

    .box07_img {
        right: calc(50% - 20px);
    }

    .f_list_btn li {
        width: 23%;
        margin: 0 12px 11px 0;
        font-size: 14px;
    }

    /*Under*/
}

@media screen and (min-width: 641px) and (max-width: 992px) and (max-height: 700px) {
    .copyright p {
        line-height: 1.5em;
        padding: 0 30px;
    }

    /*Safari*/
    @media not all and (min-resolution:.001dpcm) {
        @supports (-webkit-appearance:none) and (stroke-color:transparent) {
            .idx_mv_text {
                min-width: 195px;
                padding: 25px;
                text-align: center;
                height: 67vw;
                -webkit-writing-mode: vertical-rl;
                -ms-writing-mode: tb-rl;
                writing-mode: vertical-rl;
                overflow-wrap: break-word;
                vertical-align: top;
                
            }

        }
    }
}

@media screen and (min-width: 641px) and (max-width:1600px) {
    .box02_info {
        width: 43%;
    }

    .box02_img {
        width: calc(50% + 190px);
        right: calc(50% + 15px);
    }
}

@media screen and (min-width: 641px) and (max-width: 1366px) {
    .box07_img {
        right: calc(50% - 60px);
    }

    .box07_modal_content {

        margin-bottom: 50px;
    }
    .box07 .ttl_name {
        left: 134px;
      }
}

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

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    button,
    textarea,
    select,
    p,
    blockquote,
    th,
    td,
    pre,
    address,
    li,
    dt,
    dd {
        font-size: 140%;
    }

    #wrapper {
        min-width: 100%;
        padding-top: 0;
    }

    .container {
        width: 100%;
        padding: 0 3%;
    }

    .sp {
        display: block !important;
    }

    .pc {
        display: none !important;
    }

    .image-r,
    .image-l {
        float: none;
        text-align: center;
        margin: 0 0 30px;
    }
	.img_ctf{
		text-align:center;
	}
	.img_ctf img{
		width: 100%;
		height: auto;
	}

    /*header*/
    #header {
        z-index: 999;
        padding: 0;
        box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
    }

    .txt_note {
        font-size: 130%;
        opacity: 0.6;
        margin-bottom: 10px;
        display: block;
    }

    #header h1 {
        font-size: 10px;
        margin-bottom: 5px;
    }

    .h_left {
        width: 60%;
    }

    .h_right {
        display: none;
    }

    .logo {
        width: 220px;
    }

    #header .container {
        margin-bottom: 0;
        height: 100%;
        align-items: center;
    }

    /*********Gnavi*************/
    #gnavi {
        position: fixed;
        width: 100%;
        left: 0;
        z-index: 999;
        background: #fff;
        display: none;
        overflow: auto;
    }

    #gnavi .container {
        padding: 0;
    }

    .gnavi_ctn {
        width: 100%;
        display: block;
    }

    .gnavi_ctn > li {
        width: 100%;
    }

    .gnavi_ctn > li:before,
    .gnavi_ctn > li:after {
        content: none;
    }

    .gnavi_ctn > li > a {
        display: block;
        padding: 13px 15px;
        border-bottom: solid 1px #F2F2F2;
        word-break: break-all;
        background: #fff;
        text-align: left;
        font-size: 15px;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }

    .gnavi_ctn > li:first-child > a {
        border-top: solid 1px #F2F2F2;
    }

    .sub_menu {
        position: relative;
        width: 100%;
        border: none;
        padding: 0;
        top: 100%;
    }

    .sub_menu li {
        border: 0;
        padding: 0;
        line-height: 1.5em;
    }

    .sub_menu li a {
        padding: 13px 24px 13px 40px;
        background: #a78061;
        color: #fff;
    }

    .sub_menu li:first-child a {
        border-top: 0;
    }

    .sub_menu li:last-child a {
        border-bottom: solid 1px #F2F2F2;
    }

    .sub_menu li:not(:last-child) a {
        border-bottom: solid 1px #F2F2F2;
    }

    .gnavi_ctn > li.over > a:after {
        top: 50%;
        transform: translateY(-50%);
    }

    /* NAV-ICON */
    .menu_link_sp {
        position: relative;
        display: flex;
        /* width: 40%; */
        right: -15px;
    }

    .menu_link_sp li {
        width: 80px;
        height: 80px;
        line-height: 0;
    }

    .menu_link_sp li a {
        text-align: center;
        width: 100%;
        height: 100%;
        vertical-align: middle;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .menu_link_sp li a:focus,
    .menu_link_sp li a:hover {
        outline: 0;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }
    .menu_call, .menu_mess{
        display: none;
    }
    .menu_call a {
        background: #A78061 url(../../images/previous/ico_phone.png) no-repeat center;
        background-size: 24px;
    }

    .menu_mess a {
        background: #651015 url(../../images/previous/ico_letter.png) no-repeat center;
        background-size: 36px;
    }

    .menu_icon label {
        position: relative;
        top: 0;
        flex-shrink: 0;
        width: 100%;
        height: 100%;
        padding: 10px;
        cursor: pointer;
        background: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    }

    .menu_icon span {
        display: block;
        margin: 0;
        width: 40px;
        height: 3px;
        background-color: #651015;
        transition-duration: 0;
        transition-delay: 0.2s;
        position: relative;
    }

    .menu_icon span::after,
    .menu_icon span::before {
        display: block;
        content: '';
        position: absolute;
        width: 100%;
        height: 3px;
        background-color: #651015;
        transition-duration: 0.2s;
        transition-delay: 0.2s, 0;
    }

    .menu_icon span::before {
        margin-top: -12px;
    }

    .menu_icon span::after {
        margin-top: 12px;
    }

    .menu_icon.active span {
        background-color: transparent;
    }

    .menu_icon.active span::before,
    .menu_icon.active span::after {
        margin-top: 0px;
        transition-delay: 0, 0.2s;
    }

    .menu_icon.active span::before {
        transform: rotate(45deg);
    }

    .menu_icon.active span::after {
        transform: rotate(-45deg);
    }
    #gnavi .h_social{
       justify-content: center;
       margin-top: 20px;
    }
    #gnavi .h_social p{
        
    }
    /*************  TOP MAINVISUAL *********/
    .index #mainvisual {
        position: relative;
        height: 90vw;
    }

    .index #mainvisual .idx_mv_slide {
        width: 100%;
    }

    .index #mainvisual .idx_mv_slide:before {
        content: none;
    }

    .idx_mv_text {
        position: absolute;
        left: auto;
        right: 3%;
        top: 5%;
        padding: 4vw 3vw;
        text-align: center;
        min-width: auto;
        height: 67vw;
        white-space: pre;
    }

    .idx_mv_text span {
        font-size: 3.5vw;
        margin-right: 0;
        
    }
     

    /***********  TOP CONTENT ************/
    .index #main {
        background-size: cover;
    }

    .index .idx_bg_info {
        display: none;
    }

    .index h4 {
        font-size: 26px;
        line-height: 1.4em;
        margin-bottom: 10px;
    }

    .idx_h4_en {
        margin-bottom: 10px;
    }

    .idx-btn {
        flex-wrap: wrap;
    }

    .idx_btn a {
        width: 80%;
    }

    .index .idx_bg_img {
        bottom: -8px;
        right: -8px;
        width: 20px;
        height: 20px;
    }

    .idx_box_news {
        margin: -15px 0 0;
        padding: 0 3%;
    }

    .idx_box_news h3 {
        width: 60px;
        font-size: 14px;
        padding: 7px 5px 5px 8px;
        text-align: center;
        margin: 0 25px 0 0;
    }

    .idx_box_news h3:before {
        border-top: 16px solid transparent;
        border-bottom: 16px solid transparent;
        border-left: 16px solid #651015;
    }

    .idx_box_news .container {
        padding: 0;
    }

    .idx_list_news .post_date {
        width: 95px;
        margin-right: 10px;
    }

    .idx_list_news {
        width: calc(100% - 150px);
    }

    .idx_list_news .post_ttl {
        position: relative;
        top: -2px;
        width: calc(100% - 95px);
    }

    .read_more {
        width: 75px;
    }

    .read_more a:after {
        right: 5px;
        top: 53%;
        width: 5px;
        height: 7px;
    }

    .box01 {
        padding: 35px 3%;
        box-shadow: none;
        margin-top: -15px;
    }

    .box01 .container {
        padding: 15px;
    }

    
    .box01 .d-flex {
        flex-wrap: wrap;
        gap: 15px;
    }
    .box01-blk {
        flex-wrap: wrap;
        max-width: 100%;
        padding: 0 10px;
    }
    

    .box01 h3 {
        font-size: 28px;
        line-height: 1.5em;
        margin-bottom: 5px;
    }

    .box01 h3 > span {
        font-size: 18px;
        margin-right: 20px;
    }

    .box01_date {
        font-size: 14px;
        margin-bottom: 5px;
    }

    .box01_date01 {
        font-size: 14px;
        margin-bottom: 15px;
        width: 100%;
    }

    .box01_date01 span {
        font-size: 12px;
        text-align: center;
        padding: 5px 5px 5px 10px;
        line-height: 20px;
        top: 0;
    }

    .box01_list .box01_left {
        width: 100%;
        margin: 0 0 30px 0;
    }

    .box01_list .box01_right {
        width: 100%;
    }

    .box01_left .add {
        float: left;
        width: 50%;
        margin-bottom: 0;
    }

    .box01 .idx_btn {
        float: right;
        width: 48%;
    }

    .box01 .idx_btn a {
        width: 100%;
    }

    .box01_right .img {
        text-align: center;
    }

    .box01_right .list_btn li {
        width: 24%;
        margin: 0 5px 5px 0;
    }

    .box01_right .list_btn a {
        padding: 5px 8px;
        font-size: 12px;
    }

    .box01_info {
        position: relative;
        left: 0;
        top: 0;
        margin-bottom: 30px;
    }

    .box01_info .content {
        padding: 12px 10px 9px 10px;
    }

    .box01_list {
        flex-wrap: wrap;
        justify-content: space-between;

    }

    .box01_item {
        display: block;
        width: 100%;
        margin: 0 0 30px 0;
    }

    .box01_item:last-child {
        margin-bottom: 0;
    }

    .box01_item .img {
        width: 40%;
        float: left;
        margin-right: 10px;
        height: auto;
    }

    .box02 {
        padding: 35px 3% 15px;
    }

    .box02_img {
        position: relative;
        width: 100%;
        margin-bottom: 20px;
        right: auto;
        height: auto;
        background: none;
    }

    .box02_img img {
        display: block;
    }

    .box02_info {
        width: 100%;
        left: auto;
        padding-top: 0;
    }

    .box03_list .ttl {
        font-size: 14px;
    }

    .box03_list li {
        margin-bottom: 20px;
    }

    .box03_list li:last-child {
        margin-bottom: 0;
    }

    .box03 {
        padding: 10px 0 35px;
    }

    .box03 .idx_h4_en {
        margin-bottom: 30px;
    }

    .box03_list {
        flex-wrap: wrap;
        justify-content: center;
    }

    .box04 {
        padding: 35px 0;
    }

    .box04_list01 {
        flex-wrap: wrap;
        margin-bottom: 30px;
    }

    .box04_list01 .info {
        width: 100%;
        margin-right: 0;
    }

    .box04_list01 .img {
        width: 100%;
        text-align: center;
    }

    .box04_list01 .img img {
        max-width: 80%;
    }

    .box04_list02 {
        flex-wrap: wrap;
    }

    .box04_list02 h3 {
        font-size: 22px;
    }

    .box04_list02 li {
        width: 100%;
        margin-bottom: 30px;
        padding: 30px;
    }

    .box04_list02 li:last-child {
        margin-bottom: 0;
    }

    .box04_list01 .idx_h4_en {
        margin-bottom: 20px;
    }

    .box04_list02 .des {
        padding: 0;
    }

    .box04_list02 .dot {
        line-height: 1.3em;
        margin-bottom: 10px;
    }

    .box04_list02 .idx_btn a {
        width: 75%;
    }

    .box05 {
        padding: 35px 0 25px;
    }

    .box05.box05_cus {
        padding: 40px 0;
    }

    .box05_list li {
        padding-left: 0;
        margin-bottom: 15px;
        width: 48%;
    }

    .box05_list .ttl {
        position: relative;
        margin-left: 0;
        margin-bottom: 0;
        font-size: 16px;
        padding: 10px;
        bottom: 0;
        letter-spacing: 0.05em;
        height: 100%;
    }

    .box05_list .ttl span {
        font-size: 14px;
        line-height: 1.7em;
    }

    .box05_list .ttl:before {
        left: 0;
    }

    .box05_list li.pdl {
        padding-left: 0;
    }

    .box05_list li.pdr {
        padding-right: 0;
    }

    .box05 .des {
        margin-bottom: 30px;
    }

    .box06 .container {
        padding: 0;
    }

    .box06_list_bnr li {
        min-height: 150px;
    }

    .box06_list_bnr li span {
        font-size: 18px;
    }

    .box07 {
        padding: 35px 0 0;
        margin-bottom: 0;
    }

    .box07_img {
        width: 100%;
        position: relative;
        height: auto;
        right: 0;
        top: 0;
        z-index: 2;
    }

    .box07_img:before,
    .box07_img:after {
        content: none;
    }

    .box07 .container {
        display: block;
    }

    .box07_img img {
        display: block;
    }

    .box07_info {
        width: 100%;
        margin: -30px 0 0 0;
        padding: 50px 15px 35px 15px;
    }

    .box07 .container {
        padding: 0;
    }

    .box07_info .idx_h4_en {
        margin-bottom: 5px;
    }

    .box07_info .list_txt {
        margin-bottom: 10px;
    }

    .box07_info .list_txt01 {
        margin-bottom: 10px;
    }

    .box07_info .idx_btn a {
        width: 75%;
        margin: 0 auto
    }
    .box08{
        padding: 35px 0;
    }
    .box08_list{
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .box08_list li{
        width: 47%;
        margin: 0 0 30px;
    }
    .box08_list a{
        height: 150px;
    }
    .box08 .idx_h4_en{
        margin-bottom: 30px;
    }
    /*Footer*/
    .f_call {
		display: flex;
		height: 50px;
		width: 100%;
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 99;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
	}
	.f_call.show {
		opacity: 1;
		visibility: visible;
	}
	.f_call li {
		display: flex;
		width: 50%;
		background: #A78061;
	}
	.f_call li:last-child {
		background: #651015;
	}

	.f_call li a {
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		text-align: center;
		text-decoration: none;
		letter-spacing: .05em;
		font-size: 18px;
		width: 100%;
		padding: 11px 5px 5px 5px;
	}
	
	.f_call li:last-child a:before {
		position: relative;
		top: 0;
		display: inline-block;
		content: '';
		background: url(../../images/previous/ico_letter.png) no-repeat center;
		background-size: contain;
		width: 18px;
		height: 12px;
		margin-right: 5px;
	} 
    .f_top_list {
        justify-content: center;
        flex-wrap: wrap;
    }

    .f_top_list li {
        width: 100%;
        margin-bottom: 30px;
        padding: 15px;
    }

    .f_top_list li:last-child {
        margin-bottom: 0;
    }

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

    .f_top_list dl dt,
    .f_top_list dl dd {
        width: 48%;
    }

    .f_top_list dl dt {
        display: flex;
        flex-wrap: wrap;
    }

    .f_top_list .lgo {
        width: 100%;
        margin-bottom: 10px;
    }

    .f_top_list .txt,
    .f_top_list .txt01 {
        margin-bottom: 10px;
        padding: 0;
    }

    .f_top_list li:nth-child(3) .txt01 {
        margin-bottom: 10px;
    }

    .f_top_list .img {
        margin-bottom: 0;
        order: 2;
    }

    .f_top_list .btn a {
        width: 100%;
    }

    .f_top_list .btn a:after {
        right: 10px;
    }

    .f_top_list .btn {
        bottom: 15px;
        width: 45.5%;
    }

    .f_menu {
        padding: 35px 0 0;
    }

    .f_menu .container {
        flex-wrap: wrap;
    }

    .f_menu ul li {
        margin-bottom: 8px;
    }

    .f_menu li a {
        font-size: 14px;
    }

    .f_menu .f_col01 {
        width: 100%;
        margin: 0 0 30px 0
    }

    .f_menu .f_col02,
    .f_menu .f_col04 {
        width: 50%;
        margin: 0 auto 30px 0;
    }

    .f_menu .f_col03,
    .f_menu .f_col04 {
        width: 50%;
        margin: 0 0 30px 0;
    }

    .f_center {
        padding: 15px 0 35px;
    }

    .f_center .container:last-child {
        flex-wrap: wrap;
    }

    .f_center .f_info {
        width: 100%;
        margin-right: 0;
        padding: 0 3vw;
    }

    .f_logo {
        margin: 0 auto 15px;
    }

    .f_center .f_list {
        flex-wrap: wrap;
        align-items: center;
    }

    .f_center .f_map {
        width: 100%;
    }

    .f_map iframe {
        height: 250px;
    }

    .f_contact span:before {
        top: 2px;
    }

    .f_tel {
        font-size: 5vw;
        padding-top: 4px;
        text-align: center;
        margin: 0;
    }

    .f_contact {
        margin: 0;
    }

    .f_tel span {
        font-size: 11px;
        margin-right: 20px;
    }

    .f_contact a {
        font-size: 13px;
        padding: 7px 30px;
    }

    .f_list_btn {
        margin-bottom: 30px;
    }

    .f_list_btn li {
        width: 21vw;
        margin: 0 1vw 1vw 0;
    }

    .f_list_btn a {
        padding: 5px 10px;
        font-size: 2.3vw;
    }

    .f_list01 li {
        width: 50%;
    }

    .f_list01 .idx_btn a {
        width: 100%;
    }

    .f_map .map {
        margin-bottom: 20px;
    }

    .copyright {
        padding: 10px 3%;
        text-align: center;
    }

    #totop {
        width: 40px;
        height: 40px;
        right: 15px;
        bottom: 65px;
    }

    .box07_modal_content {
        margin-bottom: 30px;
    }

    .box07_modal .tab_info {
        width: 100%;
        padding: 0 3%;
    }

    .box07_modal .des {
        font-weight: 500;
    }

    .box07_modal .tab_info .idx_btn {
        display: none;
    }

    .box07_modal_footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 3% 30px;
        bottom: auto;
        right: auto;
        position: relative;
    }

    .box07_modal .ttl {
        font-size: 18px;
    }

    .box07_modal .idx_btn {
        width: 55%;
    }

    .box07_modal_main:before {
        content: none;
    }

    .box07_modal_main {
        background: #fff !important;
        padding: 0;
    }

    .box07_modal .idx_btn a {
        width: 100%;
        font-size: 14px;
        padding: 10px 30px;
    }

    .box07_menu_tab {
        position: relative;
        bottom: auto;
        right: auto;
        width: 45%;
    }

    .box07_menu_tab li {
        width: 50px;
        height: 50px;
        margin-right: 10px;
    }

    .box07_menu_tab li a {
        font-size: 14px;
    }

    .box07_modal .num {
        padding: 15px 10px 8px;
        font-size: 30px;
        width: 50px;
        height: 50px;
        margin: -60px 0 18px 0;
    }

    .copyright p {
        letter-spacing: 0.01em;
    }

    /*Under*/

    .sp-show {
        display: block;
    }

    .mainvisual {
        background: none;
        margin-bottom: 20px;
    }

    .under h2 {
        font-size: 28px;
        margin-bottom: 0;
        line-height: 1.5em;
        padding: 10px 23px;
    }

    .mainvisual > .container {
        height: 300px;
    }

    .topic-path {
        width: 100%;
        padding: 0 3%;
        margin-bottom: 30px;
    }

    .topic-path li {
        font-size: 13px;
    }

    .topic-path li a,
    .topic-path li:first-child a {
        font-size: 13px;
        margin-right: 30px;
    }

    .topic-path li:after {
        right: 11px;
    }

    .topic-path li:first-child:before {
        width: 15px;
        height: 15px;
    }

    .topic-path li:first-child {
        top: 0;
        padding-left: 20px;
    }

    .under section,
    .under .section,
    .under .first-sec {
        width: 100%;
        padding: 0 3%;
        margin-bottom: 50px;
    }

    .under h3 {
        font-size: 23px;
        padding-bottom: 15px;
        margin-bottom: 30px;
    }

    .under #content p {
        margin-bottom: 1em;
    }

    .anc-link li {
        width: 230px;
    }

    .under h4 {
        font-size: 20px;
        margin-bottom: 20px;
        padding-left: 30px;
    }

    .under h4:before {
        width: 20px;
        top: 18px;
    }

    .image-r,
    .image-l {
        float: none;
        text-align: center;
        margin: 0 auto 1em;
        display: block;
    }

    .image-r span:before,
    .image-l span:before,
    .under-col-img span:before {
        width: 22px;
        height: 22px;
        bottom: -8px;
        left: -8px;
    }

    .under-col-img span:before {
        width: 15px;
        height: 15px;
        left: -5px;
        bottom: -5px;
    }

    .image-l span:before {
        left: auto;
        right: -8px;
    }

    .under-col-img span:before {
        left: auto;
        right: -5px;
    }

    .tbl-block th,
    .tbl-block td {
        display: block;
        width: 100%;
        padding: 15px;
    }

    .tbl-block th {
        border: 1px solid #651015;
    }

    .under-step dl:not(:last-child) {
        padding-bottom: 40px;
        margin-bottom: 30px;
    }

    .under-qa dt {
        font-size: 17px;
        padding-left: 30px;
        margin-bottom: 20px;
    }

    .under-qa dt:before {
        font-size: 24px;
    }

    .under-frm {
        width: 100%;
        padding: 50px 3%;
    }

    .under-bnr {
        flex-direction: column;
    }

    .under-bnr p {
        width: 100%;
        margin: 0 auto 30px;
    }

    .under-bnr a,
    .under-bnr p:nth-child(odd) a {
        border: 3px solid #651015;
        padding: 20px 15px;
        font-size: 18px;
    }

    .under-step {
        border-left: 0;
        border-right: 0;
    }

    section .under-step,
    .section .under-step {
        border: 1px solid #e6e6e6;
    }

    .under-step dl:last-child p[class^="image-"] {
        margin-bottom: 1em;
    }

    ul[class^="under-col"] {
        margin: 0 -6px;
    }

    ul[class^="under-col"] li {
        width: calc(50% - 12px);
        margin: 0 6px 30px;
    }

    .under .under-col2 h5,
    .under .under-col2 h6 {
        margin-bottom: 20px;
    }

    .under-col2 li > * {
        padding: 0 20px;
    }

    .under-list li {
        padding-left: 5px;
    }

    .under-tlt {
        font-size: 19px;
    }

    .under h6 {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .news-date {
        font-size: 13px;
        width: auto;
        margin-right: 10px;
    }

    .news-tlt {
        padding-bottom: 2px;
    }

    .news-img img {
        max-width: 100%;
    }

    .mainvisual:before {
        display: none;
    }

    .under .f_top h3 {
        font-size: 26px;
        line-height: 1.4em;
        margin-bottom: 10px;
    }

    .under-map > iframe {
        height: 250px;
    }

    .under .f_top {
        padding-top: 10px;
    }

    .under .under-col2 h5 {
        font-size: 14px;
        padding: 10px 5px;
    }

    .under-col2 li {
        padding: 0;
    }

    .under-2tbl .under-tbl {
        width: 100%;
        margin-bottom: 20px;
    }

    .under-2tbl .under-tbl:first-child th:last-child,
    .under-2tbl .under-tbl:first-child td:last-child {
        border-right: 1px solid #d5d2ce;
    }

    .under-step01 dl dt {
        width: 78px;
    }

    .under-step01 dt span {
        font-size: 17px;
    }

    .under-step01 dt i {
        font-size: 38px;
    }

    .under-step01 .image-r img {
        max-width: 100%
    }

    .under-step01 .tit {
        font-size: 16px;
    }

    .under-step01 table {
        min-width: 650px;
    }

    .under-step01 dl dd {
        padding: 25px 20px 25px 100px;
    }

    .grp_new .item,
    .grp_new {
        width: 100%;
        display: block;
        padding: 0;
    }

    .grp_new {
        margin-bottom: 35px;
    }

    .grp_new .item:first-child {
        margin-bottom: 40px
    }

    .list_new span {
        width: 87px
    }

    .grp_new .idx_h4_en span {
        font-size: 13px;
        margin-left: 10px;
        padding-left: 30px
    }

    .idx_h4_en span:before {
        width: 20px;

    }
    .news-list-cate.anc-link{
        justify-content: space-between;
        flex-wrap: inherit;
    }
    .news-list-cate.anc-link li{
        width: 47%;
    }

    .news_list {
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 35px;
        gap: 30px;
    }

    .news_list .news_item {
        width: calc(100% / 2 - 15px);
        max-width: 100%;
    }

    .news_list .news_item .btn_new a {
        padding: 10px 15px 10px 15px;
    }

    .news_list .news_item .btn_new a::before {
        width: 15px;
    }
    /**End of Under**/
	
	.under .info {
        padding-left: 5px;
    }
    .box07 .ttl_name {
        position: unset;
        text-align: center;
      }
      .setsumei-d-flex {
        gap:16px
    }
    .arrow-long::before {
        height: 772px;
    }
    .price-right tr td:last-child {
    text-align: center;
}
	.box05_list {

  	justify-content: center;
	gap:15px;
}
}

@media screen and (max-width: 520px) {
    .f_top_list dl {
        flex-wrap: wrap;
    }

    .f_top_list dl dt,
    .f_top_list dl dd {
        width: 100%;
    }

    .f_top_list .img {
        order: 1;
        margin: 0 auto 10px;
    }

    .f_top_list .lgo {
        order: 2;
        margin: 0 auto 10px;
        text-align: center;
    }

    .f_top_list .txt,
    .f_top_list .txt01 {
        text-align: center;
    }

    .f_top_list .btn {
        position: relative;
        width: 100%;
        bottom: auto;
        margin: 0 auto;
    }

    .copyright span:last-child {
        display: block;
        margin-left: 0;
    }

    .f_tel {
        text-align: center;
        width: 100%;
        justify-content: center;
        margin-bottom: 5px;
        font-size: 26px;
    }

    .f_contact {
        text-align: center;
        margin: 0 auto;
    }

    ul[class^="under-col"] {
        margin: 0 auto;
    }

    ul[class^="under-col"] li {
        width: 100%;
        margin: 0 auto 30px;
    }

    .box06_list_bnr li span {
        font-size: 16px;
    }

    /*Under*/
    .box_ortho{
        padding: 20px;
    }
    .box_ortho h6{
        font-size: 18px;
    }
    .box_ortho li span{
        font-size: 15px;
    }
}

@media screen and (max-width: 475px) {
    .sp475 {
        display: block;
    }

    .pc475 {
        display: none;
    }

    .logo {
        width: 190px;
    }

    .menu_link_sp li {
        width: 65px;
        height: 65px;
    }

    .idx_box_news .container {
        flex-wrap: wrap;
        padding: 15px;
    }

    .menu_call a {
        background-size: 25px;
    }

    .menu_mess a {
        background-size: 30px;
    }

    .menu_icon span {
        width: 35px;
    }

    .idx_list_news {
        width: calc(100% - 85px);
    }

    .idx_box_news h3 {
        font-size: 12px;
        padding: 7px 5px 5px 8px;
    }

    .idx_box_news h3:before {
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
        border-left: 15px solid #651015;
    }

    .idx_list_news .post_date {
        width: 80px;
        font-size: 12px;
    }

    .idx_list_news .post_ttl {
        font-size: 12px;
        top: 0;
    }

    .idx_box_news .read_more {
        width: 100%;
        text-align: right;
    }

    .box01 {
        margin-top: -70px;
        padding-top: 35px;
    }

    .box01 h3 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .box01 h3 > span {
        top: auto;
    }

    .box01_left .add {
        float: none;
        width: 100%;
    }

    .box01 .idx_btn {
        float: none;
        width: 100%;
        margin: 0 auto
    }

    .box01 .idx_btn a {
        width: 90%;
    }

    .box02 h3 {
        letter-spacing: 0.05em;
    }

    .box07_info .idx_btn a {
        width: 90%;
    }

    .box01_left .add {
        margin-bottom: 10px;
    }

    .box01_right .list_btn {
        justify-content: space-between;
    }

    .box01_right .list_btn li {
        width: 47%;
        margin: 0 auto 10px 0;
    }

    .box01_right .list_btn li:nth-child(4n + 4) {
        margin-right: auto;
    }

    .box01_right .list_btn li:nth-child(2n + 2) {
        margin-right: 0;
    }

    .grp_new .item.item_sp .idx_h4_en {
        display: block;
    }

    .news_list .news_item {
        width: 100%;
        max-width: 320px;
    }

    .box05_list {
        align-items: inherit;
    }

    .box05_list .img {
        overflow: hidden;
        height: 100%;
    }

    .f_list01 {
        flex-wrap: wrap;
    }

    .f_list01 .f_add {
        width: 100%;
        padding-top: 0;
        margin-bottom: 20px;
    }

    .f_list01 .idx_btn {
        width: 100%;
    }

    .f_list01 .idx_btn a {
        width: 75%;
    }

    .f_list_btn li {
        width: 47%;
        margin: 0 auto 10px 0;
    }

    .f_list_btn li:nth-child(4n + 4) {
        margin-right: auto;
    }

    .f_list_btn li:nth-child(2n + 2) {
        margin-right: 0;
    }

    .f_list_btn li a {
        font-size: 12px;
    }

    .box07_modal_footer {
        flex-wrap: wrap;
    }

    .box07_modal .idx_btn {
        width: 100%;
        margin-bottom: 30px;
    }

    .box07_menu_tab {
        justify-content: center;
    }

    .box07_modal .idx_btn a {
        width: 90%;
        margin: 0 auto;
    }

    .box07_menu_tab {
        width: 100%;
    }
    .yt iframe{
        width: 100%;
        height: 53vw;
    }

    /*Under*/
}

@media screen and (max-width: 425px) {
    .sp425 {
        display: block;
    }

    .pc425 {
        display: none;
    }

    .f_center .f_list {
        margin-bottom: 15px;
    }

    .index h4 {
        font-size: 22px;
        letter-spacing: 0.01em;
    }

    .box01 h3 > span {
        font-size: 14px;
    }

    .idx_box_news h3 {
        font-size: 12px;
    }

    .box04_list01 h4 {
        letter-spacing: 0.1em;
    }

    .box07_info .list_txt li,
    .box07_info .list_txt01 li {
        padding-left: 12px;
        font-size: 13px;
    }

    .box07_info .des {
        font-size: 13px;
    }

    .box06_list_bnr li {
        width: calc(50% - 1px);
    }

    .box06_list_bnr li span {
        font-size: 13px;
        padding: 20px 5px;
    }

    .f_contact span:before {
        top: 1px;
    }

    .idx_btn a {
        width: 90%;
    }

    .box07_info .idx_btn a {
        width: 90%;
    }

    .f_list01 .idx_btn a {
        width: 90%;
    }

    .flex_ttl .box_ttl .idx_h4_en span {
        padding-left: 30px;
    }

    .flex_ttl .box_btn .btn a {
        padding: 5px 20px 5px 10px;
        min-width: 180px;
    }

    .flex_ttl .box_btn .btn a::before {
        width: 15px;
    }

    .news_list .news_item .btn_new a {
        padding: 5px 20px 5px 20px;
    }

    .news_list .news_item .btn_new a::before {
        width: 15px;
    }

    /*under*/
    .under h2 {
        font-size: 25px;
        padding: 10px 15px;
        line-height: 1.7em;
    }

    .under-bnr a {
        font-size: 16px;
        padding: 20px 10px;
    }

    .under-list li {
        padding-left: 0;
    }

    .under .f_top h4 {
        font-size: 22px;
        letter-spacing: 0.01em;
    }

    .grp_new .read_more {
        top: 1.1vw
    }
    .arrow-tate-white:before {
        left: -9px;
        bottom: -30px;
    }
    .arrow-tate-white:after {
        bottom: -21px;
        border-top: 10px solid #fff;
    }
}

@media screen and (max-width: 375px) {
    .sp375 {
        display: block;
    }

    .pc375 {
        display: none;
    }

    #header h1 {
        margin-bottom: 3px;
    }

    .logo {
        width: 160px;
    }

    .menu_link_sp li {
        width: 55px;
        height: 55px;
    }

    .menu_icon label {
        padding: 5px;
    }

    .menu_link_sp {
        right: -10px;
    }

    .menu_icon span::after {
        margin-top: 10px;
    }

    .menu_icon span::before {
        margin-top: -10px;
    }

    .menu_mess a {
        background-size: 30px;
    }

    .index h4 {
        font-size: 18px;
        letter-spacing: 0.01em;
    }

    .f_top .idx_h4_en span {
        font-size: 12px;
    }

    .idx_box_news h3 {
        font-size: 12px;
    }

    .idx_btn a,
    .box07_info .idx_btn a,
    .f_list01 .idx_btn a {
        width: 100%;
        padding: 15px 22px;
    }

    .idx_btn a:after {
        right: 10px;
    }

    .box01_date {
        font-size: 12px;
    }

    .box01_date01 span {
        font-size: 10px;
    }

    .box01_date01 {
        font-size: 12px;
    }

    .box04_list02 li {
        padding: 20px;
    }

    .box04_list02 .idx_btn a {
        width: 100%;
    }

    .box06_list_bnr {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .box06_list_bnr:before {
        content: none;
    }

    .box06_list_bnr li:last-child {
        margin-bottom: 0;
    }

    .f_menu li a {
        font-size: 12px;
    }

    .f_contact a {
        padding: 7px 20px;
    }

    .copyright span:first-child {
        margin-left: 3px;
    }
    .f_call li a{
        font-size: 14px;
    }
    /*Under*/
    .under .f_top h3 {
        font-size: 18px;
        letter-spacing: 0.01em;
    }

    .under-step01 dl dd {
        padding: 25px 20px 25px 86px;
    }

    .under-step01 dl dt {
        width: 65px;
    }

    .under-step01 dt i {
        font-size: 35px;
    }
    .box08_list li{
        width: 90%;
        margin: 0 auto 30px;
    }
    .box08_list li:last-child{
        margin-bottom: 0;
    }
    .box08_list a{
        height: 200px;
    }
    .news-list-cate.anc-link{
        justify-content:center;
        flex-wrap: wrap;
    }
    .news-list-cate.anc-link li{
        width: 90%;
        margin: 0 auto 15px;
    }
    .news-list-cate.anc-link li:last-child{
        margin-bottom: 0;
    }
}

@media screen and (max-width: 320px) {
    .sp320 {
        display: block;
    }

    .pc320 {
        display: none;
    }

    .box04_list02 h3 {
        font-size: 20px;
    }

    .menu_mess a {
        background-size: 28px;
    }

    .under h3 {
        font-size: 20px;
    }

    .under h5 {
        font-size: 16px;
    }

    /*Under*/
}


@media screen and (max-width: 1600px) and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    /*IE*/

}

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

    /*Firefox*/
    @-moz-document url-prefix() {}

    /* Chrome 29+ (Only) + New Edge 83 + */

    @supports (-webkit-appearance:none) and (not (overflow:-webkit-marquee)) and (not (-ms-ime-align:auto)) and (not (-moz-appearance:none)) {}

    /*Safari*/
    @media not all and (min-resolution:.001dpcm) {
        @supports (-webkit-appearance:none) and (stroke-color:transparent) {
            .idx_mv_text {
                min-width: 23vw;
            }
        }
    }

}

/*IE*/
@media screen\0 {
    #header h1 {
        line-height: 1.5em;
    }

    .idx_mv_text span {
        writing-mode: tb-rl;
        -ms-writing-mode: tb-rl;
    }

    .box01_date01 span {
        padding: 0 16px 2px 23px;
    }

    .box01 .idx_btn a {
        padding: 7px 30px 12px;
    }

    .f_top_list .btn a {
        padding: 10px 45px;
    }

    .under-tbl td {
        padding: .8em .9em .5em;
    }

    .topic-path li::after {
        top: calc(50% - 3px);
    }

    .news-tlt {
        padding-top: 2px;
    }

    .news-nav a {
        padding: 3px 10px 0;
    }

    .idx_list_news .post_ttl {
        top: 0;
    }

    .box07_menu_tab li a {
        padding: 19px 20px 12px;
    }

    .under h2 {
        padding: 2px 23px 5px;
        line-height: 1.5em;
    }

    .box07_modal .num {
        padding: 19px 20px 12px;
    }

    .h_tel span,
    .f_tel span {
        padding: 3px 10px 0px 14px;
    }
    .box08_list a{
        display: block;
    }
    .box08_list img{
        position: absolute;
        left:50%;
        top: 50%;
        transform: translate(-50%,-50%);
    }
    .h_info{
        position: relative;
        top: 3px;
    }
    .f01-contact .cnt::before{
        top: -4px;
    }
    .news-date{
        width: 105px;
    }
    .news-tlt{
        position: relative;
        top: 2px;
    }
}

/*Edge*/
@supports (-ms-ime-align:auto) {
    .idx_mv_text span {
        writing-mode: tb-rl;
        -ms-writing-mode: tb-rl;
    }

    .box01_date01 span {
        padding: 0 16px 2px 23px;
    }

    .box01 .idx_btn a {
        padding: 7px 30px 12px;
    }

    .f_top_list .btn a {
        padding: 10px 45px;
    }

    .h_tel span,
    .f_tel span {
        padding: 3px 3px 0px 7px;
    }

    .copyright p {
        line-height: 1.5em;
    }

    .box07_menu_tab li a {
        padding: 19px 20px 12px;
    }

    .box07_modal .num {
        padding: 19px 20px 12px;
    }
}

/*FireFox*/
@-moz-document url-prefix() {
    .nav_fixed_right .nav02 {
        right: -190px;
        width: 250px;
    }

    #box02::before {
        font-size: 14vw;
    }

    #box02::after {
        font-size: 14vw;
    }
}

/*Safari*/
@media not all and (min-resolution:.001dpcm) { 
    @supports (-webkit-appearance:none) and (stroke-color:transparent) { 
        .news-nav .next a, .news-nav .prev a{
            padding: 1px 10px 3px;
        }
        .news-tlt{
            position: relative;
            top: -2px;
        }
   } 
}