header, footer, nav, section, aside, article, div{
	box-sizing: border-box;
	display: block;
}

h1,h2,h3,h4,h5,h6,a,img,div,p,form,ul,li,ol {
	box-sizing: border-box;
	margin:0px;
	padding:0px;
	border:none;
	font-weight: normal;
	list-style-type: none;
	font-style: normal;
	text-decoration: none;
}

h2{
    color: #074395;
    font-weight: 600;
}


p,a,li{
    font-size: 16px;
}

body{
	box-sizing: border-box;
	display: block;
	margin: 0;
	padding: 0;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	-webkit-text-size-adjust: none;
	color: #000;
	line-height: 1.6;
	overflow-x: hidden;
	overflow-y: auto;
	width: 100vw;
	line-height: 1.7;
}

/*****************************************/
/* header */
/*****************************************/

.pc-display{
    display: block;
}

.sp-display{
    display: none;
}

#header{
    height: 60px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    z-index: 100;
    top: 0;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

#header.brake-header{
    display: block;
}


#header .menu_1{
    height: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#header h1{
    margin: 0px 20px 0 10px;
    z-index: 9999;
    max-width: 270px;
    width: 25%;
    padding-top: 8px;
}

#header h1 img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#header .pc-display{
    flex: 1;
}

#header .pc-display a,
#header .pc-display a:visited,
#header .pc-display p{
    color: #074395;
    font-weight: 600;
    font-size: 16px;
}

#header .hd_menu_pc{
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 650px;
    margin-left: auto;
}

#header .hd_menu_pc li{
    width: calc( 100% / 5 );
}

#header .hd_menu_pc a,
#header .hd_menu_pc p{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 0;
    transition: 0.4s;
}

#header .hd_menu_pc a:hover,
#header .hd_menu_pc p:hover{
    color: #29abe2;
}

#header .hd_menu_pc .gvmenu_li{
	position: relative;
}

#header .hd_menu_pc .gvmenu_li .drop_menu{
	visibility: collapse;
	opacity: 0;
	transition: 0.3s;

	position: absolute;
	top: 100%;
	left: 0;
}

#header .hd_menu_pc .gvmenu_li .menu-content{
    width: 160%;
}

#header .pc-display .gvmenu_li:hover .drop_menu{
	visibility: visible;
	opacity: 1;
}

#header .hd_menu_pc .gvmenu_li .drop_menu li,
#header .hd_menu_pc .gvmenu_li .drop_menu a{
    width: 100%;
}

#header .hd_menu_pc .gvmenu_li .drop_menu a{
    padding: 15px 20px;
}

#header .h-icon{
    display: flex;
    justify-content: flex-end;
    flex-flow: row-reverse;
    margin-right: 100px;
}

#header .h-icon li{
    padding: 0px 10px;
}

#header .img-sm{
    display: none;
}

#header .h_menu{
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
}

#header .menu-btn{
    position: absolute;
    top: -10px;
    right: -10px;
    width: 80px;
    height: 80px;
    background: url("../image/t_menu.png") center / cover;
    transition: all 0.3s;
    z-index: 85;
    background-color: rgba(0,0,0,0.3);
}

#header #menu-btn-check{
    display: none;
}

#header .menu-content{
    width: 100%;
    position: fixed;
    top: 80px;
    left: 100%;
    opacity: 0;
    z-index: 80;
    background-color: rgba(250,250,250,0.75);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition: all 0.5s;

    max-height: calc( 100vh - 75px );
    overflow-y: auto;
} 

#menu-btn-check:checked ~ .menu-content {
    left: 0;
    opacity: 1;
}

#menu-btn-check:checked ~ .menu-btn {
    background: url("../image/t_menu2.png") center / cover;
    background-color: rgba(0, 0, 0, 0.3);
}

#header .menu-content p,
#header .menu-content a,
#header .menu-content a:visited{
    color: #074395;
    display: block;
    transition: 0.5s;
    font-weight: 600;
    border-bottom: solid 1px #074395; 
}

#header .sp-display .menu-content p,
#header .sp-display .menu-content a{
    padding: 15px 35px;
}

#header .menu-content p:hover,
#header .menu-content a:hover{
    background-color: #d1ebff;
    cursor: pointer;
}

#header .menu-content .acodion_li{
    position: relative;
}

#header .menu-content .acodion_li::before,
#header .menu-content .acodion_li::after{
    position: absolute;
    content: '';
    width: 2px;
    height: 10px;
    background-color: #074395;
    top: 50%;
    left: 15px;
}

#header .menu-content .acodion_li::before{
    transform: translateY(-50%);
}

#header .menu-content .acodion_li::after{
    transform: translateY(-50%) rotate(-90deg);
}

#header .menu-content .sub_ul{
    background-color: rgba(18, 78, 151, 0.3);
}

#header .menu-content .sub_sub_ul a{
    padding: 12px 20px 12px 50px;
    background-color: rgba(18, 78, 151, 0.2);
}

#header .menu-content .sub_ul a:hover{
    background-color: rgba(178,212,255,0.7)
}

#header .menu-content .sub_ul.close{
    display: none;
}

#header .menu_2{
    height: 40px;
    background-color: #0c284a;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#header .menu_2 ul{
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

#header .menu_2 a,
#header .menu_2 a:visited{
    display: block;
    padding: 5px 15px;
    color: #fff;
    transition: 0.4s;
}

#header .menu_2 a:hover{
    background-color: rgba(255,255,255,0.4);
}

#header.normal .menu_2 ul{
    display: none;
}


/*****************************************/
/* contnts -top */
/*****************************************/

.top-con{
    width: 100vw;
    margin-top: 60px;
    height: calc( 100vh - 60px);
    position: relative;

}

.top-con .top_slider{
    overflow: hidden;
}

.top_slider li{
    position: relative;
    height:  calc( 100vh - 60px);
}


.top_slider li img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}


.top_slider li::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    mix-blend-mode: multiply;
}

.top_slider .slick-dots{
    bottom: 20px;
}

.top_slider .slick-dots li::after{
    content: none;
}

.top_slider .slick-dots li button:before{
    font-size: 10px;
    color: #fff;
}

.top-con .flex_div{
    position: absolute;
    width: 100%;
    top: 30%;
    left: 50%;
    transform: translateX(-50%);
    align-items: center;
    justify-content: space-around;
}

.top-con h2{
    color: #fff;
    font-size: 48px;
    font-weight: bold;

    padding: 0px 15px;
    letter-spacing: 6px;
}

.top-con2{
	max-width: 100vw;
	overflow: hidden;
    margin: 100px auto;
    min-height: 700px;
    padding: 20px;
    position: relative;
}

.top-con2 .flex_div{
    justify-content: space-between;
}

.top-con2 .top_slider{
    position: absolute;
    top: 0;
    left: 0;
    width: 55%;
    height: 600px;
    z-index: -50;
    margin-top: 50px;
}

.top-con2 .top_slider img{
	width: 100%;
	height: 100%;
    object-fit: cover;
}

.top-con2 .top_slider .slick-track li{
	width: 100%;
    height: 600px;
}

.top-con2 .top_slider li::after{
    background-color: rgba(0, 0, 0, 0.2);
}

.top-con2 .top_slider .slick-dots{
	height: 65px;
}

.top-con2 h2{
    width: 50%;
    margin-left: auto;
    text-align: center;  
    font-size: 42px; 
    padding-top: 25px;
}

.top-con2 .top-con2_1{
    width: 50%;
    max-width: 750px;
    margin-top: 100px;
    margin-left: 50%;
    background: url(../image/back_b.jpg) repeat;
    color: #fff;
    padding: 30px;
    line-height: 2.3rem;
}

.top-midashi{
    color: #074395;
    margin-bottom: 30px;
}

.top-midashi p{
    position: relative;
    margin-left: 3rem;
    font-weight: 600;
    font-size: 1.3rem;
}

.top-midashi p::before{
    content: "";
    width: 2.5rem;
    height: 1px;
    background-color: #074395;

    position: absolute;
    top: 50%;
    right: calc(100% + 0.5rem);
}

.top-midashi h2{
    font-size: 2.5rem;
    margin: 20px 0 10px;
}

.top-midashi h3{
    color: #29ABE2;
    font-weight: 600;
    letter-spacing: 0.2rem;
}

.top-con3{
    width: 90%;
    max-width: 1500px;
    margin: 50px auto 150px;
}

