@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&family=M+PLUS+2:wght@100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@400;500;600;700&display=swap');


/* Reset CSS
-------------------------------*/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
    margin:0;
    padding:0;
}
table{
    border-collapse:collapse;
    border-spacing:0;
}
fieldset,img{
    border:0;
}
address,caption,cite,code,dfn,em,strong,th,var{
    font-style:normal;
    font-weight:normal;
}
ul,ol,li{
    list-style:none;
}
caption,th{
    text-align:left;
}
h1,h2,h3,h4,h5,h6{
    font-size:100%;
    font-weight:normal;
}
q:before,q:after{
    content:'';
}
abbr,acronym {border:0;font-variant:normal;}
sup {vertical-align:text-top;}
sub {vertical-align:text-bottom;}
hr {display:none;}
input,textarea,select{
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    *font-size:100%;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}

img{
    max-width:100%;
    height:auto;
    vertical-align: bottom;
    margin:0;
    padding:0;
}

html {scroll-behavior: smooth;}

a {
  outline:none;
  color: #2e2e2e;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
  filter: alpha(opacity=80);
  -moz-opacity:0.80;
  opacity:0.80;
}

@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}

.flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}



/* Basic setting
-------------------------------*/

body {
    font-family: 'Noto Sans JP',"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.8em;
    font-weight: 400;
 	color: #000;
	-webkit-text-size-adjust: 100%;
    background-image: url(img/common/bg_kei_kaku.png),url(img/common/bg_kei_kaku.png);
    background-repeat: repeat-y,repeat-y;
    background-position: calc(50% - 837px) top,calc(50% + 837px) top;
}
@media screen and (max-width:1900px){
    body {
        background-position: 6% top,calc(100% - 6%) top;
    }
}
@media screen and (max-width:1600px){
    body {
        background-position: 2.5% top,calc(100% - 2.5%) top;
    }
}

@media screen and (max-width:640px){
    body {
        font-size: 14px;
        line-height: 1.8em;
    }
}

#wrapper{
	margin:0 auto;
	padding:0;
	width:100%;
	overflow:hidden;
}

.hina-min{
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;

}



/* ヘッダー
-------------------------------*/
* html #header{height:1%;}
#header{
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: solid 2px #f2f2f2;
}
#header .inner{
    width: 98%;
    max-width: 1920px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#header .btn_rec a{
    border: solid 2px #007bc5;
}
#header .btn_rec a:hover{
    background-color: #e3f0f8;
}

@media (min-width:911px) and (max-width:1650px){
    #header .btn_rec a{
        width: 11.85vw;
        height: 3.5vw;
        font-size: 1.2vw;
        line-height: 1.4em;
    }
    .btn_rec a span {
        padding-right: 2vw;
        background-size: 1vw auto;
    }

}
@media (min-width:911px) and (max-width:1450px){

    #header .h_logo{
        width: 26%;
    }

}

@media screen and (max-width:910px){
    #header{
        padding-top: 15px;
        padding-bottom: 15px;
    }
    #header .inner{
        padding-right: 100px;
    }
    #header .btn_rec{
        padding-left: 10px;
    }
    #header .btn_rec a{
        width: 160px;
        height: 50px;
        font-size: 18px;
        line-height: 1.4em;
    }
}
@media screen and (max-width:640px){
    #header{
        height: 79px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #header .inner {
        width: 90%;
    }
    
    #header .h_logo img{
        width: 100%;
        max-width: 330px;
        height: auto;
    }
    #header .btn_rec{
        display: none;
    }
}






/* フッター
-------------------------------*/

#footer{
    background-color: #f2f2f2;
    overflow: hidden;

}
#footer .inner{
    width: 100%;
    max-width: 1920px;
    margin: auto;
}
.f_info1{
    width: 660px;
    background-color: #e3f0f8;
    color: #007bc5;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px 0 50px;
}

.f_info1 ._in{
    width: 90%;
    max-width: 510px;
}
.f_info1 .add{
    font-size: 18px;
    line-height: 1.5em;
    letter-spacing: 0.07em;
    font-weight: 600;
    margin-top: 30px;
    margin-bottom: 30px;
}
.f_list_sdgs{
    margin-bottom: 30px;
}
.f_list_sdgs ul{
    display: flex;
    justify-content: flex-start
}
.f_list_sdgs ul li:not(:last-child){
    margin-right: 10px;
}

.btn_rec a{
    width: 196px;
    height: 58px;
    border-radius: 6px;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #007bc5;
    font-size: 20px;
    line-height: 1.4em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
}
.btn_rec a span{
    padding-right: 33px;
    background: url(img/common/arrow_1.png) right center no-repeat;
}

#footer .btn_rec a {
    border: solid 2px #007bc5;
}



#copy{
    margin-top: 80px;
    color: #81baff;
    font-size: 90%;
    line-height: 1.3em;
    letter-spacing: 0.07em;
    font-weight: 500;
}

.policy_link {
    margin-bottom: 20px;
}
.policy_link a{
    text-decoration: underline;
    color: #007bc5;
}
.policy_link a:hover{
    text-decoration: none;
}

.f_info2{
    width: calc(100% - 660px);
    padding: 80px 5%;
    overflow: hidden;
}
.f_nav{
    text-align: center;
    margin-bottom: 60px;
}
.f_nav li{
    display: inline-block;
    margin-left: 1em;
    margin-right: 1em;
    font-size: 20px;
    line-height: 1.2em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
}
.f_nav li a:after{
    content: "+";
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 300;
    font-size: 120%;
    line-height: 1em;
    margin-left: 5px;
}
.f_nav li a:hover{
    color: #007bc5;
    filter: alpha(opacity=100);
    -moz-opacity:1.0;
    opacity:1.0;
}

.home .f_nav li.mn1 a,
.company .f_nav li.mn2 a,
.service .f_nav li.mn3 a,
.gallery .f_nav li.mn4 a,
.category-news .f_nav li.mn5 a
{
    color: #007bc5;
}





.f_bnr{
    margin-top: 35px;
    width: 100%;
    height: 166px;
    background-color: #fff;
    border-radius: 13px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 23px;
    line-height: 1.3em;
    letter-spacing: 0.07em;
    font-weight: 600;
    color: #007bc5;
}

.f_bnr.x2 li{
    display: inline-block;
/*    vertical-align: middle;*/
}
/*.f_bnr.x2 li.txt{
    margin-right: 40px;
}*/

.f_bnr.x2 li.txt span{
    font-size: 12px;
    line-height: 1.1;
    letter-spacing: 0.04em;
    font-weight: 400;
    vertical-align: super;
}

/*.f_bnr.x2 li.img{
    width: 36%;
}*/

.f_bnr.x2 li.txt{
    width: 100%;
    margin-right: 0;
}
.f_bnr.x2 li.img{
    width: 48%;
    text-align: center;
}


