@charset "utf-8";
:root {
	--color-black: #00122D;
	--color-white: #fff;
	--color-gray: #fbfbfb;
	--color-gray2: #E6EAF1;
	--color-gray3: #EFF0F2;
	--color-gray4: #5d6b77;
	--color-gray5: #D9D9D9;
	--color-red: #ff0000;
	--color-green: #005020;
	--color-green2: #197162;
	--color-blue2: #349ed8;
	--color-blue: #012760;
	--color-blue2: #07295C;
	--color-blue3: #001529;
	--color-blue4: #022B69;
	--color-blue5: #001122;
	--color-blue6: #002344;
	--color-blue7: #11151C;
	--color-blue8: #12151c;
	--color-blue-rgb: 1, 39, 96;
	--color-blue4-rgb: 2, 43, 105;
	--color-gray3-rgb: 239, 240, 242;
	--font-zenkaku: "Zen Kaku Gothic New", sans-serif;
	--font-mincho: "Zen Old Mincho", serif;
	--font-open-sans: "Open Sans", sans-serif;
}
/* .hoge {
  background: var(--color-green);
} */

/* 202511伊藤 */
body{
    font-family: var(--font-zenkaku);
    font-style: normal;
    font-weight: 500;
}
.zen-old-mincho-medium {
    font-family: "Zen Old Mincho", serif;
    font-weight: 500;
    font-style: normal;
  }

.zen-kaku-gothic-new-regular {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
  }

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}
  .zen-kaku-gothic-new-bold {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
  }

  .zen-kaku-gothic-new-black {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 900;
    font-style: normal;
  }
.zen-old-mincho-medium {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  font-style: normal;
}

.font-mincho{
    font-family: var(--font-mincho);
}
.font-open-sans{
    font-family: var(--font-open-sans);
}
.font-zenkaku{
    font-family: var(--font-zenkaku);
}


/*
.open-sans-<uniquifier> {
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
    font-variation-settings:
      "wdth" 100;
  }
  */
@media (min-width:1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1200px
    }

}



/* header */
.site-header{
    position: fixed;
    top: 0;left: 0;
    width: 100%;
    padding-top: 26px;
    z-index: 1000;
    background: none!important;
    border: none!important;
    box-shadow: none!important;
	transition:background-color 1.0s ease;
}

@media (min-width:1024px) {
.header_scrolled .site-header{
	background-color:rgba(0,21,41,0.4)!important;
	padding-bottom:30px;
		}
}
	
	

.site-header-logo{
    margin: 0;
    padding: 0;
    width: 195px!important;
    flex-shrink: 0;

}

.site-header--layout--nav-float .site-header-container{
    width: 1200px;
    padding-right:60px;
    padding-left:60px;
    max-width:100%;
    margin: auto;
    display: flex;
    justify-content: space-between;

}
.site-header-contact{
    padding: 16px 20px;
    background-color: rgba(255,255,255,0.84);
    color: var(--color-blue);
    text-decoration: none;
    font-size: 16px;
    line-height: 100%;
    display:flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 180px;
    max-width: 20%;
    max-height: 48px;
    border-radius: 16px;
    justify-self: center;
    align-self: center;
    border: 1px solid var(--color-white);

}

body#bg_white .site-header-contact{
    background-color: var(--color-blue8)!important;
    color: var(--color-white)!important;
    border: 1px solid var(--color-white)!important;
}
@media (max-width:1023px) {
    .site-header--layout--nav-float .site-header-container{
        display: none;
    }
    .site-header-contact{
        display: none;

    }
}

/* global-nav */
.global-nav--layout--float-right{
    margin: 0!important;
}
.device-pc .global-nav-list{
    margin: auto;
}
.device-pc .global-nav-list>li>a{
        color: var(--color-white)!important;
        padding-right: 20px;
        padding-left: 20px;
}
body#bg_white.device-pc .global-nav-list>li>a{
    color: var(--color-blue8)!important;
}