.top-con3 .flex_3_div,
.top-con3 .flex_2_div{
    height: 500px;
}

.top-news .top-midashi{
    width: 30%;
}

.top-news .div_w70{
    width: 70%; 
}

.top-news ul{
    border-top: solid 1px #999999;
    border-bottom: solid 1px #999999;
}

.top-news-list li{
    border-bottom: solid 1px #eee;
    overflow: hidden;
    position: relative;
}

.top-news-list li::before{
    content: "";
    width: 100%;
    height: 100%;
    background: #29ABE2;
    opacity: 0.15;

    position: absolute;
    top: 0;
    right: 100%;
    transition: 0.2s;
}

.top-news-list li:hover::before{
    right: 0%;   
}

.top-news-list li:nth-last-child(1){
    border-bottom:none;   
}

.top-news-list a{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 30px 5px; 
    position: relative;
}

.top-news-list a,
.top-news-list a:visited{
    color: #666666;
}

.top-news-list a span{
    color: #fff;
    padding: 5px 8px;
    background-color: #074395;
    margin-left: 15px ;
}

.top-news-list p:nth-child(1){
    margin-right: 25px;
    width: 200px;
}

.top-news-list p:nth-child(2){
    flex: 1;
}

.top-news a.y_btn,
.top-news a.y_btn:visited{
    margin-top: 25px;
    text-align: right;
    color: #666;
}


.top_rec .img_b.img_b_yoko{
    height: 400px;
}

.img_b.img_b_yoko .top-midashi{
    position: relative;
}

.img_b.img_b_yoko .top-midashi p,
.img_b.img_b_yoko .top-midashi h2,
.img_b.img_b_yoko .top-midashi h3{
    color: #fff;
}

.img_b.img_b_yoko .top-midashi p::before{
    background-color: #fff;
}


/*****************************************/
/* contnts -all */
/*****************************************/

.content_w{
	width: 92%;
    max-width: 1080px;
    margin: auto;
}

.btn,
a.btn,
button.btn {
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;

    margin: 15px 0;
    font-size: 16px;
}

a.btn-b{
    color: #fff;
    border: 1px solid #fff;
    border-radius: 0;
    background: linear-gradient(217deg,rgba(0,147,233,0.6),rgba(128,208,199,0.6));
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
}
  
a.btn-b:hover{
    -webkit-transform: translate(0, -2px);
    transform: translate(0, -2px);
    color: #fff;
    -webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, .2);
    box-shadow: 0 8px 15px rgba(0, 0, 0, .2);
    background: linear-gradient(217deg,rgba(0,147,233,1),rgba(128,208,199,1));
}

a.btn-b:visited{
    color: #fff;

}

/*画像ボタン*/

.img_b{
    background-position: center;
    background-size: cover;
    background-color: rgba(0, 0, 0, 0.2);
    background-blend-mode: multiply;
    transition: 0.3s;
    position: relative;
    padding: 15px 20px;
    display: block;
}

.img_b.grade_bb::before,
.img_b.grade_lb::before,
.img_b.grade_pp::before
{
    content: "";
    width: 100%;
    height: 30%;
    position: absolute;
    top:0;
    left: 0;
    z-index: 0;
}

.img_b.grade_bb::before{ background: linear-gradient(to bottom, rgba(27,20,100,0.8), rgba(27,20,100,0));}
.img_b.grade_lb::before{ background: linear-gradient(to bottom, rgba(0,113,188,0.8), rgba(0,113,188,0));}
.img_b.grade_pp::before{ background: linear-gradient(to bottom, rgba(147,39,143,0.8), rgba(147,39,143,0));}


.img_b:hover{
    background-color: rgba(0, 0, 0, 0.6);
}

a.img_b,
a.img_b:visited{
    color: #fff;
}

a.img_b h4{
    font-size: 1.5rem;
    font-weight: 600;
}

.img_b.img_b_yoko{
    height: 300px;
    display: flex;
    align-items: center;
    padding: 25px;
}

.img_b.img_b_yoko.grade_bb::before,
.img_b.img_b_yoko.grade_lb::before,
.img_b.img_b_yoko.grade_pp::before{
    height: 100%;
    width: 30%;
}

.img_b.img_b_yoko.grade_bb::before{ background: linear-gradient(to right, rgba(27,20,100,0.8), rgba(27,20,100,0));}
.img_b.img_b_yoko.grade_lb::before{ background: linear-gradient(to right, rgba(0,113,188,0.8), rgba(0,113,188,0));}

/*ボタンに矢印つける*/
.y_btn{
    position: relative;
    padding-right: 45px;
}

a.y_btn{
    display: block;
}

.y_btn .arrow-h,
.y_btn .arrow-b{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    border-radius: 9999px;
    transition: 0.2s;
}

.y_btn .arrow-h{
    width: 40px;
    height: 4px;
    right: 30px;
    margin: 11.3px 0;
    background-color: #ffffff;
}

.y_btn .arrow-b{
    width: 18px;
    height: 2px;
    right: 15px;
    background-color: #074395;
}
  
.y_btn .arrow-h::before,
.y_btn .arrow-h::after,
.y_btn .arrow-b::before,
.y_btn .arrow-b::after {
    content: "";
    position: absolute;
    right: 0;
    border-radius: 9999px;
    background-color: #ffffff;
    transform-origin: calc(100% - 2px) 50%;
}

  
.y_btn .arrow-h::before,
.y_btn .arrow-h::after{
    top: calc(50% - 2px);
    width: 20px;
    height: 4px;
    background-color: #ffffff;
    transform-origin: calc(100% - 2px) 50%;
}

.y_btn .arrow-b::before,
.y_btn .arrow-b::after {
    top: calc(50% - 1px);
  width: 10px;
  height: 2px;
  background-color: #074395;
  transform-origin: calc(100% - 1px) 50%;
}

.arrow-h::before,.arrow-b::before {    transform: rotate(45deg);}  
.arrow-h::after,.arrow-b::after {    transform: rotate(-45deg);}

.y_btn:hover .arrow-h{
    width: 45px;
    right: 25px;
}

.y_btn:hover .arrow-b{
    width: 20px;
    right: 12px;
}



/* 文字下からアニメ */

.anime-bottom{
    overflow: hidden;
    opacity: 0;
}

.font-ani{
    overflow: hidden;
}

.font-ani h2,
.font-ani h3,
.font-ani h4,
.font-ani p{
    transform: translateY(200%);
    opacity: 0;
    animation: font-anime 0.4s ease 0.9s 1 normal forwards;
}

@keyframes font-anime{
    0%{
        transform: translateY(200%);
        opacity: 0;
    }

    30%{
        opacity: 1;
    }

    100%{
        transform: translateY(0%);
        opacity: 1;
    }
}

.img_b .font-ani-p p{
    transform: translateY(500%); 
    transition: 0.3s;
}

.img_b:hover .font-ani-p p{
    transform: translateY(0%);     
}

.font-ani-p{
    position: absolute;
    bottom: 15px;
}

/* サイド出現アニメ */

.anime-side,
.anime-side-img{
    position: relative;
    overflow: hidden;
}

.anime-side::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #fff;
}

.anime-side-img::after{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #fff;
    animation: img-anime 0.4s ease 0.4s 1 normal forwards;
}

@keyframes img-anime{
    0%{
        left: 0;
    }

    100%{
        left: 100%;
    }
}

.flex_div{
    display: flex;
    flex-wrap: wrap;
    padding: 30px 0;
}

.flex_2_div{
    width: calc((100% - 30px ) / 2 );
    padding: 15px;
    margin-right: 15px;
}

.flex_3_div{
    width: calc((100% - 45px ) / 3 );
    padding: 15px;
    margin-right: 15px;
}

.flex_div .flex_2_div:nth-last-child(1),
.flex_div .flex_3_div:nth-child(3n){
    margin-right: 0;
}

.flex_2_div img,
.flex_3_div img{
    width: 100%;
    height: auto;
    object-fit: contain;
}

.fontf{
    color: #fff;
}

.img_c{
    text-align: center;
}

.img_c img{
    width: 100%;
    max-width: 800px;
    margin: auto;
}