.f_bnr.x1 a{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #007bc5;
}
.f_bnr.x1 a img{
    vertical-align: middle;
}
.f_bnr.x1 a span{
    margin-right: 40px;
}
.f_bnr.x1 a span br{
    display: none;
}
/*  ページトップへ */
#pageTop{
	position:fixed;
	bottom:100px;
	right:20px;
}
@media screen and (max-width:1700px){
    .f_info1{
        width: 35%;
    }
    .f_info2{
        width: 65%;
    }
    
    .f_nav li {
        margin-left: 0.5em;
        margin-right: 0.5em;
        font-size: 19px;
        line-height: 1.2em;
    }
}
@media (min-width:911px) and (max-width:1270px){
    .f_info1{
        padding: 3.9vw 0;
    }
    .f_info1 .add{
        font-size: 1.4vw;
        line-height: 1.8em;
        margin-top: 3.9vw;
        margin-bottom: 2.3vw;
    }
    #copy{
        margin-top: 9vw;
        font-size: 13px;
        line-height: 1.3em;
    }
    .f_info2{
        padding: 4vw 3%;
    }
    .f_nav{
        margin-bottom: 4.7vw;
    }
    .f_nav li{
        font-size: 1.4vw;
        line-height: 1.2em;
    }
    .f_nav li a:after{
        margin-left: 0.03vw;
    }

    .f_bnr{
        margin-top: 2.7vw;
        height: 13vw;
        border-radius: 1vw;
        font-size: 1.8vw;
        line-height: 1.3em;
    }
    .f_bnr.x2 li.txt{
        margin-right: 3.1vw;
    }
    .f_bnr.x2 li.img{
        width: 26.8vw;
    }
    .f_bnr.x1 a span{
        margin-right: 3.1vw;
    }
    .f_bnr.x1 a img{
        width: 7vw;
        height: auto;
    }
}

@media screen and (max-width:910px){
    
    .f_info1{
        width: 100%;
        order: 2;
        padding-bottom: 30px;
    }
    .f_info1 .add{
        font-size: 15px;
        line-height: 1.8em;
        letter-spacing: 0.05em;
        margin-top: 30px;
    }

    .btn_rec a{
        font-size: 18px;
        line-height: 1.4em;
    }
    .btn_rec a span{
        background-size: 14px auto;
    }

    #copy{
        margin-top: 60px;
        font-size: 13px;
        line-height: 1.3em;
        letter-spacing: 0;
    }
    
    .f_info2{
        width: 100%;
        order: 1;
        padding-top:60px;
        padding-bottom: 60px;
    }
    .f_nav{
        margin-bottom: 30px;
    }
    .f_nav li{
        margin-left: 0.8em;
        margin-right: 0.8em;
        font-size: 16px;
        line-height: 1.2em;
    }
    .f_nav li a:hover{
        color: #007bc5;
        filter: alpha(opacity=100);
        -moz-opacity:1.0;
        opacity:1.0;
    }
    .f_bnr{
        height: auto;
        padding: 20px;
        font-size: 20px;
        line-height: 1.3em;
    }
    .f_bnr.x2 li.img{
        width: 47%;
    }
    .f_bnr.x1 a span{
        margin-right: 20px;
    }

}

@media screen and (max-width:640px){
    #copy{
        text-align: center;
    }
    .f_info2 {
        padding: 40px 8%;
    }
    .f_nav{
        display: none;
    }
    .f_bnr{
        margin-top: 20px;
        border-radius: 10px;
    }
    .f_bnr.x1 a span,
    .f_bnr.x1 a span br{
        display: inline-block;
        text-align: left;
        vertical-align: middle;
    }
    .f_bnr.x1 a img{
        width: auto;
        height: 80px;
    }
    #pageTop img{
        width:50px;
        height:auto;
    }
}
@media screen and (max-width:520px){
    .f_bnr {
        font-size: 19px;
        line-height: 1.3em;
        letter-spacing: 0;
    }
    .f_bnr.x2 li.img{
        width: 100%;
    }
    .f_bnr.x2 li.img:nth-child(2){
        margin-top: 15px;
    }

}