.c-midashi-01{
    font-size: clamp(40px, 5vw, 72px);
    font-weight: 500;
    font-style: normal;
    font-family: var(--font-open-sans);
    color: var(--color-white);
    border: 0;
    line-height: 1;
    padding: 0;
}
.c-midashi-01 span{
    display: block;
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 500;
    margin-bottom: 10px;
    font-family: var(--font-zenkaku);
    font-style: normal;
    line-height: 1;

}
.c-midashi-02{
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 500;
    font-style: normal;
    text-align: center;
    font-family: var(--font-open-sans);
    border: 0;
    line-height: 1;
    padding: 0;
}
.c-midashi-02.white{
    color: var(--color-white);
}
/* home */

.home .site-body{
    display: none;
}

.site-body{
    background-color: var(--color-blue8);
    color: var(--color-white);
    padding-top: 100px;
}
body#bg_white {
    background-color: var(--color-white)!important;
    color: var(--color-blue8)!important;
}
body#bg_white .site-body{
    background-color: var(--color-white)!important;
    color: var(--color-blue8)!important;
}


.breadcrumb{
    background-color: var(--color-blue7);
}


.breadcrumb ,.breadcrumb a,.breadcrumb span{
    color: var(--color-white);
 }
 body#bg_white .breadcrumb , body#bg_white .breadcrumb a, body#bg_white .breadcrumb span{
    border: none!important;
    background-color: var(--color-white)!important;
    color: var(--color-blue8)!important;
  }

 body{
    background-color: var(--color-blue7);
     padding-top: 100px;
 }
 body.home {
     padding-top: 0;
 }

@media (max-width:1023px) {
    .site-body{
        background-color: var(--color-blue8);
        color: var(--color-white);
    }
    body{
        background-color: var(--color-blue7);
        padding-top: 60px;
    }
    body#bg_white {
        background-color: var(--color-white)!important;
        color: var(--color-blue8)!important;
    }
    body#bg_white .site-body{
        background-color: var(--color-white)!important;
        color: var(--color-blue8)!important;
    }
    body.home {
        background-color: var(--color-white);
        padding-top: 0;
    }

}




.p-top-hero{

    width: 100vw;
    height: 100dvh;
    position: relative;
    overflow: hidden;
    border-radius: 0;
    border: none;
    box-shadow: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-top-hero .p-top-hero-title{

    font-family: var(--font-mincho);
    font-size: clamp(20px, 5vw, 53px);
    line-height: 100%;
    font-weight: 500;
    font-style: normal;
    color: var(--color-white);
    text-align: center;
    z-index: 2;
}
.p-top-hero:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-blue);
    z-index: 1;
    opacity: 0.58;


}

.p-top-hero-vido{
    position:absolute;
    top:0;
    left:0;
    width:100vw;
    height:100vh;
    object-fit:cover;
    z-index:0;
}



.p-top-about{
    border-radius: 0;
    background-color: var(--color-blue3);
    margin: 0;
    padding: 0 0 0 clamp(80px, 5vw, 160px) ;
    color: var(--color-white);
    position: relative;
}
@media (max-width:1023px) {

    .p-top-about{
        padding: 0 clamp(20px, 4vw, 40px) ;
    }

}

.p-top-about .p-top-about__inner{
    width: 1320px;
    max-width: 100%;
    margin: auto;
}


.p-top-about:after{
    content: '';
    position: absolute;
    top: -30px;
    left: 0;
    width: 100vw;
    height: 76px;
    background:url(../images/img_hero_bottom.svg) no-repeat center center;
    background-size: cover;
    z-index: 2;

}

.p-top-about .p-top-about__left{
    width: 700px;
    max-width: 100%;
    padding-top: 140px;
    padding-bottom: 130px;
    position: relative;
    z-index: 2;

}
.p-top-about .p-top-about__right{
    width: 890px;
    max-width: 50%;
    margin-right: 0;
    margin-top: -30px;
    position: absolute;
    top: 0;right: 0;
    z-index: 3;
}
.p-top-about h2{
    margin-bottom: 40px;
}
.p-top-about .p-top-about-catch{
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 600;
    white-space: nowrap;
    font-style: normal;
    margin-bottom: 15px;
    font-family: var(--font-mincho);
}
.p-top-about .p-top-about-text{
    line-height: 1.7;
}
.p-top-about-image img{
    max-width: 100%;height: auto;

}