.img_shadow{
    filter: drop-shadow(5px 5px 5px #dcdcdc);
}

.h3_font_w{
    color: #fff;
    font-size: 1.7rem;
    font-weight: 800;
    margin-bottom: 35px;

    position: relative;
}

.h3_font_w::before{
    position: absolute;
    content: '';
    width: 100%;
    height: 5px;
    bottom: 2.2rem;
    background: linear-gradient(to right,#009f8d 10%,#0064b4 75%,#009e41);
}

.h3_font_w span{
    display: block;
    text-align: right;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 5px 0;
}

.h3_font_b{
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 30px;

    position: relative;
}

.h3_font_b::before{
    position: absolute;
    content: '';
    width: 100%;
    height: 5px;
    bottom: 2.2rem;
    background: linear-gradient(to right,#009f8d 10%,#0064b4 75%,#009e41);
}

.h3_font_b span{
    display: block;
    text-align: right;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 5px 0;
}

.btn_blue {
    text-align: center;
}

.btn_blue a{
    display: block;
    background-color: #074395;
    padding: 10px 40px;
    margin: 10px;
    color: #fff;
}

.btn_blue a:hover{
    opacity: 0.7;
}

.txt_c{	text-align: center !important}
.txt_r{	text-align: right !important}
.txt_l{	text-align: left !important}

/*****************************************/
/* page */
/*****************************************/


#image_head{
	width: 100%;
	height: 60vh;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: center;
    background-color: rgba(0, 0, 0, 0.4);
    background-blend-mode: multiply;
    margin-top: 60px;
}

#image_head h1{
	display: inline-block;
    font-weight: 600;
	color: #fff;
	padding: 10px 2%;
    width: 90%;
    margin: auto;
	max-width: 1200px;
}

.pankuzu{
	width: 90%;
	max-width: 1200px;
	margin: 10px auto;
	display: flex;
	gap: 0px;
	font-size: 0.8rem;
}
.pankuzu a,
.pankuzu a:visited{
	color: #888;
	position: relative;
	display: block;
	font-size: 0.8rem;
}

.pankuzu a::after{
	content: ">";
	padding: 0 10px;
}

.pankuzu a:nth-last-child(1)::after{
	content: none;
}

#in_contents{
	width: 90%;
	max-width: 1080px;
	margin: 40px auto 80px;
}

#in_contents h1,
#in_contents h2,
#in_contents h3,
#in_contents h4,
#in_contents h5{
	font-weight: 600;
    position: relative;
}

#in_contents h2{
    font-size: 1.8rem;
	text-align: center;
    margin: 125px 5px 50px;
}

#in_contents h2::before{
    content: url("../image/h2_icon.png");
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
}

#in_contents h3{
	font-size: 1.7rem;
    color: #074395;
    padding-left: 30px;
    margin: 50px auto 25px;
    position: relative;
}

#in_contents h3::before{
    content: '';
    position: absolute;
    background-color: #074395;
    width: 20px;
    height: 5px;

    top: 1.18rem;
    left: 0;
}

#in_contents h4{
    background-color: #d1eaff;
    border-radius: 2px;
    color: #00186c;
	padding: 5px 0 5px 20px;
	font-size: 1.3rem;

    margin: 35px auto 15px;
}

#in_contents h5{
	background-color: #f0f0f0;
	padding: 5px 0 5px 20px;
	font-size: 1.0rem;
    margin: 25px auto 15px;
}

#in_contents a,
#in_contents a:visited{
	color: #0059ff;
}

#in_contents a:hover{
	opacity: 0.7;
}

#in_contents ul,
#in_contents ol{
	margin: 25px 0 20px;
}

#in_contents ul li{
	list-style-type: disc;
	margin-left: 20px;
	padding: 5px 5px;
}

#in_contents ol li{
	list-style-type: decimal;
	margin-left: 20px;
	padding: 5px 5px;
}

#in_contents .link_PDF::after{
	content: 'PDF';
	background-color: #345daa;
	border-radius: 5px;
	padding: 3px 8px;
	font-size: 12px;
	color: #fff;
	margin-left: 10px;
	margin-bottom: 1px;
}

#in_contents .qa_q{
	padding: 15px 10px 15px 45px;
	background-color: #e7f7ff;
	position: relative;
}

#in_contents .qa_q::before{
	content: "Q.";
	position: absolute;
	top: 6px;
	left: 13px;
	color: #345daa;
	font-size: 1.6rem;
	font-weight: 600;
}

#in_contents .qa_a{
	padding: 15px 10px 15px 45px;
	position: relative;
	margin-bottom: 25px;
}

#in_contents .qa_a::before{
	content: "A.";
	position: absolute;
	top: 6px;
	left: 13px;
	color: #ff6e29;
	font-size: 1.6rem;
	font-weight: 600;
}


#in_contents .np_link{
    max-width: 1200px;
	margin-top: 100px;
    margin: 100px auto 20px;
	display: flex;
	justify-content: space-between;
	align-items:stretch;

}

#in_contents .np_link a,
#in_contents .np_link a:visited{
	color: #333333;
	display: block;
	width: 100%;
	height: 100%;
	padding: 10px;
	transition: .3s;
	display: flex;
	align-items: center;
}

#in_contents .np_link a:hover{
	opacity: 0.7;
}

#in_contents .np_link .next_link,
#in_contents .np_link .prev_link{
	width: 100px;
	border: solid 1px #074692;
	position: relative;
}

#in_contents .np_link .next_link:hover,
#in_contents .np_link .prev_link:hover{
    background-color: #e7f7ff;
}

#in_contents .np_link .next_link{
	padding-left: 20px;

}

#in_contents .np_link .prev_link{
	display: block;
	padding-right: 20px;
}

#in_contents .np_link .next_link::after,
#in_contents .np_link .prev_link::after{
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

#in_contents .np_link .next_link::after{
	border: solid 5px transparent;
	border-right: solid 8px #074692;
	left: 5px;
}

#in_contents .np_link .prev_link::after{
	border: solid 5px transparent;
	border-left: solid 8px #074692;
	right: 5px;
}

#in_contents .np_link .nav_page{
	width: 100%;
}

#in_contents .np_link .nav_page .next_link{
	float: left;
}

#in_contents .np_link .nav_page .prev_link{
	float: right;
}


#in_contents .wp-block-button{
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    letter-spacing: 0.05em;

    margin: 15px 0;
    font-size: 16px;

    border: 1px solid #fff;
    border-radius: 0;
    /*background: linear-gradient(217deg,rgba(0,147,233,0.6),rgba(128,208,199,0.6));*/
    background-color: #074395;
    box-shadow: 0 5px 2px rgba(0, 0, 0, .1);
}

#in_contents .wp-block-button a,
#in_contents .wp-block-button:visited{
    color: #fff;
    font-weight: 600;
}

#in_contents .wp-block-button:hover{
	color: #fff;
		-webkit-transform: translate(0, 2px);
	transform: translate(0, 2px);
	
    -webkit-box-shadow: 0 1px 0px rgba(0, 0, 0, .2);
    box-shadow: 0 1px 0px rgba(0, 0, 0, .2);
    /*background: linear-gradient(217deg,rgba(0,147,233,1),rgba(128,208,199,1));*/

}

#in_contents .bg_100vw{
    margin: 20px calc(50% - 50vw);
    padding: 25px calc(50vw - 50%);
    width: 100vw; 
}

#in_contents .flex_div.sezo_jiseki{
    justify-content: flex-start;
}

#in_contents .flex_div.sezo_jiseki .jiseki_div{
    position: relative;
    overflow: hidden;
    padding: 0;
    margin: 10px;
    width: calc(( 100% - 60px ) / 3 );
}

#in_contents .flex_div.sezo_jiseki img{
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover;
}

#in_contents .flex_div.sezo_jiseki .jiseki_div p{
    position: absolute;
    width: 100%;
    padding: 5px;
    text-align: center;
    color:#fff;
    background-color: #2b7fc4;
    bottom: -20%;
    transition: 0.3s;
}

#in_contents .flex_div.sezo_jiseki .jiseki_div:hover p{
    bottom: 0%;
}

#in_contents .news_ul{
    margin: 0;
}

#in_contents .news_ul li{
    list-style: none;
    border-bottom: solid 1px #eee;
    margin-left: 0;

    overflow: hidden;
    position: relative;
}

#in_contents .news_ul li::before{
    content: "";
    width: 100%;
    height: 100%;
    background: #29ABE2;
    opacity: 0.15;

    position: absolute;
    top: 0;
    right: 100%;
    transition: 0.2s;
}