.page_name{
    width: 98%;
    max-width: 1775px;
    height: 478px;
    overflow: hidden;
    margin: 60px auto 120px;
    background-color: #007bc5;
    border-radius: 21px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.page_name .txt{
    width: 90%;
    max-width: 1450px;
    position: relative;
    z-index: 3;
}

.page_name .txt .num{
    font-family: "M PLUS 2", sans-serif;
    font-size: 50px;
    line-height: 1.2em;
    letter-spacing: 0.1em;
    font-weight: 300;
    color: #e6e6e6;
}
.page_name .txt .cap1{
    font-size: 75px;
    line-height: 1.2em;
    letter-spacing: 0.1em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    margin-top: 10px;
    margin-bottom: 10px;
}
.page_name .txt .cap2{
    font-size: 27px;
    line-height: 1.2em;
    letter-spacing: 0.1em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
}
.page_name .img{
    position: absolute;
    left: calc(50% + 110px);
    top: 0;
    width: 700px;
    height: 100%;
    background: url(img/common/page_bg_maru.png) center center no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width:1900px){
    
    .page_name{
        height: 25.1vw;
        margin-top: 3vw;
        margin-bottom: 6vw;
    }
    .page_name .txt .num{
        font-size: 2.6vw;
        line-height: 1.2em;
    }
    .page_name .txt .cap1{
        font-size: 3.9vw;
        line-height: 1.2em;
    }
    .page_name .txt .cap2{
        font-size: 1.4vw;
        line-height: 1.2em;
    }
    .page_name .img{
        left: calc(50% + 5.8vw);
    }
}
@media screen and (max-width:1500px){
    .page_name .img{
        position: absolute;
        left: calc(50% + 7.3vw);
        width: 46.6vw;
        background-size: auto 100%;
    }
    .page_name .img img{
        width: 27vw;
        height: auto;
    }
}
@media screen and (max-width:910px){
    .page_name .txt .num{
        font-size: 28px;
        line-height: 1.2em;
    }
    .page_name .txt .cap2{
        font-size: 20px;
        line-height: 1.2em;
    }
    
}
@media screen and (max-width:640px){
    .page_name{
        height: 200px;
        border-radius: 15px;
    }
    .page_name .txt .num{
        font-size: 22px;
        line-height: 1.2em;
    }
    .page_name .txt .cap1{
        font-size: 30px;
        line-height: 1.2em;
    }
    .page_name .txt .cap2{
        font-size: 18px;
        line-height: 1.2em;
    }
    .page_name .img{
        left: 50%;
        top: 0;
        width: 50%;
        height: 100%;
        background-position: left center;
        justify-content: flex-start;
        padding-left: 65px;
    }
    .page_name .img img{
        width: 164px;
        max-width: none;
        height: auto;
    }
    

}


.w1400{
    width: 90%;
    max-width: 1400px;
    margin: auto;
}
.ttl01{
    margin-bottom: 40px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
}
.ttl01 .en{
    color: #007bc5;
    margin-bottom: 5px;
}
.ttl01 .ja{
    font-size: 40px;
    line-height: 1.2em;
}

.cont_kei{
    padding-bottom: 100px;
    margin-bottom: 120px;
    border-bottom: solid 2px #f2f2f2;
}
@media screen and (max-width:1600px){
    .cont_kei{
        padding-bottom: 6.25vw;
        margin-bottom: 7.5vw;
    }
}
@media screen and (max-width:910px){
    .ttl01 .ja{
        font-size: 30px;
        line-height: 1.2em;
    }
}

@media screen and (max-width:640px){
    .ttl01{
        margin-bottom: 20px;
    }
    .ttl01 .en{
        margin-bottom: 0px;
    }
    .ttl01 .ja{
        font-size: 20px;
        line-height: 1.2em;
    }
    
}










/* TOPページ
-------------------------------*/


.top01{
    width: 90%;
    max-width: 1550px;
    margin: auto;
    padding-top: 130px;
    padding-bottom: 130px;
}
.top01 .txt1{
    font-size: 54px;
    line-height: 1.5em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
    margin-bottom: 20px;
}
.top01 .txt1 br{
    display: none;
}
.top01 .txt2{
    font-size: 18px;
    line-height: 2em;
}
.top01 .txt2 br.sp{
    display: none;
}

.top01 .top-slide .slick-dots{
    visibility: hidden;
    height: 0;
}

@media screen and (max-width:1900px){
    .top01{
        padding-top: 6.8vw;
        padding-bottom: 8vw;
    }
    .top01 .txt1{
        font-size: 2.8vw;
        line-height: 1.5em;
        margin-bottom: 1vw;
    }
    .top01 .txt2{
        font-size: 0.9vw;
        line-height: 2em;
    }
}
@media screen and (max-width:910px){
    .top01{
        padding-bottom: 6vw;
    }
    .top01 .txt1{
        font-size: 6vw;
        line-height: 1.5em;
        margin-bottom: 1.5vw;
    }
    .top01 .txt1 br{
        display: inline-block;
    }

    .top01 .txt2{
        font-size: 2vw;
        line-height: 1.8em;
    }
}
@media screen and (max-width:640px){
    .top01{
/*        background-image: url(img/top/top01_bg_sp.png);
        background-position: right 10px;
        background-repeat:no-repeat;
        background-size: 30% auto;*/
        padding-bottom: 8vw;
    }
    .top01 .txt1{
        font-size: 7.5vw;
        line-height: 1.3em;
        margin-bottom: 5vw;
        text-shadow: 0 0 3px #fff;
    }
    .top01 .txt2{
        font-size: 3.8vw;
        line-height: 1.8em;
    }
    .top01 .txt2 br.sp{
        display: inline-block;
    }
}


@media screen and (min-width:911px){
    .top_main_img {
        width: 95%;
        max-width: 1754px;
        aspect-ratio:1750 / 963;
        margin: auto;
        padding-top: 20px;
        padding-bottom: 20px;
        position: relative;
    }
    .top_main_img .top01 {
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 50;
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);/*左右・上下*/
        width: 90%;
        text-align: center;
        padding: 0;
        margin: 0;
    }
    .top01 .txt1{
        display: inline-block;
        padding: 5px 0px 7px 25px;
        background: url(img/top/bg_w.png);
/*        background-color: rgba(255,255,255,0.7);*/
    }
    .top01 .txt2 span{
        display: inline-block;
        background-color: #fff;
        padding: 3px 10px 5px;
    }


}


.top_copy{
    width: 95%;
    max-width: 1560px;
    margin: auto;
    padding-top: 10px;
    padding-bottom: 40px;
    font-size: 40px;
    line-height: 1.6;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;

}
.top_copy p{
    text-indent: -2em;
    margin-left: 2em;
}
.top_copy br.sp{
    display: none;
}

@media screen and (max-width:1450px){
    .top_copy{
        padding-top: 1.5vw;
        padding-bottom: 3.4vw;
        font-size: 2.7vw;
    }
}
@media screen and (max-width:910px){
    .top_copy{
        width: 90%;
        font-size: 2.9vw;
    }
    .top_copy p{
        text-indent: 0;
        margin-left: 0;
    }
    .top_copy p .d-il{
        display: inline-block;
    }
}
@media screen and (max-width:640px){

    .top_copy{
        font-size: 5vw;
        line-height: 1.6em;
    }

    .top_copy br.sp{
        display: inline-block;
    }

    
}







.top02{
    width: 95%;
    max-width: 1754px;
    margin: auto;
}
.top-slide .img{
    overflow: hidden;
    width: 100%;
    aspect-ratio:1754 / 963;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: 20px;
}
.top-slide .img.bg1{
    background-image: url(img/top/top_img01.jpg);
}
.top-slide .img.bg2{
    background-image: url(img/top/top_img02.jpg);
}
.top-slide .img.bg3{
    background-image: url(img/top/top_img03.jpg);
}
.top-slide .img.bg4{
    background-image: url(img/top/top_img05.jpg);
}

.top-slide .slick-dots {
    text-align: right;
    padding-right: 50px;
}
.top-slide .slick-dots li {
    width: 100px;
    height: 3px;
    margin: 0 0;
}
.top-slide .slick-dots li button{
    width: 100px;
    height: 3px;
    padding: 0px;
}

.top-slide .slick-dots li button::before{
    width: 100px;
    height: 3px;

    content: '';
    text-align: center;
    background-color: #ccc;
}
.top-slide .slick-dots li.slick-active button:before{
    opacity: 1;
    background-color: #007bc5;
}

@media screen and (max-width:910px){

    .top-slide .slick-dots {
        padding-right: 20px;
    }
}

@media screen and (max-width:640px){

    .top02{
        width: 97%;
        padding-bottom: 30px;

    }
    .top-slide .img{
        width: 100%;
        /*aspect-ratio:1 / 1.2;*/
        aspect-ratio:1 / 0.8;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        border-radius: 20px;
    }
    .top-slide .img.bg1{
        background-position: right center;
    }
    .top-slide .img.bg2{
        background-position: left center;
    }
    .top-slide .img.bg3{
    }
    
    .top-slide .slick-dots {
        top: -30px;
        text-align: center;
        padding-right: 0;
    }
    .top-slide .slick-dots li {
        width: 30%;
    }
    .top-slide .slick-dots li button{
        width: 100%;
    }
    .top-slide .slick-dots li button::before{
        width: 100%;
    }

}