.p-top-about__flow{
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-blue3);
    gap: 0;
}
.p-top-about__flow figure {
    position: relative;
    max-width: 25%;
    width:25%;
    aspect-ratio: 420 / 470;
    overflow: hidden;
    margin-bottom: 0!important;
}
.p-top-about__flow figure:before,.p-top-about__flow figure:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-blue);
    z-index: 1;
    opacity: 0.09;

}
.p-top-about__flow figure img{
    width: 100%;height: auto;
}
.p-top-about__flow figure figcaption{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 45px;
    display: flex;
    z-index: 3;
}
.p-top-about__flow figure figcaption span{
    font-weight: 600;
    font-style: normal;
    color: var(--color-white);
}
.p-top-about__flow figure figcaption span:first-child{
    width: 45px;
    height: 45px;
    font-size: 20px;
    font-family: var(--font-open-sans);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-green);

}
.p-top-about__flow figure figcaption span:last-child{
    width: 150px;
    height: 100%;
    display: flex;
    align-items: center;
    padding-left: 1em;
    font-size: 18px;
    letter-spacing: 2px;
    background-color: var(--color-green);
	background: rgba(0, 0, 0, 0.56);
}

@media (max-width:1023px) {
    .p-top-about__flow{
        flex-wrap: wrap;
    }
    .p-top-about__flow figure {
        max-width: 50%  ;
        width:50%;
    }
    .p-top-about__flow figure:before,.p-top-about__flow figure:after {
        content: '';
        position: absolute;

    }
    .p-top-about__flow figure figcaption{
        height: 40px;
    }
    .p-top-about__flow figure figcaption span:first-child{
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
    .p-top-about__flow figure figcaption span:last-child{
        width: 120px;
        font-size: 14px;
    }
}





.p-top-factory{
    border-radius: 0;
    background-color: var(--color-blue3);
    margin: 0;
    padding: 0  clamp(80px, 5vw, 160px) ;
    color: var(--color-white);
    position: relative;
}
.p-top-factory .p-top-factory__inner{
    padding-top: 60px;
    padding-bottom: 50px;
    flw:var(--color-white)
    gap: clamp(80px, 4vw, 130px);
}


@media (max-width:1023px) {
    .p-top-factory{
        padding: 0  clamp(20px, 4vw, 40px) ;
    }
    .p-top-factory .p-top-factory__inner{
        padding-top: 70px;
        padding-bottom: 70px;
        flex-wrap: wrap;
        gap: clamp(20px, 4vw, 40px);
    }



}

.p-top-factory:after{
    content: '';
    position: absolute;
    top: -30px;
    left: 0;
    width: 100vw;
    height: 100px;
    background:url(../images/img_about_bottom.svg) no-repeat center center;
    background-size: cover;
    z-index: 2;

}

.p-top-factory .p-top-factory__left{
    position: relative;
    z-index: 2;

}
.p-top-factory .p-top-factory__right{

}
.p-top-factory .p-top-factory__right p{
    display: none;

}
.p-top-factory h2{
    margin-bottom: 0;
}


.p-top-factory__slides{
    width: 100%;
    max-width: 100%;
    padding-bottom: 140px;
}
.p-top-factory__slides-item{
	width: 100%;
	height: 100%;
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    background-size: contain;
}

.p-top-factory__slides-item__content{
    width: 100%;
    max-width: 100%;
    position: relative;
    padding: 120px 80px 120px calc(100% - 520px);
    z-index: 2;
    background:  url(../images/img_factory_gradation.png) no-repeat 100% 100%;
}

@media (max-width:1023px) {
    .p-top-factory__slides-item__content{
        padding: 20% 20px 40px 20px;
        background: none;
    }
    .p-top-factory__slides-item{
        background-size: contain;
        background-repeat: no-repeat!important;
    }

}


.p-top-factory__slides-item__content:after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(var(--color-blue), 0.15);
}
.p-top-factory__slides-item-title{
    display: block;
    margin-bottom: 40px;
    position: relative;
    z-index: 2;
}
.p-top-factory__slides-item-title span:first-child{
    font-size:clamp(20px, 3vw, 40px);
    font-weight: 600;
    font-style: normal;
    position: relative;
    display: block;
    font-family: var(--font-mincho);
    color: var(--color-white);
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 2px solid var(--color-white);

}
.p-top-factory__slides-item-title span:first-child:after{
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: 2;
    width: 80px;
    height: 2px;
    background-color: var(--color-green2);
}
.p-top-factory__slides-item-title span:last-child{
    font-size: 16px;
    font-weight: 500;
    font-style: normal;
    font-family: var(--font-open-sans);
    color: var(--color-white);
    display: flex;
    justify-content: flex-end;
}
.p-top-factory__slides-item-text{
    font-size: 16px;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}