#in_contents .news_ul li:hover::before{
    right: 0%;   
}

#in_contents .news_ul li a{
    padding: 12px 5px;
    color: #000;
    display: flex;
    position: relative;
    flex-wrap: wrap;
}

#in_contents .news_ul li p.list_day{
    width: 200px;
}

#in_contents .news_ul li p.list_day span{
    color: #fff;
    padding: 5px 8px;
    background-color: #074395;
    margin-left: 15px;
}

#in_contents .news_ul li a p:nth-child(2){
    flex: 1;
}

#in_contents .page_number{
    display: flex;
    justify-content: center;
}

#in_contents .page_number li{
    list-style: none;
    margin: 10px;
}

#in_contents .page_number li a,
#in_contents .page_number li a:visited{
    color: #666;
}

#in_contents .page_number a.page_visit,
#in_contents .page_number a.page_visit:visited{
    font-weight: 600;
    color: #29ABE2;
}

#in_contents .news_day{
    color: #999;
    margin: 20px 0;
}


#in_contents .div_acaive{
    width: 25%;
    padding: 0px 10px 10px;
    border-left: solid 1px #eee;
}

#in_contents .div_acaive h4{
    margin: 0;
}



/****************************/
/* contnts - product-brake
/****************************/
.brake-page #in_contents{
    max-width: 1280px;
    margin: 10px auto 0;
}


.brake-page .pankuzu{
	max-width: 1500px;
    width: 100%;
}

.brake-page .sub{
	color: #4f93f0;
	font-weight: 600;
}

.brake-page #in_contents ul{
	padding: 15px 1rem 15px 1rem;
    flex-grow: 1;
}

.brake-page #in_contents li{
	list-style: disc;
    padding: 5px 3px 0;
}


.brake-page #in_contents li::marker{
 color: #1e6fd9;
}

.brake-page #in_contents h3{
    font-size: 1.5rem;
    font-weight: 600;
    margin: 10px 0 15px;
}

.brake-page #in_contents h2::before,
.brake-page #in_contents h3::before{
    content: none;
}

.brake-page #in_contents h4{
    font-size: 1.2rem;
    font-weight: 600;
    margin: 10px 0 15px;
    background-color: transparent;
    padding: 5px 0;
    text-align: center;
}

.brake-page #in_contents .btn_blue a,
.brake-page #in_contents .btn_blue a:visited{
    color: #fff;
}

.brake-page #in_contents .bg_100vw.light_b,
.brake-page #in_contents .bg_100vw.dark_b{
    margin: 0px calc(50% - 50vw);
    padding: 50px calc(50vw - 50%);
}

.brake-page #in_contents .wp-block-button,
.brake-page #in_contents .btn_y_blue a{
    background-color: #113599;
    color: #fff;
    border-radius: 5px;
    border: none;
    padding: 0 10px;
    margin: 10px auto 5px;
    position: relative;

    max-width: 500px;
}

.brake-page #in_contents .btn_y_blue a{
    text-align: center;
    display: block;
    width: 100%;
    padding: 15px 20px;
    margin: 25px 0 0;
    box-shadow: 0 5px 8px rgba(0, 0, 0, .2);
    transition: 0.3s;
}

.brake-page #in_contents .btn_y_blue a:hover{
    translate: 0 2px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .2);
    opacity: 1;

}

.brake-page #in_contents .wp-block-button code{
    font-size: 0.8em;
    font-weight: normal;
}

.brake-page #in_contents .wp-block-button::after,
.brake-page #in_contents .btn_y_blue a::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    translate: 0 -50%;
    border: solid 8px transparent;
    border-left: solid 10px #fff;

}

.brake-page #in_contents .wp-block-button a{
    display: block;
    width: 100%;
    padding: 15px 20px;
    margin: 0;
}

.brake-page #in_contents .wp-block-group.is-layout-flex{
    gap: 0;
}

.brake-page .bg_100vw.light_b{
    background-color: #f3f7fc;
}

.brake-page .bg_100vw.dark_b{
    background-color: #0c284a;
    color: #fff;
}

.chips{
	width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.chips .chip{
	border: solid 1px #ddd;
	border-radius: 2rem;
	padding: 8px 10px;

    margin: 5px 5px 5px 0;
	
	display: flex;
	flex-wrap:nowrap;
	align-items: center;
}

.spec-tag{
    background-color: #f3f7fc;
    border: solid 1px #b0c8e0;
    border-radius: 2px;
    padding: 8px 10px;
    margin-bottom: 5px;
    color:#394285;
}

.spec_block .spec-tag:nth-child(2n){
    margin-right: 0;
}

.spec-tag span{
    display: block;
    font-size: 0.8em;
    color: #666;
}

p.tyushaku{
    font-size:0.8rem;
    color: #aaa;
    margin-top:8px
}

.brake-page #in_contents .flex_div{
    align-items: stretch;
}

.brake-page #in_contents .flex_tatediv{
    padding: 1rem 1.3rem 6rem;
    position: relative;
}

.brake-page #in_contents .flex_tatediv .wp-block-buttons{
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    width: calc( 100% - 2.6rem );
    max-width: 500px;
}

/* 固定ページ用 */

/* header */

.hero{
	background: #000;
	color: #fff;
    position: relative;
    height: 50vh;
    min-height: 500px;
    margin-top: 100px;
}

.hero .brake-hero_img{
    height: 100%;
    overflow: hidden;
}

.hero .brake-hero_img::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;
    height: 100%;
    background: linear-gradient(to right ,rgba(11, 37, 69 , 1) 0%,rgba(19, 51, 95 ,1) 65%,rgba(26, 66, 130 ,0) 100%);
}

.hero .brake-hero_img img{
	display: block;
    width: 60%;
    height: 100%;
	object-fit: cover;
    object-position: center;
    margin-left: auto;
    opacity: 0.5;
}

.hero .brake-hero_title{
    position: absolute;
    top: 7%;
    left: 5%;

    width: 90%;
    max-width: 600px;
    margin: auto; 
	padding: 0px;
	
	align-items: center
}

.hero h1{
	font-weight: 600;
	font-size: 2.8em;
	line-height: 1.2;
}

.brake-page .hero .sub{
    display: inline-block;
	font-size: 1.3rem;
    color: #0c284a;
    padding: 8px 10px;
    margin: 15px 0 30px;
    background-color: #fff;
    border-radius: 5px;
}

.brake-page .hero .title_model{
    font-size: 1.3rem;
    font-weight: 600;
    color: #4f93f0;
}

.hero .chips .chip{
	background: rgba(255,255,255,.1);
	border: solid 1px rgba(255,255,255,.3);
    min-width: 200px;
}

.chips .chip svg{
	height: 100%;
	max-height: 25px;
	width: auto;
	color: #4f93f0;
	margin: 0 3px 0 0;
}

.hero .brake-hero_item{
    position: absolute;
    bottom: -10%;
    right: 2%;

    width: 60%;
    max-width: 600px;
    text-align: right;
}

.hero .brake-hero_item img{
    width: 100%;
    translate: 5% 0;
    height: auto;
    max-height: 400px;
    object-fit: contain;
    filter: drop-shadow(7px 7px 5px rgba(0,0,0,0.6)); 
}

.pro-point{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    color: #fff;
    
    margin-top: 20px;
}

.pro-point .spec{
    background-color: rgba(255,255,255,0.1);
    border: solid 1px #fff;
    width: calc(( 100% - 5px ) / 2 );
    margin: 0 5px 5px 0;
    padding: 10px;

    display: flex;
    align-items: center;
}

.pro-point .spec:nth-child(2n){
    margin: 0 0px 5px 0;
}

.pro-point p{ 
    font-size: 1.1rem;
    font-weight: 600;
}

.pro-point span{ 
    font-size: 0.8rem;
    font-weight: normal;
    margin-right: 10px;
}


@media all and (min-width:1350px){
    .hero .brake-hero_title{
        left: calc(( 100% - 1300px ) / 2 );  
    }
}