.top03{
    border-top: solid 2px #f2f2f2;
    padding-top: 100px;
}
.top03 .txt1{
    width: 230px;
}
.top03 .txt2{
    width: calc(100% - 230px);
}
.top_news_list{
    width: 100%;
    font-size:112%;
    line-height: 1.5em;
    letter-spacing: 0.07em;
}
.top_news_list th{
    width: 220px;
    vertical-align: top;
    color: #999;
    font-family: "M PLUS 2", sans-serif;
    font-weight: 500;
    padding-bottom: 30px;
}
.top_news_list td{
    width: calc(100% - 220px);
    padding-bottom: 30px;
}
.top_news_list td a:hover{
    color: #007bc5;
}

.top03 .txt2 .btn_more{
/*    text-align: r/*ight;*/
    padding-top: 20px;
    padding-left: 220px;
}
.btn_more a span{
    display: inline-block;
    font-size: 20px;
    line-height: 1.5em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 35px;
    background: url(img/common/arrow_2.png) left center no-repeat;
    transition: 0.3s;
}
.btn_more a:hover span{
    color: #007bc5;
} 

/* Wordpress　ウィジェットで出力　*/
.top-post-list{
    width: 100%;
    font-size:112%;
    line-height: 1.5em;
    letter-spacing: 0.07em;
}
.top-post-list li{
    width: 100%;
    padding-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.top-post-list li time{
    display: inline-block;
    width: 220px;
    vertical-align: top;
    color: #999;
    font-family: "M PLUS 2", sans-serif;
    font-weight: 500;
    order: 1;
}
.top-post-list li a{
    display: inline-block;
    width: calc(100% - 220px);
    order: 2;
}

@media screen and (max-width:1600px){
    .top03{
        padding-top: 6vw;
    }
}
@media screen and (max-width:1240px){
    .top_news_list th{
        width: 150px;
    }
    .top_news_list td{
        width: calc(100% - 150px);
    }
    
    .top-post-list li time{
        width: 160px;
    }
    .top-post-list li a{
        width: calc(100% - 160px);
    }
    .top03 .txt2 .btn_more{
        padding-left: 160px;
    }
    
}
@media screen and (max-width:910px){
    
    .top03 .txt1{
        width: 100%;
    }
    .top03 .txt2{
        width:  100%;
    }
    .top_news_list{
        font-size:100%;
        line-height: 1.5em;
        letter-spacing: 0;
    }
    .top_news_list th{
        padding-bottom: 20px;
    }
    .top_news_list td{
        padding-bottom: 20px;
    }
    .btn_more a span{
        font-size: 16px;
        line-height: 1.5em;
    }
    .top-post-list {
        font-size:100%;
        line-height: 1.5em;
        letter-spacing: 0;
    }
    .top-post-list li{
        padding-bottom: 20px;
    }

}


@media screen and (max-width:640px){
    .top_news_list tr{
        border-bottom: dashed 1px #ccc;
    }
    .top_news_list th{
        display: inline-block;
        width: 100%;
        padding-bottom: 0;
        padding-top: 15px;
    }
    .top_news_list td{
        display: inline-block;
        width: 100%;
        padding-bottom: 15px;
    }
    .top03 .txt2 .btn_more{
        margin-top: 30px;
        padding-left: 0;
        padding-top: 0;
        text-align: center;
    }
    
    .top-post-list li{
        padding-top: 10px;
        padding-bottom: 10px;
        border-bottom: dashed 1px #ccc;

    }


    .top-post-list li time{
        width: 100%;
    }
    .top-post-list li a{
        width: 100%;
    }

    
    
}

.top-cat{
    width: 90%;
    max-width: 1620px;
    margin: 0 auto 20px;
    color: #007bc5;
    font-size: 30px;
    line-height: 1.2em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
}
.top-ttl{
    margin-bottom: 40px;
}
.top-ttl .num{
    color: #e6e6e6;
    font-size: 50px;
    line-height: 1.2em;
    letter-spacing: 0.07em;
    font-family: "M PLUS 2", sans-serif;
    font-weight: 300;
    margin-bottom: 20px;
}
.top-ttl .ja{
    font-size: 75px;
    line-height: 1.2em;
    letter-spacing: 0.07em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;

}

.btn_top a{
    width: 265px;
    height: 78px;
    border: solid 2px #fff;
    border-radius: 6px;
    padding-left: 30px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 27px;
    line-height: 1.2em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    color: #fff;
    background-image: url(img/common/arrow_4_w.png);
    background-repeat: no-repeat;
    background-position: calc(100% - 35px) center;
}
.btn_top.bg_ao a{
    border-color: #007bc5;
    color: #007bc5;
    background-image: url(img/common/arrow_4_b.png);
}


@media screen and (max-width:910px){
    .top-ttl .num{
        font-size: 30px;
        line-height: 1.2em;
        margin-bottom: 10px;
    }
    .top-ttl .ja{
        font-size: 50px;
        line-height: 1.2em;
    }


}

@media screen and (max-width:640px){
    .top-cat{
        font-size: 26px;
        line-height: 1.2em;
    }
    .top-ttl .num{
        font-size: 20px;
        line-height: 1.2em;
    }
    .top-ttl .ja{
        font-size: 40px;
        line-height: 1.2em;
    }
    .btn_top a{
        width: 200px;
        height: 55px;
        padding-left: 20px;
        font-size: 20px;
        line-height: 1.2em;
        background-position: calc(100% - 20px) center;
    }
}











.top04_cont{
    width: 95%;
    max-width: 1774px;
    height: 1000px;
    border-radius: 20px;
    margin: auto;
    background-color:#007bc5;
    background-image: url(img/top/top04_bg_sp.png);
    background-position: 97% center;
    background-size: auto 127%;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 70px;
}
.top04_cont ._in{
    width: 90%;
    max-width: 1550px;
    color: #fff;
}
.top04_cont ._in .cap{
    width: 100%;
    max-width: 480px;
    font-size: 112%;
    line-height: 2em;
    letter-spacing: 0.07em;
}
.top04_cont .btn_top{
    margin-top: 60px;
}
/*.top04_cont .btn_top a{
    margin-left: auto;
} */

@media screen and (max-width:1600px){

    .top04_cont{
        height: 62.5vw;
        padding-bottom: 4.3vw;
        background-position: 150% center;
    }

    .top04_cont .btn_top{
        margin-top: 3.7vw;
    }
}
@media screen and (max-width:910px){

    .top04_cont{
        height: auto;
        display: block;
        padding-top: 40px;
        padding-bottom: 100vw;
        background-position: center 80%;
        background-size: 110% auto;
        position: relative;
    }
    .top04_cont ._in{
        margin: auto;
    }
    .top04_cont ._in .cap{
        max-width: initial;
        max-width: auto;
        font-size: 100%;
        line-height: 2em;
    }

    .top04_cont .btn_top{
        position: absolute;
        left: 0;
        bottom: 40px;
        width: 100%;
        margin-top: 0;
    }
    .top04_cont .btn_top a{
        margin: auto;
    } 
}
@media screen and (max-width:640px){
    .top04_cont{
        padding-bottom: 110vw;
    }
}



.top05_cont{
    background-color: #e3f0f8;
    overflow: hidden;
    padding-top: 80px;
    padding-bottom: 80px;
}
.top05_cont ._in{
    width: 100%;
    max-width: 1920px;
    margin: auto;
}

.top05_cont .txt1{
    width: 36%;
    padding-left: 5%;
    color: #007bc5;
}
.top05_cont .txt1 ._in2{
    width: 100%;
    max-width: 470px;
    margin-left: auto;
}
.top05_cont .txt1 .cap1{
    font-size: 112%;
    line-height: 2em;
}

.top05_cont .txt1 .top-ttl .num{
    color: #007bc5;
}

.top05_cont .txt1 .btn_top{
    margin-top: 70px;
}

.top05_cont .txt2{
    width: 59%;
    background-color: #fff;
    border-radius: 20px 0 0 20px;
    padding: 50px;
}
.top_sev_list{
    width: 100%;
    max-width: 960px;
}
.top_sev_list li:not(:last-child){
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: solid 2px #f2f2f2;
}
.top_sev_list li a{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
}
.top_sev_list li .img{
    width: 32%;
}
.top_sev_list li .cap2{
    width: 63%;
}

.top_sev_list li .cap2 dt{
    margin-bottom: 20px;
    color: #007bc5;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 1.2em;
    letter-spacing: 0.05em;
}

@media screen and (max-width:1240px){
    .top05_cont .txt1{
        width: 100%;
        padding-right: 5%;
        margin-bottom: 30px;
    }
    .top05_cont .txt1 ._in2{
        width: 100%;
        max-width: initial;
        max-width: auto;
    }
    .top05_cont .txt1 .btn_top{
        margin-top: 30px;
    }
    .top05_cont .txt2{
        width: 97%;
        padding: 40px;
        margin-left: auto;
    }
}

@media screen and (max-width:910px){
    .top05_cont{
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .top05_cont .txt1 .cap1{
        font-size: 100%;
        line-height: 2em;
    }
    
    .top_sev_list li .cap2 dt{
        font-size: 26px;
        line-height: 1.2em;
    }
}

@media screen and (max-width:640px){
    .top05_cont{
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .top05_cont .txt2{
        padding: 20px;
    }
    .top_sev_list li .cap2 dt{
        font-size: 22px;
        line-height: 1.2em;
        margin-bottom: 10px;

    }
}
@media screen and (max-width:420px){
    .top05_cont .txt2{
        padding-right: 5%;
    }

    .top_sev_list li .img{
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }
    .top_sev_list li .img img{
        width: 100%;
        aspect-ratio: 5 / 3;
        object-fit: cover;
        object-position: center;
    }
    
    
    .top_sev_list li .cap2{
        width: 100%;
    }

}


.top07_cont{
    width: 95%;
    max-width: 1774px;
    border-radius: 20px;
    margin: auto;
    background-color:#007bc5;
    color: #fff;
}
.top07_cont ._in{
    width: 90%;
    max-width: 1460px;
    margin: auto;
    
}
.top07_cont .txt{
    width: 40%;
    padding-top: 200px;
}
.top07_cont .txt .cap1{
    font-size: 112%;
    line-height: 2em;
    letter-spacing: 0.07em;
}
.top07_cont .txt .btn_top{
    margin-top: 80px;
}
.top07_cont .img{
    width: 57%;
    height: 1000px;
    display: flex;
    justify-content: space-between;
}

.ofs-slide1{
    width: 48%;
    max-width: 401px;
    height: 100%;
    background: url(img/top/ofs_tate1.png) center center repeat-y;/* 縦の時は　repeat-y */
    -moz-animation: kurukuru 20s linear infinite;
    animation: kurukuru 20s linear infinite;
}
/* スクロールの矢印　縦にスクロール　 */
@keyframes kurukuru {
    0% {background-position: 0 0;}
    100% {background-position: 0 1305px;}
}

@-moz-keyframes kurukuru {
    0% {background-position: 0 0;}
    100% {background-position: 0 1305px;}
}

.ofs-slide2{
    width: 48%;
    max-width: 401px;
    height: 100%;
    background: url(img/top/ofs_tate2.png) center center repeat-y;/* 縦の時は　repeat-y */
    -moz-animation: re-kurukuru 20s linear infinite;
    animation: re-kurukuru 20s linear infinite;
}
/* スクロールの矢印　縦にスクロール　 */
@keyframes re-kurukuru {
    0% {background-position: 0 1305px;}
    100% {background-position: 0 0;}
}

@-moz-keyframes re+kurukuru {
    0% {background-position: 0 1305px;}
    100% {background-position: 0 0;}
}
.ofs-slide3{
    display: none;
}

@media screen and (max-width:1750px){
    .top07_cont .img{
        height: 57vw;
    }

    .ofs-slide1{
        background-size: 100% auto;
    }
    .ofs-slide2{
        background-size: 100% auto;
    }
}
@media screen and (max-width:1280px){
    .top07_cont .txt{
        padding-top: 6vw;
    }
    .top07_cont .txt .btn_top{
        margin-top: 30px;
    }
    .top07_cont .img{
        height: 700px;
    }
}

@media screen and (max-width:910px){
    .top07_cont{
        padding-bottom: 30px;
    }
    .top07_cont .txt{
        width: 100%;
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .top07_cont .txt .cap1{
        font-size: 100%;
        line-height: 2em;
    }
    .top07_cont .img{
        width: 100%;
        height: auto;
        display: block;
        text-align: center;
    }
    .ofs-slide1{
        display: none;
    }
    .ofs-slide2{
        display: none;
    }
    .ofs-slide3{
        display: block;
    }
    .ofs-img1 .ig{
        padding-left: 5px;
        padding-right: 5px;
    }
    .ofs-img2 .ig{
        padding-left: 5px;
        padding-right: 5px;
    }
}


.top08.cont_kei{
    border-bottom: none;
}
.top08 .top-cat{
    text-align: right;
}
.top08_cont{
    width: 90%;
    max-width: 1670px;
    margin: auto;
}
.top08_cont .txt1{
    width: 30%;
    text-align: right;
}
.top08_cont .txt1 .top-ttl{
    color: #007bc5;
    display: inline-block;
    text-align: left;
}
.top08_cont .txt1 .top-ttl .num{
    color: #007bc5;
}
.top08_cont .txt2{
    width: 60%;

}
.top_cont_list{
    border-top: solid 2px #007bc5;
}
.top_cont_list li{
    border-bottom: solid 2px #007bc5;
    padding: 40px;
}
.top_cont_list li a{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.top_cont_list li a .img{
    width: 49%;
}
.top_cont_list li a .cap{
    width: 45%;
}
.top_cont_list li a .cap dt{
    color: #007bc5;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 1.2em;
    letter-spacing: 0.07em;
    margin-bottom: 20px;
}
.top_cont_list li a .cap .more{
    text-align: right;
    margin-top: 80px;
    
}
.top_cont_list li a .cap .more span{
    display: inline-block;
    font-size: 20px;
    line-height: 1.5em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 35px;
    background: url(img/common/arrow_2.png) left center no-repeat;
    transition: 0.3s;
}

@media screen and (max-width:1550px){
    .top08_cont .txt1{
        width: 40%;
        text-align: left;
    }
    .top08_cont .txt2{
        width: 60%;
    }
    .top_cont_list li{
        padding: 2.5vw 1.25vw;
    }
    .top_cont_list li a .cap dt{
        font-size: 30px;
        line-height: 1.2em;
        letter-spacing: 0.07em;
    }
    .top_cont_list li a .cap .more{
        margin-top: 30px;
    }
}

@media screen and (max-width:1200px){
    .top08 .top-cat{
        display: none;
    }
    .top08_cont .txt1{
        width: 100%;
    }
    .top08_cont .txt2{
        width: 100%;
    }
    .top_cont_list{
        width: 100%;
        max-width: 900px;
        margin: auto;
    }

}
@media screen and (max-width:910px){
    .top_cont_list li a .cap dt{
        font-size: 22px;
        line-height: 1.2em;
        margin-bottom: 10px;
    }
    .top_cont_list li a .cap .more{
        margin-top: 10px;
    }
    .top_cont_list li a .cap .more span{
        font-size: 16px;
        line-height: 1.5em;
    }
}

@media screen and (max-width:420px){
    .top_cont_list li{
        padding: 20px;
    }

    .top_cont_list li a .img{
        width:100%;
        text-align: center;
        margin-bottom: 10px;
    }
    .top_cont_list li a .cap{
        width:100%;
    }
    .top_cont_list li a .cap dt{
        font-size: 20px;
        line-height: 1.2em;
        margin-bottom: 5px;
    }
    .top_cont_list li a .cap .more{
        margin-top: 0;
    }

}



















@media screen and (max-width:910px){

}

@media screen and (max-width:640px){

}



















@media screen and (max-width:910px){

}

@media screen and (max-width:640px){

}
















/* 会社概要
-------------------------------*/
.company main{
    background-image: url(img/common/bg_kei_kaku.png);
    background-position: calc(50% - 310px) top;
    background-repeat: repeat-y;
    padding-bottom: 1px;
}
.com_cont .txt1{
    width: 400px;
}
.com_cont .txt2{
    width: calc(100% - 490px);
}
@media screen and (max-width:1555px){
    .company main{
        background-position: calc(5% + 350px) top;
    }
    .com_cont .txt1{
        width: 350px;
    }
    .com_cont .txt2{
        width: calc(100% - 420px);
    }
}
@media screen and (max-width:910px){
    .company main{
        background-image: none;
    }
    .com_cont .txt1{
        width: 100%;
    }
    .com_cont .txt2{
        width: 100%;
    }
}
@media screen and (max-width:640px){
}



.com01{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
/*
.com01 .img{
    width: 33%;
}
.com01 .txt_in{
    width: 60%;
}
*/
.com01 .txt_in .name{
    margin-top: 40px;
    text-align: right;
}
.com01 .txt_in .name span{
    font-size: 160%;
    line-height: 1.8em;
}

@media screen and (max-width:1200px){
    .com01 .img{
        width: 100%;
        text-align: center;
        margin-bottom: 30px;
    }
    .com01 .txt_in{
        width: 100%;
    } 
}
@media screen and (max-width:640px){
    .com01 .img img{
        width: 70%;
        max-width: 200px;
        height: auto;
    }
    .com01 .txt_in .name{
        margin-top: 20px;
    }
    .com01 .txt_in .name span{
        font-size: 130%;
        line-height: 1.8em;
    }
}

.com02{
    font-size: 29px;
    line-height: 1.8em;
    letter-spacing: 0.07em;
}
@media screen and (max-width:1200px){
    .com02{
        font-size: 2.4vw;
        line-height: 1.8em;
    }
}
@media screen and (max-width:910px){
    .com02{
        font-size: 26px;
        line-height: 1.8em;
        letter-spacing: 0.07em;
    }
}

@media screen and (max-width:640px){
    .com02{
        font-size: 19px;
        line-height: 1.8em;
    }
    .com02 p br{
        display: none;
    }
}

.com03{
    font-size: 29px;
    line-height: 1.8em;
    letter-spacing: 0.07em;
}
.com03 li{
    text-indent: -1em;
    margin-left: 1em;
    line-height: 1.5em;
    margin-bottom: 10px;
}
.com03 li span{
    color: #007bc5;
}
@media screen and (max-width:1200px){
    .com03{
        font-size: 2.4vw;
        line-height: 1.8em;
    }

}
@media screen and (max-width:910px){
    .com03{
        font-size: 26px;
        line-height: 1.8em;
        letter-spacing: 0.07em;
    }
}

@media screen and (max-width:640px){
    .com03{
        font-size: 18px;
        line-height: 1.8em;
    }

}

/* 会社概要 */
.gaiyou{
    width: 100%;
}
.gaiyou tr{
    border-bottom: solid 2px #f2f2f2;
}
.gaiyou th{
    width: 35%;
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: 50px;
    vertical-align: top;
}
.gaiyou td{
    width: 65%;
    padding-top: 50px;
    padding-bottom: 50px;
    padding-left: 10px;
}
.gaiyou td .map{
    display: inline-block;
    margin-left: 1em;
}
.gaiyou td .map img{
    vertical-align: middle;
}

.gaiyou td ._jigo li{
    text-indent: -1.6em;
    margin-left: 1.6em;
    line-height: 1.5em;
    margin-bottom: 10px;
}
.gaiyou td ._jigo li span.f_ao{
    padding-right: 3px;
}
.gaiyou td ._kyoka{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.gaiyou td ._kyoka dt{
    width: 175px;
    line-height: 1.5em;
    color: #007bc5;
    vertical-align: top;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
}
.gaiyou td ._kyoka dt span:nth-child(1){
    flex-grow: 0;
}
.gaiyou td ._kyoka dt span:nth-child(2){
    flex-grow: 1;
    height: 0.8em;
    margin-left: 5px;
    border-bottom: solid 1px #999;
}
.gaiyou td ._kyoka dd{
    width: calc(100% - 185px);
    line-height: 1.5em;
    margin-bottom: 15px;
}
@media screen and (max-width:1600px){
    .gaiyou th{
        padding-left: 10px;
    }
}
@media (min-width:911px) and (max-width:1260px){
    .gaiyou td ._kyoka dt{
        width: 100%;
        margin-bottom: 0;
    }
    .gaiyou td ._kyoka dd{
        width: 100%;
        padding-left: 1em;
    }
}
@media screen and (max-width:910px){
    .gaiyou th{
        width: 25%;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .gaiyou td{
        width: 75%;
        padding-top: 30px;
        padding-bottom: 30px;
        padding-left: 20px;
    } 
}
@media screen and (max-width:640px){
    .gaiyou th{
        display: inline-block;
        width: 100%;
        padding: 10px;
        background-color: #f1f1f1;
    }
    .gaiyou td{
        display: inline-block;
        width: 100%;
        padding: 10px 10px 30px 10px;
    } 
    .gaiyou td ._kyoka dt{
        width: 100%;
        margin-bottom: 5px;
    }
    .gaiyou td ._kyoka dd{
        width: 100%;
        padding-left: 1em;
    }
}

/* パンフ　ダウンロード */
.com05 .img{
    display: inline-block;
    vertical-align: middle;
    margin-right: 40px;
}
.com05 .btn_rec{
    display: inline-block;
    vertical-align: middle;
}

.com05 .btn_rec a{
    border: solid 2px #007bc5;
}
.com05 .btn_rec a:hover{
    background-color: #e3f0f8;
}
.com05 .btn_rec a span {
    background-image: url(img/common/arrow_3.png);
}
@media screen and (max-width:1240px){
    .com05 .img{
        width: 40%;
        margin-right: 20px;
    }
}
@media screen and (max-width:480px){
    .com05 .img{
        width: 100%;
        padding: 0 10%;
    
        display: block;
        text-align: center;
        margin-right: 0;
        margin-bottom: 30px;
    } 
    .com05 .btn_rec{
        width: 100%;
        display: block;
    }
    .com05 .btn_rec a{
        margin: auto;
    }
}















/* 事業案内
-------------------------------*/
.sev_list li{
    width: 48%;
    margin-bottom: 40px;
    background-color: #f2f2f2;
    border-radius: 25px;
    padding: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sev_list li .img{
    width: 46%;
}
.sev_list li .txt{
    width: 50%;
}
.sev_list li .txt dt{
    color: #007bc5;
    font-size: 26px;
    line-height: 1.3em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    margin-bottom: 20px;
}

@media screen and (max-width:1600px){
    .sev_list li{
        margin-bottom: 2.5vw;
        padding: 2.5vw;
    }
    .sev_list li .txt dt{
        font-size: 22px;
        line-height: 1.3em;
        margin-bottom: 15px;
    }
    
}

@media screen and (max-width:910px){
    .sev_list li{
        margin-bottom: 30px;
        padding: 30px;
    }

    .sev_list li{
        width: 100%;
        max-width: 670px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px;
    }

}

@media screen and (max-width:640px){

    .sev_list li{
        padding: 30px 20px;
        border-radius: 15px;
    }
    .sev_list li .txt dt{
        font-size: 19px;
        line-height: 1.3em;
        margin-bottom: 10px;
    }
}
@media screen and (max-width:420px){
    .sev_list li{
        padding: 20px;
    }
    .sev_list li .img{
        width: 100%;
        margin-bottom: 20px;
    }
    .sev_list li .txt{
        width: 100%;
    }

    
}










/* 社内風景
-------------------------------*/
.gallery_list{
    width: 100%;
    max-width: 1350px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.gallery_list li{
    display: inline-block;
    width: 30%;
    margin-left: 1.5%;
    margin-right: 1.5%;
    margin-bottom: 50px;
}
.gallery_list li p{
    margin-top: 10px;
}
@media screen and (max-width:910px){
    .gallery_list li{
        width: 46%;
        margin-left: 2%;
        margin-right: 2%;
        margin-bottom: 30px;
    }
    .gallery_list li p{
        margin-top: 3px;
    }

}
@media screen and (max-width:640px){
    .gallery_list li{
        margin-bottom: 30px;
    }
    .gallery_list li p{
        margin-top: 5px;
    }

}

@media screen and (max-width:480px){
    .gallery_list li{
        width: 100%;
        margin-left: 0%;
        margin-right: 0%;
        margin-bottom: 20px;
    }

}






/* 紹介マンガ
-------------------------------*/
body.prm{
    background-color: #e3f0f8;
    background-image: none;
    
}
body.prm #header{
    display: none;
}
body.prm #footer{
    display: none;
}











/* お知らせ一覧
-------------------------------*/
.news_list{
    padding-bottom: 100px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.news_list #side{
    width: 300px;
    order: 1;
}
.news_list #main{
    width: calc(100% - 350px);
    order: 2;
}

.news_list_item{
    width: 100%;
    padding-bottom: 50px;
    margin-bottom: 80px;
    border-bottom: solid 2px #f2f2f2;
    letter-spacing: 0.07em;
}

.news_list_item .post_ttl{
    font-size: 20px;
    line-height: 1.5em;
    text-indent: -1em;
    margin-left: 1em;
}
.news_list_item .post_ttl a:hover{
    text-decoration: underline;
}
.news_list_item .post_ymd{
    margin-top: 10px;
    margin-left: 20px;
    color: #999;
    font-family: "M PLUS 2", sans-serif;
    font-weight: 500;
}

.pager{
    text-align:center;
    display: flex;
    justify-content: center;
    align-items: center;
}
a.page-numbers,
.pager .current{
    border-bottom: solid 2px #ccc;
    padding:5px 8px;
    margin:0 3px;
}
.pager .current{
    border-bottom-color: #007bc5;
    color:#007bc5;
}
.pager .next{
    float:none;
}


a.page-numbers.next,
a.page-numbers.prev{
    background-color: transparent;
    border: none;
}

.pager .next span{
    padding: 5px 30px 5px 0;
    background: url(img/common/arrow_2.png) right center no-repeat;
    font-size: 115%;
}
.pager .prev span{
    padding: 5px 0 5px 30px;
    background: url(img/common/arrow_2_pre.png) left center no-repeat;
    font-size: 115%;
}


.news_list #side .widget_block{
    margin-bottom: 50px;
}

.news_list #side .widget_block li{
    font-size: 90%;
    line-height: 1.3em;
    margin-bottom: 8px;
}

.news_list #side .widget_block li a:hover{
    color: #007bc5;
}


.news_list #side h2.wp-block-heading{
    color: #007bc5;
    font-size: 115%;
    line-height: 1.3em;
    padding-bottom: 5px;
    border-bottom: solid 1px #81baff;
    margin-bottom: 10px;
}
.news_list .ttl_list{
    color: #007bc5;
    font-weight: 700;
    margin-bottom: 30px;
}
.news_list .ttl_list:before{
    content: "■";
    padding-right: 0.5em;
}
.news_list #main-cat{
    width: 100%;
}
.news_list_item .post_ttl.acv{
    padding-left: 1em;
}


.gallery-cat-list{
    width: 100%;
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.gallery-cat-list li{
    margin: 10px;
}
.gallery-cat-list li a{
    display: inline-block;
    text-align: center;
    padding: 3px 1em;
    border: solid 1px #007bc5;
    color: #007bc5;
    border-radius: 3px;
    transition: 0.3s;
}
.gallery-cat-list li.current-cat a,
.gallery-cat-list li a:hover{
    background-color: #007bc5;
    color: #fff;
}


@media screen and (max-width:910px){
    .news_list #side{
        width: 100%;
        order: 2;
        margin-top: 50px;
    }
    .news_list #main{
        width: 100%;
        order: 1;
    }
    .news_list #side .widget_block{
        margin-bottom: 30px;
    }

    .news_list_item .post_ttl.acv{
        padding-left: 0;
    }
    .gallery-cat-list li{
        margin: 5px;
    }

}