.p-top-factory__slides-item-link {
    display: flex;
    justify-content: flex-end;
}
.p-top-factory__slides-item-link span{
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    padding: 16px 20px;
    background: rgba(var(--color-blue4-rgb),0.78) url(../images/ico_point.svg) no-repeat calc(100% - 15px) 50%;
    background-size: 12px;
    color: var(--color-white);
    text-decoration: none;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 500;
    width: 196px;height: 48px;
    font-style: normal;
    font-family: var(--font-open-sans);
}
.p-top-factory .slick-arrow{
    position: absolute;
    top: -9%;
    transform: translateY(-50%);
    width: 66px;
    height: 39px;
    border-radius: 16px;
    color: transparent;
    font-size: 0;
    z-index: 10;
    transition: opacity 0.3s ease;
}
.p-top-factory .slick-prev{
    right: 80px!important;
    left: auto!important;
    background:rgba(255,255,255,0.23)  url(../images/slick_prev.svg) no-repeat 50% 50%;
    background-size: 24px 7px;
}
.p-top-factory .slick-next{
    right: 0px!important;
    background:rgba(255,255,255,0.23)  url(../images/slick_next.svg) no-repeat 50% 50%;
    background-size: 24px 7px;

}
.p-top-factory .slick-arrow:before{
    content: '';

}
.p-top-factory .slick-prev:before{
}
.p-top-factory .slick-next:before{
}
.p-top-factory .slick-arrow:hover,
.p-top-factory .slick-arrow:focus-visible{
    opacity: 0.7;
    outline: none;
}

.p-top-factory .slick-prev:hover{
    background:rgba(255,255,255,0.23)  url(../images/slick_prev.svg) no-repeat 50% 50%;
    background-size: 24px 7px;
}
.p-top-factory .slick-next:hover{
    background:rgba(255,255,255,0.23)  url(../images/slick_next.svg) no-repeat 50% 50%;
    background-size: 24px 7px;

}

.p-top-factory .slick-arrow:focus-visible{
}
.p-top-factory .slick-disabled{
    opacity: 0.4;
    cursor: default;
}
@media (max-width: 767px){
    .p-top-factory .slick-arrow{
        width: 44px;
        height: 44px;
    }
    .p-top-factory .slick-prev{
        right: 80px;
    }
    .p-top-factory .slick-next{
        right: 12px;
    }
}


.p-top-recruit__parent{

    position: relative;
    padding-bottom: 160px;
    background: var(--color-white);
}
@media (max-width: 991px){
    .p-top-recruit__parent{

        padding-bottom: 80px;
    }

}

.p-top-recruit{
    border-radius: 0;
    background-color: var(--color-white);
    margin: 0;
    padding: 180px  clamp(80px, 5vw, 160px) 0 clamp(80px, 5vw, 160px)    ;
}