@media all and (max-width:750px){
    .hero{
        margin-top: 70px;
        height: 75vh;
    }

    .hero .brake-hero_img::after{
        width: 100%;
        height: 75%;
        background: linear-gradient(to bottom ,rgba(11, 37, 69 , 1) 0%,rgba(19, 51, 95 ,1) 65%,rgba(26, 66, 130 ,0) 100%);
    }

    .hero .brake-hero_img img{
        width: 100%;
        height: 130%;
        margin-top: auto;
    }

    .hero .brake-hero_title{
        top: 3%;
    }
    
    .hero h1{
        font-size: 2em;
        line-height: 1.2;
    }

    .brake-page .hero .sub{
        font-size: 1em;
        margin: 10px 0 15px;
    }

    .pro-point .spec{
        background-color: rgba(0,0,0,0.4);
    }
    
    .pro-point span{ 
        display: block;
    }

    .pro-point p{
        font-size: 1rem;
    }


}

#in_contents .sec-title{
	text-align: center;
	line-height: 1.5;
	margin: 20px auto 30px;
}

#in_contents .sec-title h2{
    font-size: 2em;
    margin: 20px 0;
}

.series-viewport.slick-dotted.slick-slider{
	margin-bottom:75px;
}

.series-viewport .slick-track{
    display: flex !important;
    align-items: stretch;
}

.series-viewport .slick-dots{
    bottom: -60px;
}

.box-card{
	border: solid 1px #eee;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
	padding: 1rem 1.3rem;
    background-color: #fff;
    margin-bottom: 10px;
}

.box-card.p-card.slick-slide{
	margin: 10px 15px 20px;
    height: auto !important;
    float: initial;
    display: flex;
    flex-direction: column;
	transition: 0.4s;
}

.box-card.p-card.slick-slide:hover{
	box-shadow: 0 3px 15px #9dc2e1;	
}

#in_contents .box-card.p-card h3{
	text-align: left;
	font-weight: 600;
	font-size: 1.5rem;
    margin: 0;
    padding: 5px 10px;
    color: #fff;
    background-color: #0c284a;

    display: flex;
    align-items: center;
}

.box-card.p-card h3 span{
	background: #fff;
	padding: 3px 5px;
    margin-right: 10px;
	color: #0c284a;
	font-size: 0.9rem;
	border-radius: 2px;
}

#in_contents .box-card ul{
    margin: 10px 0;
    padding: 0;
}

#in_contents .box-card.p-card p{
    padding-left: 20px;
    flex-grow: 1;
}

#in_contents .box-card p.brake_b{
    border-left: solid 15px #dbe5ef;
    color:#0c284a;
    font-size: 1.3rem;
    font-weight: 600;
    padding: 0 10px;
    margin-bottom: 10px;
}

.box-card .photo{
	/*border: solid 1px #eee;
	box-shadow: 0 0 5px #eee;
    border-radius: 5px;*/
	padding: 1em;
	margin: 5px 0 15px;
}

.box-card .photo img{
	width: auto;
	height: auto;
	max-height: 280px;
	object-fit: contain;
	margin: auto;
}

.brake-page .bg_100vw.light_b .box-shadow{
    box-shadow: 0 0 8px #b0bdcc;
    border-radius: 5px;
    overflow: hidden;
}

.custom_con{
    background: linear-gradient(120deg,#0B2545,#13335f);
    color: #fff;
    padding: 50px 30px;

    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.sec-title{
    flex: 1;
    margin: 2rem auto 30px;
}

.custom_con .mini-cta{
    width: 30%;
    padding: 2rem 0 0 5rem;
    min-width: 350px;
}

#in_contents .custom_con .mini-cta .wp-block-button{
    font-weight: 600;
    border: solid 1px #fff;
    border-radius: 5px;
}

.light_b .chips{
    background: #fff;
    padding: 10px 15px;
    position: relative;
}

#in_contents ul.check-list{
    display: flex;
    flex-wrap: wrap;
}

#in_contents ul.check-list li{
    list-style: none;
    width: 50%;
    margin-left: 0;
}

#in_contents ul.check-list li{
    position: relative;
    padding-left: 1.5rem;
}

.icon-check::before{
    content: "✓";
    color: #297dc7;
    font-weight: 900;
}

.check-list li::before{
    content: "✓";
    position: absolute;
    left: 5px;
    top: 1em;
    transform:translateY(-50%);
    color: #178057;   
    font-weight: 900;
}

.light_b .chip.icon-check{
    position: relative;
}

#in_contents .flex_2_div,
#in_contents .flex_3_div{
    margin-right: 15px;
    margin-bottom: 15px;
}

#in_contents .flex_4_div{
    width: calc(( 100% - 30px) / 4 );
    margin-right: 10px;
    margin-bottom: 10px;
}

#in_contents .flex_4_div:nth-child(4n){
    margin-right: 0;
}

.strength .flex_4_div{
    text-align: center;
    padding: 10px;
}

#in_contents .strength .flex_4_div h4{
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 30px;

    position: relative;
    background-color: transparent;
}

.strength .flex_4_div h4::after{
    content: "";
    width: 15px;
    height: 5px;
    border-radius: 10px;
    background-color: #1E6FD9;

    position: absolute;
    translate: -50%;
    left: 50%;
    bottom: -10px;
}

.app-grid.flex_div .flex_4_div,
.app-grid.flex_div .flex_3_div{
    overflow: hidden;
    position: relative;
    aspect-ratio: 4/3;
    border-radius: 5px;
    padding: 0;
}

.app-grid.flex_div .flex_4_div img,
.app-grid.flex_div .flex_3_div img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brake-page #in_contents .wp-block-image img{
    margin: 0;
}

.brake-page #in_contents .wp-block-image .wp-element-caption{
    text-align: left;
    font-size: 1.4rem;
    padding: 5px;
    font-weight: 600;
}

.bk_b{
    width: 100%;
    height: 100%;
    position: relative;
}

.bk_b::after{
    content: "";
    width: 100%;
    height: 100%;
    background :linear-gradient(to top,rgba( 0,0,0,0.8) 0,rgba(0,0,0,0.1) 40%);
    position: absolute;
    left: 0;
    top: 0;
}

.app-grid.flex_div .flex_4_div p,
.app-grid.flex_div .flex_3_div p{
    color: #fff;
    font-weight: 600;
    position: absolute;
    bottom: 10px;
    left: 15px;
}

.bg_100vw.dark_b .sec-title h2{
    color: #fff;
}

.brake-page #in_contents .step-flex{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: stretch;
}

.brake-page #in_contents .step-flex .step{
    width: calc(( 100% - 40px ) / 5 );
    padding: 15px 7px; 
    margin-right: 10px;
    border: solid 1px #515c71;
    background-color: rgba(255,255,255,.1);
    border-radius: 5px;
    
    display: flex;
    flex-direction: column;
    text-align: center;
}

.brake-page #in_contents .step-flex .step:nth-last-child(1){
    margin-right: 0;
}

.brake-page #in_contents p.icon-number{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #fff;
    color: #0B2545;
    font-weight: 900;
    display: grid;
    place-items: center;
    margin: 0 auto 10px;
}

.brake-page #in_contents .light-number p.icon-number{
    background: #f3f7fc;
    color: #1a5fc0;
    margin: 10px auto 10px;
}


.brake-page #in_contents .step-flex .step h4{
    font-weight: 600;
    font-size: 1.2rem;
    color: #fff;
}

.step-flex .step p{
    color: #c1cee4;
}

.step-flex .step p.icon-number{
    color: #0B2545;
}

.brake-page #in_contents .story-card{
    width: 100%;
}

.brake-page #in_contents .story-card .icon-number{
    color: #fff;
    background-color: #0c284a;
    margin: 0;
    margin-right: 5px;
}

.brake-page #in_contents .story-card h4{
    margin: 10px 0;
}

.brake-page #in_contents .story-card .flex_div{
    padding:10px 0 0;
}

.brake-page #in_contents .story-card .flex_2_div,
.brake-page #in_contents .story-card .flex_3_div{
    /*border: solid 1px #ccc;
    border-radius: 10px;*/
    background-color: #f8fbff;
    padding: 15px 20px;
}

.brake-page #in_contents .story-card ul{
    margin: 0;
}

.brake-page #in_contents .div_green{
    /*border: solid 1px #cfe7dc;
    border-radius: 10px;*/
    background-color: #f3fbf7;
    padding: 15px 20px;

}

.downloads .box-card{
    text-align: center;
    margin-right: 10px;
}

.downloads .box-card h4{
    color: #074395;
}

.faq-div .box-card{
    margin-bottom: 15px;
}

.brake-page #in_contents .faq-div h3{
    font-size: 1.1rem;
    padding: 0;
    margin: 0;
}