@media screen and (max-width:640px){

    .news_list_item{
        padding-bottom: 20px;
        margin-bottom: 30px;
    }

    .news_list_item .post_ttl{
        font-size: 16px;
        line-height: 1.5em;
    }
    .news_list_item .post_ymd{
        margin-top: 5px;
    }
    .news_list #side{
        padding: 20px;
        background-color: #f2f2f2;
    }

    
}




/* お知らせ -　single page
-------------------------------*/
#main-cont{
    margin-bottom: 100px;
}
.page_name .txt .cap3{
    font-size: 23px;
    line-height: 1.2em;
    font-family: "M PLUS 2", sans-serif;
    font-weight: 500;
    letter-spacing: 0.07em;
}

.single h2, .page h2 {
    padding: 0;
    margin: 0;
    font-size: 35px;
    line-height: 1.3em;
    letter-spacing: 0.07em;
    color: #1a1a1a;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    border-left: none;
    padding-left: 50px;
    padding-bottom: 30px;
    border-bottom: solid 2px #f2f2f2;
    margin-bottom: 40px;
    position: relative;
}
.single h2:before,
.page h2:before{
    position: absolute;
    top: 0.2em;
    left: 25px;
    width: 5px;
    height: 1em;
    background-color: #007bc5;
    content: "";
}