.p-top-recruit__line1,.p-top-recruit__line2,.p-top-recruit__line3,.p-top-recruit__line4,.p-top-recruit__line5,.p-top-recruit__line6,.p-top-recruit__line7{
    position: absolute;
    top: 0;
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background-color: var(--color-gray2);
    z-index: 0;
    opacity: 0.5;
}
.p-top-recruit__line1{
    left: 5%;
}
.p-top-recruit__line2{
    left: 17%;
}
.p-top-recruit__line3{
    left: 33%;
}
.p-top-recruit__line4{
    left: 47%;
}
.p-top-recruit__line5{
    left: 63%;
}
.p-top-recruit__line6{
    left: 77%;
}
.p-top-recruit__line7{
    left: 93%;
}
.p-top-recruit .p-top-recruit__left{
    position: relative;
    z-index: 2;

}


.p-top-recruit__inner{
 	width: 1320px;
	max-width: 100%;
	margin: 0 auto;
	display: flex;
    position: relative;
    z-index: 2;
	justify-content: space-between;
	align-items: center;
	gap: clamp(32px, 4vw, 80px);
    z-index: 1;
}
.p-top-recruit__left{
	flex: 0 1 470px;
}

@media (max-width: 767px){
    .p-top-recruit__inner{
        display: block;
   }
   .p-top-recruit__left{
    width: 100%;
   }
   .p-top-recruit__right{
    width: 100%;
   }
}



.p-top-recruit__left .c-midashi-01{
	color: var(--color-black);
    margin-bottom: 20px;
}
.p-top-recruit__catch{
	font-size: clamp(20px, 3vw, 32px);
	color: var(--color-black);
    font-family: var(--font-mincho);
    font-weight: 500;
    font-style: normal;
	line-height: 1.8;
}
.p-top-recruit__right{
    flex: 1;
	font-size: 17px;
	color: var(--color-black);
    line-height: 1.8;
}
.p-top-recruit__right p{
	margin-bottom: 0;
}

.p-top-recruit__link{
    display: flex;

    justify-content: flex-end;
    }
    .p-top-recruit__link span{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 28px;
        background: rgba(var(--color-blue4-rgb),0.78) url(../images/ico_point.svg) no-repeat calc(100% - 15px) 50%;
        background-size: 12px;
        border-radius: 16px;
        color: var(--color-white);
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        width: 196px;height: 48px;
        text-decoration: none;
        margin-bottom: 24px;
        transition: opacity 0.3s ease;
    }
    .p-top-recruit__link span:hover,
    .p-top-recruit__link span:focus-visible{
        opacity: 0.75;
        outline: none;
}