.brake-page #in_contents p.point-p{
    color: #132b7a;
    margin-top: 15px;
    
    position: relative;
    padding-left: 1rem;
    line-height: 1.8;
}

.brake-page #in_contents p.point-p::before{
    content: "";
    position: absolute;
    top: 0.3rem;
    left: 0;
    border: solid 8px transparent;
    border-left: solid 12px #132b7a;
}

.brake-page #in_contents p.point-p code{
    background-color: #dde9ff;
    padding: 5px 10px;
    margin: auto 5px;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;;
}

.brake-page #in_contents p.p-color-bk{
    padding: 5px 10px;
    display: inline-block;
    border-radius: 5px;
}

.brake-page #in_contents p.kadai-p{
    padding: 10px;
    text-align: center;
    line-height: 1;
}

.brake-page #in_contents .pattern_box h3{
    padding-left: 5px;
    margin: 0 0 15px;
    border-left: solid 20px #f3f6fb;
    text-align: left;
}


/* 製品ラインナップ用 */

.table-tabs{
    display: flex;
    justify-content: center;
}

.table-tabs button{
    background-color: #fff;
    color: #0b2545;
    padding: 10px 15px;
    border-radius: 3rem;
    border: solid 1px #666;
    margin: 5px;
    font-weight: 600;
    transition: 0.2s;
}

.table-tabs button:hover{
    cursor: pointer;
    color: #fff;
    background-color: #0b2545;
}

.table-tabs .tab-pill.is-active{
    color: #fff;
    background-color: #0b2545;  
}

.spec-table,
.spec-table th,
.spec-table td{
    border: solid 1px #ddd;
}

.spec-table thead th{
    background: #0b2545;
    font-weight: normal;
}

.spec-table tbody td.grp{
    background: #40556f;
    color: #fff;
}

.cpm-shortcode .tab-panel.is-active img{
    display: block;
    margin: 10px auto;
    max-height: 450px;
    max-width: 800px;
    object-fit: contain;
    width: 100%;
}

.brake-page #in_contents .spec-tag-flex{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.brake-page #in_contents .spec-tag-flex .spec-tag{
    width: calc(( 100% - 10px ) / 2 );
    margin-right: 10px;
    margin-bottom: 10px;
    font-weight: 600;
}

.brake-page #in_contents .spec-tag-flex .spec-tag:nth-child(2n){
    margin-right: 0;
}


/* ブレーキフッター */

#pro-contact{
    background: linear-gradient(to bottom,#0c284a 0%,#0c284a 88%,#064394 98%);
    padding: 50px 0 100px;
}

#pro-contact .content_w{
    max-width: 1500px;
}

#pro-contact h3{
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 20px;
}

#pro-contact p{
    font-size: 0.9rem;
}

#pro-contact p.tel{
    font-size: 1.5rem;
    margin: 15px 0 5px;
}

#pro-contact .btn_blue a{
    margin: 3rem 0 0;
}


.light-g-card.flex_3_div{
    border: solid 1px #515c71;
    background-color: rgba(255, 255, 255, .1);
    border-radius: 10px;
    padding: 20px;
}

#pro-contact .light-g-card.flex_3_div{
    display: flex;
    flex-direction: column;
}

#pro-contact .light-g-card.flex_3_div p{
    flex-grow: 1;
}


#pro-contact .btn_white a{
    display: block;
    text-align: center;
    border-radius: 5px;
    padding: 10px 15px;
    background: #fff;
    color: #074395;
    font-weight: 600;
    position: relative;
    transition: 0.3s;
    margin-top: 15px;
}

#pro-contact .btn_white a:hover{
    transform: translateY(2px);
}

#pro-contact .btn_white a::after{
    content: "";
    position: absolute;
    border: solid 8px transparent;
    border-left: solid 12px #074395;
    top: 50%;
    right:5px;
    translate: 0 -50%;
}

#pro-contact .btn_white a,
#pro-contact .btn_white a:visited{
        color: #074395;
}


/* ブレーキコンタクトフォーム */

.brake-page #in_contents .brake_form_div h4{
    text-align: left;
    border-top: solid 1px #ddd;
    margin: 30px 0 15px;
    padding: 25px 0 8px;
}

.brake-page #in_contents .brake_form_div .flex_div{
    padding: 0;
    margin-bottom: 10px;
}

.brake-page #in_contents .brake_form_div .flex_2_div{
    padding: 5px 10px;
}

.brake-page #in_contents .brake_form_div p.name_p{
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 5px;
}

.brake-page #in_contents .brake_form_div p.hissu-p::after{
    content: "必須";
    color: #b4576f;
    font-size: 0.8rem;
    padding: 2px 5px;
    background-color: #fff0ee;
    border: solid 1px #b4576f;
    border-radius: 3px;
    margin-left: 5px;
}

.brake-page #in_contents .brake_form_div input,
.brake-page #in_contents .brake_form_div textarea,
.brake-page #in_contents .brake_form_div select{
    box-sizing: border-box;
    width: 100%;
    font-size: 1rem;
    padding: 10px 8px;
    border-radius: 3px;
    border: solid 1px #666;
}

.brake-page #in_contents .brake_form_div input[type=checkbox]{
    width: auto;
}

@media all and (max-width:767px) {
    
    #in_contents .flex_2_div,
    #in_contents .flex_3_div{
        margin-right: 0;
        margin-bottom: 30px;
    }
    
    .custom_con .sec-title,
    .custom_con .mini-cta{
       width: 100%;
    }

    .custom_con .mini-cta{
        padding: 0;
        
    }

    .custom_con .mini-cta .btn_blue a{
            padding: 30px 40px;
    }

    #in_contents .flex_4_div{
        width: calc(( 100% - 10px) / 2 );
        margin-right: 10px;
        margin-bottom: 10px;
    }

    #in_contents .flex_4_div:nth-child(2n){
        margin-right: 0;
    }

    .brake-page #in_contents .flex_2_div.box-card,
    .brake-page #in_contents .flex_3_div.box-card{
        padding: 15px;
    }
        
    #in_contents .parts-flex .flex_2_div{
        width: calc((100% - 10px ) / 2 );
        margin-right: 10px;
    }

    #in_contents .parts-flex .flex_2_div:nth-child(2n){
        margin-right: 0;
    }
    
    .brake-page #in_contents .step-flex .step{
        width: 100%;
        padding: 15px 20px; 
        margin-right: 0;
        margin-bottom: 15px;
        
        flex-direction: row;
        align-items: center;
        text-align: left;
    }

    .brake-page #in_contents .wp-block-image .wp-element-caption{
        font-size: 1rem;
    }

    .brake-page #in_contents .step-flex .step .icon-number{
        margin: 0 15px 0 0;
    }

    .brake-page #in_contents .step-flex .step h4{
        text-align: left;
        margin: 0;
    }
    
    .brake-page #in_contents .box-card.flex_tatediv{
        padding: 1rem 1.3rem 6rem;
        position: relative;
    }

    #in_contents .sec-title h2{
        font-size: 1.75rem;
    }

    .brake-page #in_contents h3{
        font-size: 1.3rem;
    }

    .custom_con .mini-cta{
        min-width: initial;
    }

    .brake-page #in_contents .pattern_box .wp-block-columns.is-layout-flex{
        gap: 1rem;
    }

    .brake-page #in_contents .pattern_box .box-card ul{
        margin: 0;
    }

    #in_contents ul.check-list{
        display: block;
    }

    #in_contents ul.check-list li{
        width: auto;
    }

}

/****************************/
/* category Page navigation
/****************************/
#f_link_nav{
	width: 100%;
	text-align: center;
}

#f_link_nav .prev{
	float: left;
}

#f_link_nav .next{
	float: right;
}

#f_link_nav .page-numbers{
margin: 0 15px;
}

/****************************/
/* footer
/****************************/

#footer .ft_contact{
    background: url(../image/back_g.jpg) repeat;
    padding:30px 5%;
    align-items: initial;
    justify-content: center;
}

#footer .ft_div{
    display: block;
    padding: 30px 10px;
    width: 50%;
}

#footer .ft_contact .ft_div{
    border: 1px solid #c8c8c8;
    background-color: #fff;
    text-align: center;
    max-width: 500px;
}


#footer .ft_kigyo{
    background: url(../image/back_b.jpg) repeat;
    color: #fff;
    font-size: 0.9rem;
}