.entry_content figure.wp-block-image{
    padding: 15px;
}

/*.spac figure{
    padding: 15px;
}*/

.post_link .next a{
    padding: 5px 30px 5px 0;
    background: url(img/common/arrow_2.png) right center no-repeat;
    font-size: 115%;
}
.post_link .previus a{
    padding: 5px 0 5px 30px;
    background: url(img/common/arrow_2_pre.png) left center no-repeat;
    font-size: 115%;
}

.post_link .btn_top{
    clear: both;
    width: 100%;
    padding-top: 20px;
}
.post_link .btn_top a{
    margin: auto;
    width: 360px;
}

/*　ギャラリー　キャプション　*/
/*　背景高さ　変更　*/
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
    max-height: 20% !important;
}

/*　背景ぼかし　削除　*/
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
    -webkit-backdrop-filter: blur(0) !important;
    backdrop-filter: blur(0) !important;
}
/* 背景色　削除 */
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    background: none !important;
}
/* 縦横比固定 */
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a,
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
    aspect-ratio: 1.4 / 1;
}
@media screen and (max-width:910px){
    .page_name .txt .cap3{
        margin-top: 20px;

        font-size: 20px;
        line-height: 1.2em;
    }

    .single h2,
    .page h2 {
        font-size: 30px;
        line-height: 1.3em;
        padding-left: 30px;
        padding-bottom: 20px;
    }
    .single h2:before,
    .page h2:before{
        left: 0;
    }
    .entry_content figure.wp-block-image{
        padding: 10px;
    }

/*    .spac figure{
        padding: 10px;
    }
*/
    .post_link .btn_top a{
        margin: auto;
        width: 260px;
    }
    
    
}