.p-top-recruit__slides{
	/* margin-top: clamp(40px, 4vw, 72px); */
	overflow: hidden;
    margin-top: 60px;
    /* padding-bottom: 160px; */

}
.p-top-recruit__slides-inner{
	width: 100%;
}
.p-top-recruit__slides .slick-track{
	display: flex;
	align-items: stretch;
}
.p-top-recruit__slides-item{
	position: relative;
	overflow: hidden;
}
.p-top-recruit__slides-item picture,
.p-top-recruit__slides-item img{
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
.p-top-recruit__slides .slick-slide{
	height: 100%;
}
.p-top-recruit__slides .slick-slide > div{
	height: 100%;
}




@media (max-width: 991px){
	.p-top-recruit{
		padding: clamp(60px, 10vw, 120px) clamp(24px, 6vw, 60px);
	}
	.p-top-recruit__inner{
		flex-direction: column;
		align-items: flex-start;
	}
	.p-top-recruit__left{
		width: 100%;
	}
	.p-top-recruit__right{
		width: 100%;
	}
	.p-top-recruit__link{
		margin-bottom: 16px;
	}

    .p-top-recruit__slides-item picture,
    .p-top-recruit__slides-item img{
        height: auto;
        max-width: 200%;
        width: 200%;
    }

}
@media (max-width: 575px){
	.p-top-recruit__link{
		width: 100%;
		justify-content: center;
	}
	.p-top-recruit__link span{
		padding-right: 0;
	}
}




.p-top-blog{
    border-radius: 0;
    margin: 0;
    padding: 80px  clamp(80px, 5vw, 160px) 70px   clamp(80px, 5vw, 160px) ;
    position: relative;
    background: var(--color-blue3) url(../images/img_blog_bg.svg) no-repeat 0 0;
    background-size: contain;
}

@media (max-width: 991px){
    .p-top-blog{
        padding: 40px  clamp(20px, 3vw, 40px);
    }

}

.p-top-blog .p-top-blog__inner{
    width: 1320px;
    max-width: 100%;
    margin: auto;
}


.p-top-blog h2{
    margin-bottom: 40px;
}

.p-top-blog__list{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}
@media (max-width: 991px){
    .p-top-blog__list{
        display: block;
        margin-bottom: 40px;
    }


}

.p-top-blog__list-item{
}
.p-top-blog__list-item{
    color: var(--color-white);
}
.p-top-blog__list-item-image{
    object-fit: cover;
    position: relative;
}
.p-top-blog__list-item-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-top-blog__list-item-category{
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--color-green);
    color: var(--color-white);
    font-size: 14px;
    font-weight: 500;
    padding: 10px;
    z-index: 1;
    padding: 10px;
    display: inline-block;
}
.p-top-blog__list-item-date{
    font-size: 14px;
    font-weight: 500;
    color: var(--color-white);
    display: block;
    margin-bottom: 10px;
}
.p-top-blog__list-item-title{
    font-size: 20px;
    font-weight: 500;
    color: var(--color-white);
    display: block;
    margin-bottom: 0;
    border:none;
}
.p-top-blog__list-item-title:after{
    display: none;
}

.p-top-blog__link{
    display: flex;

    justify-content: center;
    }
    .p-top-blog__link span{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 28px;
        background: rgba(var(--color-blue4-rgb),0.78) url(../images/ico_point.svg) no-repeat calc(100% - 15px) 50%;
        background-size: 12px;
        border-radius: 16px;
        color: var(--color-white);
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        width: 196px;height: 48px;
        text-decoration: none;
        margin-bottom: 24px;
        transition: opacity 0.3s ease;
    }
    .p-top-blog__link span:hover,
    .p-top-blog__link span:focus-visible{
        opacity: 0.75;
        outline: none;
}



.p-top-blog__bottom{
    text-align: center;
}
.p-top-blog__bottom picture{
    max-width: 100%;
    display: block;
    line-height: 1;
    margin-bottom: 0;
}
.p-top-blog__bottom img{
    width: 100%;
    height: auto;
}



.p-top-instagram{
    border-radius: 0;
    margin: 0;
    padding: 80px  clamp(80px, 5vw, 160px) 70px   clamp(80px, 5vw, 160px) ;
    position: relative;
    background: var(--color-white);
}
@media (max-width: 991px){
    .p-top-instagram{
        padding: 40px  clamp(20px, 3vw, 40px);
    }

}

.p-top-instagram .p-top-instagram__inner{
    width: 1320px;
    max-width: 100%;
    margin: auto;
}


.p-top-instagram h2{
    margin-bottom: 40px;
    color: var(--color-black);
}

.p-top-instagram__list{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 40px;
}

@media (max-width: 991px){
    .p-top-instagram__list{
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 20px;
    }
    .p-top-instagram__list-item{
        width: 100%;
    }

}
.p-top-instagram__list-item{
}
.p-top-instagram__list-item{
    color: var(--color-black);
    background-color: var(--color-gray5);
}
.p-top-instagram__list-item-image{
    object-fit: cover;
    position: relative;
}
.p-top-instagram__list-item-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-top-instagram__link{
    display: flex;

    justify-content: center;
    }
    .p-top-instagram__link span{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 28px;
        background: rgba(var(--color-blue4-rgb),0.78) ;
        border-radius: 16px;
        color: var(--color-white);
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        width: 330px;
        height: 48px;
        text-decoration: none;
        margin-bottom: 24px;
        transition: opacity 0.3s ease;
    }
    .p-top-instagram__link span:before{
        content: '';
        width: 24px;
        height: 24px;
        background: url(../images/ico_insta.svg) no-repeat 50% 50%;
        background-size: 18px;
    }
    .p-top-instagram__link span:hover,
    .p-top-instagram__link span:focus-visible{
        opacity: 0.75;
        outline: none;
}