#footer .ft_kigyo .flex_div{
    width: 98%;
    margin: auto;
    max-width: 1500px;
}

#footer .ft_kigyo .ft_left {
    width: 40%;
}

#footer .ft_kigyo .ft_left table{
    color: #fff;
    border:  none;
    margin: 20px 0;
}

#footer .ft_kigyo .ft_left th{
    padding: 5px 3px;
    vertical-align: top;
    text-align: right;
}

#footer .ft_kigyo .ft_left td{
    padding: 5px 3px;
    vertical-align: top;
}

#footer .ft_kigyo .ft_right{
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    width: 60%;
}

#footer .ft_kigyo .ft_right .ft_menu{
    margin: 0 10px;
}

#footer .ft_kigyo .ft_left a,
#footer .ft_kigyo .ft_left a:visited,
#footer .ft_kigyo .ft_right a,
#footer .ft_kigyo .ft_right a:visited{
    display: block;
    color: #fff;
    margin: 10px 0;
    padding-left: 20px;
    position: relative;
    transition: 0.3s;
}

#footer .ft_kigyo .ft_right a:hover{
    transform: translateX(4px);
}

#footer .ft_kigyo .ft_right a::before{
    content: '－';
    margin-right: 5px;
    position: absolute;
    left: 0px;
}

#footer .ft_kigyo .ft_right .ft_menu2 img{
    width: 100%;
    max-width: 300px;
    background-color: #fff;
}

#footer .ft_kigyo .ft_right .ft_menu2 a::before{
    content: none;
}

#footer .ft_kigyo .ft_right a.ft_menu_sub{
   margin-left: 15px;
}

#footer .ft_copy{
    width:100vw;
    background-color: #fff;
    color: #074395;
    padding: 5px;
    text-align: center;
}

/****************************/
/* smartphone
/****************************/
@media all and (max-width:922px) {
    #footer .ft_kigyo .ft_left span{
        display: block;
    }
}


@media all and (max-width:767px) {
	p,a,li{
	    font-size: 16px;
	}
    
    .pc-display,
    #header .menu_2{
        display: none;
    }

    .sp-display{
        display: block;
    }
    #header{
        height: 70px;
    }

    #header h1{
        width: 45%;
        padding: 0px;
        padding-left: 10px;
        max-width: 310px;
    }

    #header .h-icon{
        display: none;
    }

    #header h1 img{
        width:100%;
    }

    #header li img{
        height:40px;
    }
    

    #header .menu-btn{
        width: 70px;
        height: 70px;
    }

    #header .menu-content{
        top: 70px;
    }

    #header .menu-content p,
    #header .menu-content a,
    #header .menu-content a:visited{
        padding: 12px 20px;
        font-size: 18px;
    }


    .top-con .flex_div{
        top: 20%;
        margin: auto;
        text-align: center;
    }

    .top-con h2{
        font-size: 24px;
        letter-spacing: 5px;
        width: 100%;
    }

    .top-con .flex_div img{
        max-width: 100px;
        margin-top: 150px;
    }

    .top-con2{
        margin: 50px auto 100px;
    }

    .top-con2 .top_slider{
        position: initial;
        width: 88%;
        height: 350px;
        margin-left: -8%;
    }
    
    .top-con2 .top_slider li{
        height: 350px;
    }

    .top-con2 h2{
        width: 100%;
        font-size: 28px; 
    }

    .top-con2 .top-con2_1{
        width: 95%;
        margin-left: 5%;
        margin-top: -25px;
        padding: 45px 15px 30px;
        line-height: 2rem;
    }

    .top-midashi{
        color: #074395;
        margin-bottom: 30px;
    }
    
    .top-midashi p{
        margin-left: 0;
        font-size: 1.1rem;
    }
    
    .top-midashi p::before{
        content: none;
    }
    
    .top-midashi h2{
        font-size: 2.1rem;
        margin: 15px 0 8px;
    }
    
    .top-midashi h3{
        letter-spacing: 0.1rem;
    }

    .top-con3{
        margin: 50px auto 100px;
    }

    .top-news .top-midashi,
    .top-news .div_w70{
        width: 100%;
    }

    .top-news-list p:nth-child(1){
        margin-bottom: 15px;
        width: 100%;
    }

    .flex_2_div,
    .flex_3_div{
        width: 100%;
        padding: 15px 5px;
        margin: 0;
        margin-bottom: 20px;
    }
    
    

    .flex_2_div.img_b,
    .flex_3_div.img_b{
        padding: 15px 20px;
    }

    #image_head h1{
        font-size: 1.7rem;
    }
    
    .pankuzu{
    	display: none;
    }
    
    #in_contents h3::before{
	    width: 10px;
	    height: 100%;

	    top: 0;
	    left: 0;
	}

    #in_contents .flex_div.sezo_jiseki .jiseki_div{
        width: calc(( 100% - 40px ) / 2 );
    }

    #in_contents .flex_div.sezo_jiseki .jiseki_div p{
        position: initial;
        background-color: #2b7fc4;
    }

    #in_contents .news_ul li p.list_day,
    #in_contents .div_acaive{
        width: 100%;
    }

    #in_contents .news_ul li a p:nth-child(2){
        margin-top: 10px;
    }

    #in_contents .div_acaive{
        border-left: none;
        margin-top: 50px;
	}

    #footer .ft_contact,
    #footer .ft_kigyo{
        padding: 25px 1%;

    }

    #footer .ft_div{
        width: 96%;
        margin: auto;
        padding: 20px 5px;
    }

    
      #footer .ft_kigyo .ft_left{
        text-align: center;
        width: 100%;
    }

    #footer .ft_kigyo .ft_left table{
        margin: 20px auto;
    }

    #footer .ft_kigyo .ft_left th,
    #footer .ft_kigyo .ft_left td{
        display: block!important;
        display:"";
        width: 100%;
        text-align: left;
    }

    #footer .ft_kigyo .ft_left td{
        padding-left: 30px;
    }

    #footer .ft_kigyo .ft_right ul{
        margin: 0 2px;
    }

    #footer .ft_kigyo .ft_right .ft_menu2{
        text-align: center;
        margin-top: 25px;
    }

    
    



}

/* word press classdereat*/

#in_contents .wp-block-button__link{
	background-color: transparent;
	border-radius: 0;
	padding: 0;

}

/************************/
/* word press custom css*/
/************************/

#in_contents .wp-block-image img{
	margin: 30px auto;
}

#in_contents .wp-block-image{
	text-align: center;
}

.tbl_td1 td{
	border:5px solid #fff !important;
}

.tbl_td1 td:nth-of-type(1){
background-color: #dbe6ef;
font-weight:bold;
}

.flex_list{
	display: flex;
	flex-wrap: wrap;
}

.flex_list li{
	width: calc( 100% / 3 - 20px );
	padding: 2px 10px;
}

.tate_div{
	padding: 15px 3px;
	text-align: center;
	writing-mode: vertical-rl;
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: 1.2rem;
}

.semitu_ikatu{
	padding: 0;
}

.semitu_ikatu .ikatu_komoku{
	padding: 20px 5px;
	border: solid 2px #2f83be;
	border-radius: 5px;
	margin: 10px auto;
}

.semitu_ikatu .ikatu_komoku .wp-block-image{
	margin: 0;
}

.wp-block-columns.is-layout-flex.gap_0{
	gap: 0.5em;
}


@media all and (max-width:767px) {
	.tbl_sp td,.tbl_sp th{
		display: block!important;
		width:auto;
		padding: 10px;
	}
	
	.wp-block-table.tbl_td1 td{
		padding: .8em .5em; 
	}
	
	.tbl_td1 td:nth-of-type(1){
		text-align: center;
	}
	
	.flex_list li{
		width: calc( 100% / 2 - 20px );
	}
}

/* contact7 */
.flex_div.contact_form{
	justify-content: flex-start;
	padding: 0;
}

.contact_form{
	border-bottom: solid 1px #d1d1d1;
}

.contact_form .form_name{
	width: 20%;
	padding: 25px 8px 5px 25px;
	background-color: #eee;
	position: relative;
	font-weight: 600;
}

.contact_form .form_hissu::after{
	content: "*";
	color: red;
	margin-left: 10px;
	position: absolute;
	top: calc(1rem + 10px);
	left: 0px;
}

.contact_form .form_nyuryoku{
	width: 80%;
	padding: 25px 10px;
}