@media screen and (max-width:640px){

    .page_name .txt .cap3{
        font-size: 15px;
        line-height: 1.2em;
    }
    .single h2,
    .page h2 {
        font-size: 22px;
        line-height: 1.3em;
        padding-bottom: 10px;
        margin-bottom: 20px;
    }
    .entry_content figure.wp-block-image{
        padding: 5px;
    }

/*    .spac figure{
        padding: 5px;
    }
*/

    
    
}











/* 03社内風景　スライダー画像  */

.ifs-box {
    width: 48%;
    overflow: hidden;
}


.ifs1{
    width: 100%;
    max-width: 410px;
}
.ifs2{
    width: 100%;
    max-width: 410px;
}

.ifs1 li,
.ifs2 li{
    padding: 10px;
}
.ifs1 li img,
.ifs2 li img{
    border-radius: 20px;
    width: 100%;
    aspect-ratio: 1.37 / 1;
    object-fit: cover;
    object-position: center;
}


@media screen and (max-width:910px){
    .ifs-box {
        width: 100%;
        overflow: hidden;
    }
    .ifs1 li,
    .ifs2 li{
        width: 30vw;
    }
    .ifs1 li img,
    .ifs2 li img{
        border-radius: 10px;
    }

}
@media screen and (max-width:640px){
    .ifs1 li,
    .ifs2 li{
        width: 40vw;
        padding: 5px;
    }

}









/* プライバシーポリシー
-------------------------------*/

.w1200{
    width: 90%;
    max-width: 1200px;
    margin: auto;
}
.policy_cont section{
    margin-top: 80px;
}
.policy_cont section:last-child{
    margin-bottom: 100px;
}

.policy_cont section ._in{
    margin-left: 50px;
}
.policy_cont section ol,
.policy_cont section ul{
    margin-left: 1em;
    padding: 5px 0;
}
.policy_cont section ol li,
.policy_cont section ul li{
    list-style: decimal;
}
.policy_cont section ul ul li{
    list-style: disc;
}
.policy_cont section ul ul li{
    list-style: square;
}






/* layout */
.f_ao{
    color: #007bc5;
}
.clear {
    clear: both;
}
.ar {
    text-align: right;
}
.ac {
    text-align: center;
}
.strong {
    font-weight: bold;
}

/* プリントの表示設定 */
@media print {
    body {
        zoom: 0.68;
        -webkit-print-color-adjust: exact;
    }

}