/* news */

.p-top-news{
    border-radius: 0;
    position: relative;
    background-color: var(--color-gray3);
    margin: 0;
    padding: 80px  clamp(80px, 5vw, 160px) 0 clamp(80px, 5vw, 160px)    ;
    padding-bottom: 160px;
}
@media (max-width: 991px){
    .p-top-news{
        padding: 40px  clamp(20px, 3vw, 40px)    ;
    }
}

    .p-top-news__inner{
	width: 1320px;
	max-width: 100%;
	margin: 0 auto;
	display: flex;
    position: relative;
    z-index: 2;
	justify-content: space-between;
	align-items: center;
    z-index: 1;
}
.p-top-news__left .c-midashi-01{
	color: var(--color-black);
    margin-bottom: 40px;
}
.p-top-news__right{
    flex: 1;
	font-size: 16px;
	color: var(--color-black);
    line-height: 1.8;
}
@media (max-width: 991px){

    .p-top-news__right{
        display: none;
        width: 100%;
    }

}

.p-top-news__link{
    display: flex;
    justify-content: flex-end;
    }
    .p-top-news__link span{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 28px;
        background: rgba(var(--color-blue4-rgb),0.78) url(../images/ico_point.svg) no-repeat calc(100% - 15px) 50%;
        background-size: 12px;
        border-radius: 16px;
        color: var(--color-white);
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        width: 196px;height: 48px;
        text-decoration: none;
        margin-bottom: 24px;
        transition: opacity 0.3s ease;
    }
    .p-top-news__link span:hover,
    .p-top-news__link span:focus-visible{
        opacity: 0.75;
        outline: none;
}


@media (max-width: 991px){
    .p-top-news__link{
        display: block;
        }
}
.p-top-news__list .p-top-news__list-item{
    background-color: var(--color-white);
	width: 1320px;
	max-width: 100%;
	margin: 0 auto;
    margin-bottom: 10px;
}
.p-top-news__list .p-top-news__list-item:last-child{
    margin-bottom: 0;
}
.p-top-news__list .p-top-news__list-item a{
    display: flex;
    padding: 20px;
    gap: 20px;
    height: 100%;
    background-color: var(--color-white);
}
@media (max-width: 991px){
    .p-top-news__list .p-top-news__list-item a{
        display: block;
        padding: 10px 20px;
    }
    .p-top-news__list .p-top-news__list-item-category{
        width: 100%;
    }
}
.p-top-news__list .p-top-news__list-item-date{
    font-size: 15px;
    font-weight: 500;
    display: block;
    margin-top: 10px;

width: 120px;
font-family: var(--font-open-sans);
font-weight: 600;
font-size: 16px;


}
.p-top-news__list .p-top-news__list-item-category{
    font-size: 15px;
    font-weight: 500;
    background-color: var(--color-blue6);
    color: var(--color-white);
    padding: 10px;
    width: 160px;
    display: flex;
    align-items: center;

    justify-content: center;
}


.p-top-news__list .p-top-news__list-item-title{
    font-size: 19px;
    font-weight: 500;
    margin-bottom: 0;
    padding: 6px 0 0 0 ;
    border: none;
    border: 0;
}

.p-top-news__list .p-top-news__list-item-title:after{
    display: none;

}

@media (max-width: 991px){
    .p-top-news__list .p-top-news__list-item-category{
        padding: 5px;
        margin-top: 10px;
        margin-bottom: 10px;
        width: 120px;
    }


    .p-top-news__list .p-top-news__list-item-title{
        font-size: 16px;
    }

}



.site-footer{
background: var(--color-gray4);
position: relative;
border-top: 0!important;
}
.site-footer:before{
    /* content: ''; */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(var(--color-gray3-rgb), 0.39);
    z-index: 1;
}
.site-footer-inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1420px;
    max-width: calc(100% - 160px);
    margin: 0 auto;
    align-items: center;
    position: relative;
    z-index: 2;

}