.contact_form .form_nyuryoku input,
.contact_form .form_nyuryoku textarea{
	font-size: 1rem;
	width: 100%;
	padding: 5px;
	border-radius: 3px;
	border: solid 1px #999;
}

.contact_form .form_nyuryoku.check_div input{
	width: initial;
}

#in_contents .btn_soshin{
	text-align:center;
}

#in_contents .btn_soshin .wpcf7-form-control{
	width: 80%;
	max-width: 250px;
	height: 50px;
	margin-top: 30px;
	background: #064394;
	border: none;
	border-radius: 5px;
	color: #fff;
	font-size: 1.2rem;
}

#in_contents .btn_soshin .wpcf7-form-control:hover{
	cursor: pointer;
	opacity: .7;
}

@media all and (max-width:767px){
	.contact_form .form_name,
	.contact_form .form_nyuryoku{
		width: 100%;
	}
	
	.contact_form .form_name{
		padding: 15px 8px 15px 25px;
	}
	
	.contact_form .form_hissu::after{
		top: 1rem;
	}
	
	.contact_form .form_nyuryoku input{
		height: 45px;
		padding: 5px;
	}
	
	.contact_form .form_nyuryoku.check_div .wpcf7-list-item{
				display:block; 
	}
	
	.contact_form .form_nyuryoku.check_div label{
		display:block; 
		margin-bottom: 10px;
	}
	
	.contact_form .form_nyuryoku.check_div input{
		height: auto;
	}
}

/* recruit */
#in_contents .rec_top img{
	margin: 0;
}

#in_contents .rec_top .wp-block-image{
	margin: 0;
}

#in_contents .wp-block-cover.bg_100vw.rec_01{
	height: 100vh;
}

#in_contents .bg_100vw.rec_01_sp{
	padding: 0;
	position: relative;
	height: 100vh;
}

#in_contents .bg_100vw.rec_01_sp .rec_01_bkimg{
	width: 100%;
	height: 100%;
	overflow: hidden;
	margin:0;
	padding: 0;
	background-color: #000;
}

#in_contents .bg_100vw.rec_01_sp .rec_01_bkimg{
	height: 100%;
	overflow: hidden;
}

#in_contents .bg_100vw.rec_01_sp .rec_01_bkimg li{
	height: 100vh;
	padding: 0;
	margin: 0;
}

#in_contents .bg_100vw.rec_01_sp .rec_01_bkimg img{
	object-fit: cover;
	width: 100%;
	height: 100%;
	opacity: 0.75;
}

#in_contents .bg_100vw.rec_01_sp .rec_01_sp_p{
	position: absolute;
	width: 100%;
	text-align: center;
	color: #fff;
	top: 50%;
	left: 0;
	transform: translateY( -50%);
}

#in_contents .bg_100vw.rec_01_sp .rec_01_sp_p p{
	font-weight: 600;
}

#in_contents .bg_100vw.rec_01_sp .rec_01_sp_p .rec_01_title{
	font-size: 2.2rem;
}

#in_contents .wp-block-cover.bg_100vw.rec_02{
	padding: 100px calc(50vw - 50%);
}

.rec_02-1 p{
	font-size: 38px;
	font-weight: 600;
}

.rec_02-2{
	padding-top: 17rem;
	font-weight: 600;
	line-height: 2rem;
	color: #fff;
}

#in_contents .rec_03 a{
	display: block;
	padding: 30px 0;
}

#in_contents .rec_03 a span{
	font-size: 14px;
}

/*#in_contents .wp-block-cover.bg_100vw.rec_04_div{
	padding: 0!important;
	height: auto;
}*/

#in_contents .bg_100vw.rec_job{
	padding: 0;
	height: auto;
}

#in_contents .rec_job .wp-block-group__inner-container{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

#in_contents .wp-block-cover.rec_04_div{
	padding: 0!important;
	height: auto;
	width: 50%;
}

#in_contents p.rec_04_b a{
	display: block;
	padding: 60px 15%;
	background-color: #114a8d;
  color: #fff !important;
  font-size: 24px;
  font-weight: 600;
	transition: 0.2s;
	position: relative;
	border-bottom: solid 1px #fff;
}

#in_contents .wp-block-cover.rec_04_div:nth-child(even)  p.rec_04_b a{
	border-left: solid 1px #fff;
	
}


#in_contents p.rec_04_b a span{
	font-size: 14px;
	margin-left: 15px;
}

.rec_04_b a:visited{
	color: #fff !important;
}

#in_contents p.rec_04_b a:hover{
	opacity: 1;
	background-color: rgba(17, 74, 142,0.5);
}


#in_contents p.rec_05-b a{
	display: block;
	border: solid 1px #fff;
	color: #fff;
	font-size: 32px;
	font-weight: 600;
	background-color: rgba(17, 74, 142,0.8);
	padding: 25px;
	margin: 30px auto;
}

#in_contents p.rec_05-b a span{
	font-size: 14px;
	display: block;
}
#in_contents .rec_interview .wp-block-group{
	padding-bottom: 10px;
}

#in_contents .rec_interview img{
	aspect-ratio: 5 / 3;
	object-fit: cover;
}

#in_contents .rec_interview p{
	border-left: solid 15px #297dc7;
	padding: 5px 5px 5px 10px;
}

#in_contents .rec_interview a,
#in_contents .rec_interview a:visited{
	display: block;
	color: #000;
}

.job_title span{
	display: block;
	font-size: 16px;
	color: #297dc7;
}



@media all and (max-width:767px){
	#in_contents .wp-block-cover.bg_100vw.rec_01{
	display: none!important;
}

	.rec_02-1 p{
		font-size: 28px;
}

	.rec_02-2{
		padding-top: 3rem;
	}
	
	#in_contents .wp-block-cover.rec_04_div{
	width: 100%;
}
	
	#in_contents p.rec_04_b a{
		padding: 40px 5%;
		background-color: rgba(17, 74, 142,0.7);
	}
	
	#in_contents p.rec_04_b a span{
		display: block;
		margin-left: 0;
	}
	
	#in_contents p.rec_05-b a{
		font-size: 20px;
	}
}


	#in_contents .flow_brake{
	width: 100%;
	justify-content: flex-start;
	gap: 0;
}

	#in_contents .flow_brake .flow_brake_div{
	width: 20%;
	background-color: #e8f6fe;
		padding-left: 35px;
		position: relative;
		text-align: center;
}

#in_contents .flow_brake .flow_brake_div::after{
	content: "";
	background: #73b1d5;
	clip-path: polygon(0% 0%, 100% 50% , 0% 100%);
	width: 35px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 100%;
	z-index: 10;
}

#in_contents .flow_brake .flow_brake_div.step1,
#in_contents .flow_brake .flow_brake_div.step1::after{
	background-color: #a2d8ff;
}

#in_contents .flow_brake .flow_brake_div.step2,
#in_contents .flow_brake .flow_brake_div.step2::after{
	background-color: #b5e7ff;
}

#in_contents .flow_brake .flow_brake_div.step3,
#in_contents .flow_brake .flow_brake_div.step3::after{
	background-color: #d3f3ff;
}
#in_contents .flow_brake .flow_brake_div.step4,
#in_contents .flow_brake .flow_brake_div.step4::after{
	background-color: #baefff;
}

#in_contents .flow_brake .flow_brake_div.step5{
	background-color: #a5e3fb;
}

#in_contents .flow_brake .flow_brake_div:nth-child(1){
	padding-left: 5px;
}

#in_contents .flow_brake .flow_brake_div:nth-last-child(1)::after{
	content: none;
}

	#in_contents .flow_brake .flow_brake_div img{
	margin: 25px 10px 10px 10px;	
}

	#in_contents .flow_brake .flow_brake_div p{
	font-weight: 600;
	color: #074395;
	margin-bottom: 25px;
}


@media all and (max-width:767px){
	#in_contents .flow_brake{
		width: 100%;
		max-width: 450px;
		margin: 10px auto;
	}
	
	#in_contents .flow_brake .flow_brake_div{
		width: 100%;
		padding-left: 0px;
		padding-top: 45px;
	}
	
	#in_contents .flow_brake .flow_brake_div::after{
	content: "";
	clip-path: polygon(0% 0%, 100% 0% , 50% 100%);
		top: 95%;
		left: 0;
		width: 100%;
		height: 45px;
	
	}
}