@media (max-width: 991px){
    .site-footer-inner{
        display: block;
        max-width: 100%;
        padding: 0 20px;
        box-sizing: border-box;

    }

}
.site-footer-copyright{
    color: var(--color-white);
    padding: 20px 0;
    text-align: right;
}

.site-footer-copyright p{
    padding: 0;
    margin: 0;
}

.site-footer-copyright__text{
    font-size: 14px;
    font-weight: 500;
}
.footer-nav{
    padding: 20px 0;
    text-align: center;
    border: 0!important;

}


@media (max-width: 991px){
    .footer-nav ul{
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
    .footer-nav-list li{

    }


}

.footer-nav-list li{
    border-color:var(--color-white)!important;
}

.footer-nav-list li:first-child{
    border-left: 0!important;
}
.footer-nav-list li:last-child{
    border-right: 0!important;
}
.footer-nav a{
    color: var(--color-white)!important;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: opacity 0.3s ease;
}
.footer-nav a:hover,
.footer-nav a:focus-visible{
    opacity: 0.75;
    outline: none;
}

.c-footer-info{
    background-color: var(--color-blue7);
    color: var(--color-white);
    padding: 60px 0;
}
.c-footer-info__inner{
    width: 1420px;
    max-width: calc(100% - 160px);
    margin: 0 auto;
    align-items: center;
}

@media (max-width: 991px){
    .c-footer-info__inner{
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
        padding: 0 20px;
    }

}

.c-footer-info__logo{
    margin-bottom: 10px;
    display: block;
}
.c-footer-info__left{
    width: 319px;
    max-width: 100%;
}
.c-footer-info__right{
    width: 910px;max-width: 100%;
}


.c-footer-info__right iframe{
    margin-bottom: 0!important;
}
@media (max-width: 991px){

    .c-footer-info__left{
        width: 100%;
        margin-bottom: 20px;
    }
    .c-footer-info__right{
        width: 100%;
        max-width: 100%;
    }
    .c-footer-info__right iframe{
        aspect-ratio: 16/9;
        height: 200px;
    }

}
.c-button-01{
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 16px 20px;
width: 183px;
height: 48px;
background: rgba(255, 255, 255, 0.84);
border: 1px solid var(--color-white);
border-radius: 16px;color: var(--color-blue);
}

/*page*/

body#bg_white .page-header{
    background-color: var(--color-white)!important;
    color: var(--color-blue8)!important;
}
body#bg_white .page-header .page-header__inner{
    background-color: var(--color-white)!important;
    color: var(--color-blue8)!important;
}
body#bg_white .page-header .page-header__inner .page-header__title{
    color: var(--color-blue8)!important;
}
body#bg_white .page-header .page-header__inner .page-header__title:after{
    background-color: var(--color-blue8)!important;
}

/*form*/
input[type=submit]{
    background: var(--color-white)!important;
    color: var(--color-blue8)!important;
}
button[type=submit].btn_back{

    margin-top: 20px;
    background: var(--color-white)!important;
    color: var(--color-blue8)!important;
    border: 2px solid var(--color-blue8)!important;
    border-radius: 10px;
    padding: 6px 20px;
    font-size: 12px;
    font-weight: 600;
    transition: background 0.3s, color 0.3s, border 0.3s;
}
button[type=submit].btn_back:hover,
button[type=submit].btn_back:focus {
    background: var(--color-blue8)!important;
    color: var(--color-white)!important;
    border-color: var(--color-blue8)!important;
    outline: none;
}

.req{
    display: inline-block;
    padding-left: 10px;
    color: var(--color-red)!important;
}
.fadein {
	opacity: 0;
	transform: translateY(30px);
	transition-property: transform, opacity;
	transition-duration: 1.5s;
	transition-delay: 0s;
}

.fadein.is-active {
	opacity: 1;
	transform: translateY(0);
}