@charset "utf-8";
/* レイアウトのためのCSS */
body{
    overflow-x: hidden;
    background:#2e4179;
	color: #333;
	font-size:18px;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
    letter-spacing: 0.2em;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-feature-settings: "palt" 1;
}
@font-face {
    font-family: "Local Noto Sans JP";
    src: local("Noto Sans JP");
  }
.sp{
	display: none;
}
#template-page{
    min-height: 84vh;
}
body.appear{
    background:#f3f4f5;
}

.underline {
  width: 80px;
  height: 6px;
  background: #fff;
  margin-bottom: 20px;
}
p{
	font-weight: 500;
}
ul{
	margin:0;
	padding: 0;
	list-style: none;
}
h3{
	font-size: 2.8125rem;
}

a{
	color: #333;
	text-decoration: none;
    outline: none;
	transition: all 0.3s;
}
a:hover{
	opacity: 70%;
	transition: all 0.2s;
}

img{
    width:100%;
    height: auto;
}

*{
    box-sizing: border-box
}

/**************レイアウト*****************/
.flx-box{
	display: flex;
	flex-wrap: nowrap;
}
.minbox_app{
	margin-bottom: 1.5rem;
}
/* area */

.inner{
    width:100%;
    margin:0 auto;
    padding:70px 0;
}
.inner .contents{
	margin: 0 auto;
	max-width: 1200px;
}

/* slider */

.slider{
    position: absolute;
    top:112px;
    right:0;
    width:95%;
    border-radius: 30px 0 0 30px;
    overflow: hidden;
	z-index: 1;
    height: 41vw;	
}
.slider-item{
    border-radius: 20px 0 0 20px;
	height: 41vw;
    background-repeat: no-repeat!important;
    background-position: center!important;
    background-size: cover!important;
}
/*　背景画像設定　*/

.slider-item01 {
    background:url(../img/main_01.png);
}

.slider-item02 {
    background:url(../img/main_02.png);
}

.slider-item03 {
    background:url(../img/main_03.png);
}

h2{
    font-size: 3.875rem;
    text-transform: uppercase;
    display: block;   
}
.angled-section {
	position: relative;
	height: 660px;
	overflow: hidden;
	clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);; /* 左下が斜めの形 */
}
.background-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image:url("../img/top_item01.png");
  background-size: cover;
  background-position: center;
  z-index: -1; /* 背景として */
}

/* 中のコンテンツ */
.content {
  position: relative;
  color: white;
  text-align: center;
  padding-top: 40vh;
}
/* header */

#header{
    height: 46.5vw;
    position: relative;
}


#header h1 img,
#header h1 canvas{
    width:100px;
    position: relative;
    left:1.8em;
}

#header h1{
    font-size: 4.08vw;
    color: #fff;
    line-height: 1.5;
    font-weight: 900;
    margin: 0 0 50px 0;
}

.header-area {
    position: relative;
    z-index: 2;
    top: 4vw;
    left: 10vw;
    animation-delay: .5s;
}

.header-area .lead::after{
    content:'';
    position: absolute;
    top:0;
    left:-50px;
    width:10px;
    height: 100%;
    background:#2e98e5;
}

.header-area .bg-white{
    background:#f0f0f0;
    padding: 5px;
}

.header-area .border-yellow {
    background: linear-gradient(transparent 60%, #ffff66 60%);
}

.header-utility{
	position: absolute;
	z-index: 2;
	top:0;
	right:80px;
	background: #e6e6e6;
	font-weight: bold;
    display: flex;
    border-radius:0 0 10px 10px;
}

.header-utility li{
    position: relative;
}

.header-utility li:first-child::after{
    content: '';
    position: absolute;
    right: 0;
    top: 20px;
    background:#333;
    width:1px;
    height: 30px;
    transform: rotate(23deg);
}

.header-utility li a{
	display: block;
	padding: 20px 20px 20px 50px;
    transition: all 0.3s;
}

.header-utility li .pcnone{
    display: none;
}

.header-utility li a:hover{
     color: #666;   
}

.header-utility li:first-child a{
     background:url("../img/ico_book.svg") no-repeat 20px center;
    background-size:20px 20px;
}

.header-utility li:last-child a{
     background:url("../img/ico_tel.svg") no-repeat 20px center;
    background-size:20px 20px;
}

/* gnavi */
.head-corporate a{
	color: #000;
	letter-spacing: 0em;
}
#header h1.head-corporate{
	font-size: 1.3vw;
    line-height: inherit;
    font-weight: 900;
	margin: 0;
}
nav #g-nav-list01{
	align-items: center;
    height: 112px;
	justify-content: space-between;
	margin: 0 4.5vw 0 5vw;
}
#g-nav-list01 li {
    font-weight: 600;
    display: block;
    text-decoration: none;
    padding: 20px 12px;
    transition: all .3s;
    font-size: .94rem;
	letter-spacing: .1em;
}
#g-nav-list01 .flx-box li a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: #000000;
bottom: -1px;               /*アンダーラインがaタグの下端から現れる*/
transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
transition: transform 0.3s; /*変形の時間*/
}
#g-nav-list01 .flx-box li a{
position: relative; /*アンダーラインの位置を決めるための基準 */
}

#g-nav-list01 .flx-box li a::after {
position: absolute; /*親要素であるaタグを基準に位置を指定*/
left: 0;            /*アンダーラインを各メニュー（aタグ）の左端に指定*/
content: '';        /*本来は、擬似要素に入るテキストなどを’’内に指定。今回はアンダーラインなので何も記載しない*/
width: 100%;        /*アンダーラインを各aタグの幅に合わせる*/
height: 2px;        /*アンダーラインの高さ（太さ）*/
background: #000000;/*アンダーラインの色*/
}

#g-nav-list01 .flx-box li a:hover::after {
transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
}

#g-nav ul {
    display: flex;
    justify-content: left;
    gap: 2rem;
    flex-wrap: wrap;
    max-width: 635px;
	    padding-left: 6vw;
}

#g-nav.panelactive ul li{
    position: relative;
    width:30%;
    text-align: left;
    white-space: nowrap;
}

#g-nav li a{
    padding: 15px 20px;
}

#g-nav.panelactive ul li::before{
    content:'';
    width:5px;
    height: 5px;
    background:#2e98e5;
    position: absolute;
    left:-10px;
    top:43%;
}

/* top-aboutus */
#aboutus,#recruit{
    background: url(../img/bg_items_01.png) no-repeat left top, url(../img/bg_items_02.png) no-repeat right bottom;
    background-size: 38%;
}
#aboutus h2{
	margin: 115px 0 50px 0;
}
.mintl img{
	width: auto;
	height: 32px;
}
.txt-box{
	margin-top:52px 
}

.txt-area p{
	border-left: solid 24px #2e4179;
	padding-left: 37px;
	padding-top: 13px;
	padding-bottom: 13px;
	line-height: 2rem;
}
.txt-area2 p{
	line-height: 2rem;
	min-height: 9rem;
}
.contents h2{
	margin-bottom: 50px
} 
.contents .flx-box{
	gap: 2%;
}
.flx-box img{
	width: auto;
}
.txt-area a{
	display: inline-block;
    margin: 1.1875rem 0 0 3.875rem;
}
.txt-area2 a{
	display: inline-block;
	margin-left: auto;
}
/* top-unionactivities  */
.con02 h2{
	text-align: right;
}
.con02 .flx-box{
	flex-direction: row-reverse;
}
.con02 .mintl img {
    width: auto;
    margin-left: auto;
	display: block;
}
.ua-img01{
	 margin-top: -47px;
}
.readmore-btn{
	width: 50%!important;
}
#unionactivities #ua01{
	background:url("../img/con02_items01.png") no-repeat right bottom;
}
#youthassociation #ya02{
	background:url("../img/con02_items02.png") no-repeat left bottom;
}
.min-box{
	width: 45%;
}
.right-po-links{
	text-align: right;
}
    
/*license-info_box*/
#license-info_box{
    padding: 2.5rem 0 7.9375rem;
}
#license-info_box .txt-box{
	padding: 0 5%;
}
#license-info_box .flx-box {
	justify-content: space-between;
}
#license-info_box .flx-box .min-box{
	position: relative;
    padding: 10px;
    margin: 0;
    list-style: none;
}
#license-info_box .flx-box .min-box::before{
    content: "";
    display: block;
    height: 255px;
    width: 0px;
    border-right: 2px solid #333;
    position: absolute;
    left: -64px;
    top: 0;
    bottom: 0;
    margin: auto;
}
#license-info_box .flx-box .min-box:first-of-type::before{
    content: none;
}
#license-info_box .txt-box{
	margin-top: 0;
}
.min-box h3{
	margin-bottom: 0.5625rem;
}
/*----PICK UP-----*/
.banner a{
	display: flex;
	align-items: stretch;	
	background-image: linear-gradient(137deg, rgb(63 187 219) 44%, rgba(0, 113, 188, 1));
	overflow: hidden;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
    width: 80%;
    margin: 0 auto 6px;
}

.banner-image {
  flex: 1;
  overflow: hidden;
  clip-path: polygon(100% 0, 0 0, 0 100%, 65% 100%);
}

.banner-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.banner-content {
  flex: 1;
  padding: 28px 2% 0;
  display: flex;
  flex-direction: column;
  /*justify-content: center;*/
}

.banner-content h1 {
	font-size: 2.2rem;
    margin: 0 0 16px;
    font-weight: bold;
	line-height: 3rem;
}
.banner-content p {
  line-height: 1.8;
  font-size: 1.1875rem;
}

#pickup{
	background: url("../img/top_mintl_06_pickup.png")  no-repeat right 370px top -16px;
	padding: 80px 0 0;
	 letter-spacing: 0.05em;
}

.pick-box{
	background-image: url("../img/top_pickup_bg.png");
	clip-path: polygon(80% 0, 0 0, 0 100%, 100% 100%);
	padding: 50px 0 26px;
	background-size: cover;
}
#pickup .contents .banner:nth-child(2){
     animation-delay: 0.2s;   
}
#pickup .contents .banner:nth-child(3){
     animation-delay: 0.4s;   
}

/* recruit */
#recruit{
	    padding-bottom: 178px;
}

/* footer */

#footer{
    background: #2e4179;
    color: #fff;
	height: 55px;
}

#footer a{
    color: #fff;
}


small{
	padding-top: 1rem;
    display: block;
    text-align: center;
	letter-spacing: 0;
}
/*------------------------下層ページ----------------------------*/
#kaso02 #header{height: auto!important;}
#INaboutus{
	padding-bottom: 105px;
}
.page-top{
	padding: 7px 0 30px;
	margin-bottom: 45px;
}
.about-section,
.union-section,
.youth-section,
.ms-section,.licensed-section,
.rec-section{
	display: flex;
	align-items: center;
	justify-content: right;
	gap: 110px;
}

/* --- テキスト部分 --- */
.pagetl{
	margin-top: auto;
	font-size: 3.4375rem;
	font-weight: 800;
	line-height: 4rem;
}
.pagetl h2 {
	font-size:3.4375rem;
	font-weight: 800;
	margin-bottom: 20px;
}
.pagetl .sub img{
	max-width: 185px;
}
.union-section .pagetl .sub img {
	max-width: 333px;
}
.youth-section .pagetl .sub img {
    max-width: 340px;
}
.ms-section .pagetl .sub img {
    max-width: 520px;
}
.rec-section .pagetl .sub img {
    max-width: 166px;
}
.rec-section .pagetl {
    width: 31rem;
}
/* --- 画像＆青ボックス --- */
.about-image-wrapper,
.union-image-wrapper,
.youth-image-wrapper,
.ms-image-wrapper,
.licensed-image-wrapper,
.recruit-image-wrapper{
	position: relative;
	width: 50%;
	right: 0;
}

.about-image-wrapper img,
.union-image-wrapper img,
.ms-image-wrapper img,
.licensed-image-wrapper img,
.recruit-image-wrapper img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 青バー（画像とは別のレイヤー） */
.image-container {
	position: relative;
	height: 28.5vw;
	border-radius: 30px 0 0 30px;
	z-index: 2; /* 画像が前面 */
	background: url("../img/01_aboutus/page-top_01_aboutus.jpg")no-repeat;
	background-size: cover;
}
.union-image-wrapper .image-container {
	background: url("../img/02_union_activities/page-top_02_unionactivities.jpg")no-repeat;
	background-size: cover;
}
.youth-image-wrapper .image-container {
	background: url("../img/03_youth/page-top_03_youthassociation.jpg")no-repeat;
	background-size: cover;
}
.ms-image-wrapper .image-container {
	background: url("../img/08_membership-info/page-top_08_membership.jpg")no-repeat;
	background-size: cover;
}
.licensed-image-wrapper .image-container {
	background: url("../img/04_getlicense/page-top_04_getlicensed.jpg")no-repeat;
	background-size: cover;
}
.recruit-image-wrapper .image-container {
	background: url("../img/07_recruit/page-top_07_recruit.jpg")no-repeat;
	background-size: cover;
}

.blue-bar {
    position: absolute;
    top: 13vw;
    left: -14px;
    width: calc(75% + 20px);
    height: 16.3vw;
    background: #2e4179;
    border-radius: 43px;
    z-index: 1;
}
.page-con h3,.login-box h3.con_single h3{
	font-size: 1.875rem;
	color: #2e4179;
	font-weight: 800;
}
.page-con h4{
	font-size: 2.8125rem;
	color: #2e4179;
	font-weight: 800;
	border-left: solid 24px #2e4179;
	padding-left: 37px;
}
.page-con .txt-box{
	margin: 0;
	font-weight: 500;
	margin-bottom: 51px;
}
.lead-name{
	font-size: 1.5rem;
	letter-spacing: -0.04em;
	line-height: 1.8rem;
}
.photo-leader{
	justify-content: right;
	align-items: end;
}
#lead-comments{
	margin-bottom: 54px;
}
#lead-comments h4{
	width: 40%;
	max-height: 90px
}
#lead-comments .txt-box{
	width: 60%;
}
.gaiyo{
	background: url("../img/bg_blue01.png")no-repeat bottom;
	background-size: cover;
	color: #fff;
	text-align: center;
	padding: 30px 0;
}
.font-min,.font-min p{
	font-family: "Noto Serif JP", serif;
	font-weight: 900;
}
.gaiyo h5{
	font-size: 2.8125rem;
	margin-bottom: 2.5rem;
}
.gaiyo-box {
	max-width: 590px;
	margin: 0 auto;

}
.gaiyo-box dt{
	padding-right: 90px;
	letter-spacing: 0.4em;
}
.gaiyo-box .flx-box{
	margin-bottom: 0.5rem;
} 
/**組合の活動について**/
#INunionact{
	background: url(../img/bg_items_04.png) no-repeat right top 15rem, url(../img/bg_items_03.png) no-repeat left top 93rem,url(../img/bg_items_04.png) no-repeat right top 163rem, url(../img/bg_items_03.png) no-repeat left top 230rem;
	background-size: 38%;
}
.uni-link-box,.gl-link-box,.rec-link-box{
	margin-bottom: 75px;
}
.uni-link-box .flx-box{
	align-items: center;
  justify-content: space-between; 
}
.uni-link-box .flx-box, .gl-link-box .flx-box {
	align-items: center;
  justify-content: flex-start; 
}
.rec-link-box .flx-box{
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.unicon-items a {
   display: flex;
    align-items: center;
    justify-content: space-between;
	padding: 12px 30px;
    width: 270px;
    border: 4px solid #25427B;
    text-decoration: none;
    position: relative;
    color: #25427B;
    font-size: 1.25rem;
    font-weight: bold;
    letter-spacing: -0.02em;
	background-color: #fff;
}
.unicon-items a::after,.glicensed-items a::after,.rec-items a::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border-right: 4px solid #25427B;
  border-bottom: 4px solid #25427B;
  transform: rotate(45deg);
  margin-left: 10px;
}
.glicensed-items a{
     display: flex;
    align-items: center;
    justify-content: space-between;
	padding: 12px 20px;
    width: 420px;
    border: 4px solid #25427B;
    text-decoration: none;
    position: relative;
    color: #25427B;
    font-size: 1.25rem;
    font-weight: bold;
    letter-spacing: -0.03em;
	background-color: #fff;
}
.rec-items a{
	 display: flex;
    align-items: center;
    justify-content: space-between;
	padding: 12px 20px;
    width: 280px;
    border: 4px solid #25427B;
    text-decoration: none;
    position: relative;
    color: #25427B;
    font-size: 1.15rem;
    font-weight: bold;
    letter-spacing: -0.03em;
	margin-bottom: 1rem;
}
.section-wrapper {
    align-items: self-end;
    padding: 50px 0;
  }

.section-image {
    width: 50%;
    height: 250px;
    background-size: cover;
    background-position: center;
    clip-path: polygon(80% 0, 0 0, 0 100%, 100% 100%);
    padding: 50px 0 26px;
  }
#uni01 .section-image{
	background-image: url("../img/02_union_activities/uni_con_bg01.jpg");
  }
#uni02 .section-image{
	background-image: url("../img/02_union_activities/uni_con_bg02.jpg");
  }
#uni03 .section-image{
	background-image: url("../img/02_union_activities/uni_con_bg03.jpg");
  }
#uni04 .section-image{
	background-image: url("../img/02_union_activities/uni_con_bg04.jpg");
  }
.uni-con02 .section-image {
  	clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
  }

.section-content {
	padding: 40px 40px 0;
	position: relative;
} 
.uni-con02 .section-content {
	position: relative;
	padding: 40px 89px 0 0;
}

  .section-title span{
    font-size: 2.5rem;
    font-weight: bold;
    color: #25427B;
    position: relative;
    padding-bottom: 8px;
    margin-bottom: 12px;
  }
.section-title span::after,.uni-con02 .section-title span::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 140%;
	min-width: 477px;
    height: 4px;
    background-color: #25427B;
}
  .section-text {
	font-weight: 500;
    color: #333;
    margin-top: 0.5rem;
    line-height: 2rem;
    inline-size: 31.875rem;
    letter-spacing: -0.015em;
  }
.uni-con02{
	flex-direction: row-reverse;
}
h5{
	font-size: 1.25rem;
	margin-bottom: 20px;
	font-weight: 900;
}
.uni-mintl span{
	color: #2e4179;
}
.uni-min-con .txt-box{
	line-height: 2.5rem;
	margin-bottom: 58px;
}
.min-con-box {
    margin: 0px;
	padding-left: 2.5rem;
    list-style: none;
}

.uni-min-con ul li:before{
  content:url("../img/icon-triangle .png");
  display:inline-block;
  width:10px;
  height:auto;
  margin-right:6px;
  position:relative;
  top:3px;
  left:0;
}
.min-con-box li{
	line-height: 2.2rem;
	text-indent: -1em;
	padding-left: 1em;
}
.uni-min-con,.gl-min-con,.min-rec-con {
  scroll-margin-top: 130px;
}
#youth-con02-box{
	    gap: 5%;
}
/* 左カラム */
.left {
  flex: 1.2;
}

.left h2 {
  color: #2c3e8e;
  font-size: 1.1rem;
  margin-bottom: 10px;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

th, td {
  border-bottom: 1px solid #ccc;
  padding: 8px;
  text-align: left;
}
td{
	min-width: inherit!important;
}
th {
	background: #dbdbdb;
	font-weight: bold;
	text-align: center;
}
/* 偶数行に背景色をつける */
tbody tr:nth-child(even) {
  background-color: #ebebeb;
}

/* 右カラム */
.right h2 {
  color: #2c3e8e;
  font-size: 1.1rem;
  margin-bottom: 10px;
}

.right p {
	font-size: 0.9rem;
	line-height: 2rem;
	margin: 40px 0;
}
.right .min-txt{
	margin: 0;
	letter-spacing: -0.01em
}

.link {
	display: block;
	position: relative;
	margin-bottom: 10px;
	color: #2c3e8e;
    text-decoration: none;
    font-weight: 600;
    max-width: 308px;
    background-color: #fff;
    letter-spacing: -0.01em;
    border: solid 2px #2c3e8e;
	padding: 6px 0;
    padding-left: 2rem;
    font-size: 0.95rem;
}
.link::before {
	content: "›";
	position: absolute;
	left: 17px;
    top: -0.8rem;
    color: #2c3e8e;
    font-weight: 300;
    font-size: 2rem;
}
/**組合加入のご案内:*/
.ms-con-box h3{
	margin-bottom: 54px;
}

/**青年部:*/
.licensed-con .con02 .flx-box {
    justify-content: flex-end;
}
#youth-history{
	letter-spacing: -0.02em;
    gap: 4%;
	margin-bottom: 49px;
}
#youth-history .img-box{
	margin-top: .9rem;
}
.con-txt-area {
	line-height: 2.2rem;
	inline-size: 640px;
	text-align: justify;
	text-align-last: left;
}
/*組合加入案内*/
#INmembership{
	margin: 0;
	padding: 0;
}
#INmembership img{
	margin-bottom: -.8rem;
}
/**資格取得について**/
#INlicense{
	background: url(../img/bg_items_04.png) no-repeat right top 3rem, url(../img/bg_items_03.png) no-repeat left top 52rem,url(../img/bg_items_04.png) no-repeat right top 141rem;
	background-size: 38%;
}
.notice-box {
  line-height: 1.8;
  font-size: 15px;
}

.notice-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.gl-con-box .contents{
	margin-bottom: 106px;
}
.gl-min-con .contents p{
	line-height: 2rem;
	letter-spacing: -0.01em;
	inline-size: 1041px;
}
.notice-list li {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-bottom: 1em;
}
.gl-min-con h3{
	margin-bottom: 55px;
}

.gl-min-con .min-tl,.notice-box{
	margin-bottom: 30px;
}
.gl-min-con .txt-box p{
	margin-bottom: 10px;
}
.licensed-con .page-con .txt-box{
	margin-bottom: 10px;
}
.licensed-con .con02 .txt-box{
	max-width: 65%;
}
#gl-con02 li{
	display: block;
}
.gl-no01 h6{
	margin-left: 1rem;
}
.gl-no01 h6::before{
  content: "・";
  position: absolute;
  left: -1rem;
  top: 0;
}
.notice-list .min-box{
	flex-shrink: 0;
	width: 10em; 
	display: block;
}
h6{
	font-size: 1rem;
	font-weight: 800;
	text-align:justify;
	text-align-last:justify;
	position: relative;
}
.n_con h6{
	text-align:inherit;
	text-align-last:inherit;
	    font-size: 1.25rem;
}
#gl-con02 h6{
	text-align:inherit;
	text-align-last:auto;
}
#gl-con02 .min-box,
#gl-con02 .notice-list .min-box{
	width:auto;
}
.gl-no01 h6::after{
	content: "：";
	position: absolute;
	right: -1em;
	text-align: left;
}
.text {
	font-weight: 500;
	flex: 1;
	padding-left: 1.7em;
	letter-spacing: -0.01em
}
#gl-con02 .text{
	padding-left: 0;
}
.rec-con-box .linkbtn{
	color: #757575;
}
.notice-list .linkbtn,.linkbtn,.rec-con-box .onrec{
	color: #0066cc;
	text-decoration: none;
	font-weight: 600;
}

.notice-list .link:hover {
  text-decoration: underline;
}
.onrec{
	transition: .3s;
}
.onrec:hover {
 color: #eb5700;
	
}
.si-min-txt{
	font-size: 0.75rem;
}
#juko{
	    max-width: 157px!important;
}
.kunrenko{
	 margin-top: 25px;
}

.kunrenko .bo-txt{
	font-size: 1.125rem;
	font-weight: 800;
}
h5.mar-top{
	    margin: 1rem 0;
}
.con02 .gl-img-box{
	margin-top: 1.25rem;
}
.min-txt-box{
	letter-spacing: -.02em;
	margin-bottom: 20px;
}
/*求人情報*/

.rec-con-box{
	margin:40px 0; 
}
hr{
	height: 2px;
    border-bottom: solid 2px #2e4179;
    overflow: visible;
}

/*組合員へのお知らせ*/
#INinfo{
	min-height: 84vh;
	background: url(../img/bg_items_01.png) no-repeat left top, url(../img/bg_items_02.png) no-repeat right bottom;
	background-size: 38%;
}

.toptl-images{
	max-width:355px;
	margin: 0 auto;
}
#INinfo #wpmem_login{
	padding-top: 146px;
	max-width: 960px;
	margin: 0 auto;
}
.login_status{
	padding-top: 146px;
}
.inner .log-form-box{
	margin: 0 auto;
}
.login-box legend,.link-text-reconfirm,.link-text-username{
display: none;
}

.log-form-box .myform-row label,
.reset-pass-con #wpmem_pwdreset_form label,
.reset-pass-con #wpmem_pwdchange_form label,
.myform-row label{
	font-weight: 700;
	margin-top: .6em;
}
.toptl-images{
	max-width:355px;
	margin: 0 auto;
}

.log-form-box .forgot-pass-box,
#wpmem_pwdreset_form .link-text{
	font-size: .8rem;
	text-align: center;
}
.log-form-box .forgot-pass-box a,
#wpmem_pwdreset_form .link-text a{
	color: #2e4179;
	font-weight: 600;
}

.myform-row {
	margin-bottom: 1.5rem;
}
.login-box .text,
.reset-pass-con #wpmem_login label,
.myform-row label{
	width: 35%;
	padding-left: 0;
}
.login-box .div_text,.login-box .div_text{
	width: 65%;
}
.reset-pass-con #wpmem_pwdreset_form label{
	width: 40%;
}
.reset-pass-con #wpmem_pwdreset_form .div_text{
	width: 60%;
}

.log-form-box #wpmem_login label,
.minbox_app dt{
	width: 30%;
}
.login-box .div_text,
.minbox_app dd{
	width: 70%;
}
.cf7__required {
    color: #BE1D1D;
}
.cf7__required, .cf7__optional {
    margin-right: 15px;
    padding: 6px 14px;
    font-size: 12px;
    vertical-align: 1px;
}
.login-box #wpmem_login,.login-box #wpmem_reg{
	width: 100%
}
.login-box #wpmem_reg .req-text {
    margin-bottom: 2rem;
    margin-top: -1rem;
}
.login-box h3,#INinfo #wpmem_login legend,#INinfo #wpmem_reg legend{
	margin-bottom: 2rem;
    font-size: 2rem;
}
.login-box #wpmem_login .button_div,
.login-box #wpmem_reg .button_div {
	margin: 0 auto;
}
.accpet-box{
	max-width: 348px;
	margin: 1rem auto 0;
}
.buttons{
	padding: 6px 0;
	background-color: #d4dade;
    width: 100%;
	max-width: 150px;
    margin: 6px auto;
}
#wpmem_login .buttons{
	margin-top: 37px !important;
}
#INinfo .login-box .button_div,.reset-pass-con #wpmem_login .button_div{
	width: 260px;
}
#INinfo #wpmem_login .link-text {
    text-align: center;
	margin-top: 2rem;
}
#INinfo .entry-content #wpmem_login{
	width: 960px;
    margin: 0 auto;
}
#INinfo #wpmem_login input[type=password],#INinfo #wpmem_login input[type=text],#INinfo #wpmem_reg input[type=date],#INinfo #wpmem_reg input[type=email],#INinfo #wpmem_reg input[type=number],#INinfo #wpmem_reg input[type=password],#INinfo #wpmem_reg input[type=text],#INinfo #wpmem_reg input[type=url],#INinfo #wpmem_reg textarea{
	    width: 40vw;
	    max-width: 600px;
}
#INinfo #wpmem_login label,#INinfo #wpmem_reg label {
    margin: .5em 0 0;
}
#wpmem_login .button_div, #wpmem_reg .button_div {
    padding: 6px 0;
    text-align: right;
    margin: 0 auto;
    width: 250px;
}
#INinfo a{
	color: #0066cc;
}
#INinfo #wpmem_login, #INinfo #wpmem_msg, #INinfo #wpmem_reg, #INinfo .wpmem_msg,.cf7{
    width: 86%;
}

#wpmem_msg, .wpmem_msg {
    font-size: .8em;
}
.cf{
	background: #ffffffd9;
    border-radius: 10px;
    padding: 10px 21px;
    margin-bottom: 15px;
}
.cf7{
	font-size: 16px;
    margin: 0 auto;
}
.container .news,#wpcf7-f194-p106-o1,.kote-box{
	margin-top: 60px;
}
.con_single .text_box p{
	    margin: 2% 0 80px;
}
.cat_page_title{
	    text-align: center;
    font-size: 1.25rem;
    margin-top: 2rem;
    font-weight: 800;
    line-height: 2.25rem;
}
.post-categories li a{
	font-weight: bold;
	font-size: .9rem;
	color: #626787 !important;
}
.right_cat{
	list-style: disc;
  list-style-position:inside;
  padding-left:10px;
}
.con_single img{
	max-width: 350px;
	margin: 30px 0;
}
.button_2{
	background: #0066cc;
    border-radius: 10px;
	max-width: 150px;
	margin: 20px auto 0;
	text-align: center;
	padding: 5px 10px;
}
.sin_con_a{    
    color: #fff !important;
}
.cf7__list dd input[type="text"], .minbox-addr dd input[type="text"], 
.cf7__list dd input[type="tel"], .minbox-addr dd input[type="tel"],
.cf7__list dd input[type="email"], .minbox-addr dd input[type="email"],
.cf7__list dd textarea, .minbox-addr dd textarea {
width: 40vw;
border: 1px solid rgba(0, 0, 0, .1);
border-radius: 2px;
color: #2b2b2b;
padding: 8px 10px 8px;
background: none repeat scroll 0 0 #fff;
}
.recapchatxt {
    font-size: 10px;
}
.recapchatxt a{
    color: inherit!important;
}
.cf7__button{
	margin: 0 auto;
    max-width: 150px;
}
.cf7__button2{
	margin: 0 auto;
    max-width: 185px;
	text-align: center;
}
.cf7__button2 .buttons{
	max-width: inherit;
}
.wpcf7-previous{
	text-align: center;
	margin: 1rem auto;
}

@media screen and (max-width:1600px) {
	#g-nav-list01 li {
		padding: 20px 7px;
	}
	.pick-box {
		clip-path: polygon(90% 0, 0 0, 0 100%, 100% 100%);
	}
	#pickup {
		background: url(../img/top_mintl_06_pickup.png) no-repeat right 101px top -16px;
	}
	#g-nav ul {
    flex-direction: column;
	gap:inherit;
	}
}
@media screen and (max-width:1520px) {
	#g-nav-list01 ul{
		display: none;
	}
	#header h1.head-corporate {
    font-size: 2vw;
	}
}
	
	@media screen and (max-width:1300px) {
	h2 {
		font-size: 3rem;
	}
	nav #g-nav-list01 {
		margin: 0 4%;
	}
	#header h1.head-corporate {
		font-size: 2rem;
	}
	.openbtn {
		width: 4rem;
		height: 4rem;
	}
	.openbtn span:not(.hme_m) {
		left: 0.76rem;
		width: 2.5rem;
	}
	.openbtn span:nth-of-type(1) {
		top: 1rem;
	}
	.openbtn span:nth-of-type(2) {
		top: 1.6rem;
	}
	.openbtn span:nth-of-type(3) {
		top: 2.2rem;
	}	
	.hme_m {
		font-size: 0.8rem;
		top: 2.4rem;
		left: 0.67rem;
	}
	.header-area {
		top: 64px;
		left: 116px;
	}
	#header h1 {
		font-size: 5vw;
	}
	.inner .contents {
		width: 96%;
	}
	.about-section, .union-section, .youth-section, .ms-section, .licensed-section, .rec-section {
    flex-direction: column-reverse;
    align-items: end;
    gap: 45px;
	}
	.about-image-wrapper, .union-image-wrapper, .youth-image-wrapper, .ms-image-wrapper, .licensed-image-wrapper, .recruit-image-wrapper{
		margin-left: auto;
		width: 87%;
	}
	.image-container {
		height: 39vw;
		background-position: center;
	}
   .blue-bar {
	   top: 10.2vw;
        height: 30vw;
    }
	.pagetl {
		margin-right: auto;
		padding-left: 2%;
	}
	.page-top {
    padding: 7px 0 0;
    margin-bottom: 0;
	}
}

@media screen and (max-width:1000px) {
	
	.slider-item01 {
		ackground-position: right 91% bottom !important;		
	}
	.slider-item02 {
		background-position: right 23% bottom 45% !important;
	}
	.slider-item03 {
		background-position: right 23% bottom 45% !important;
	}
	.flx-box:not(#g-nav-list01) {
    flex-direction: column;
	}
	.photo-leader{
		flex-direction: row-reverse!important;
	}
	.con02 .flx-box {
		flex-direction: column-reverse;
	}
	.txt-area p {
    border-top: solid 7px #2e4179;
	border-left: 0;
    padding-left: 0;
    padding-top: 37px;
    padding-bottom: 13px;
    line-height: 2rem;
	}
	
	.min-box {
    width: 100%;
	}
	.txt-area a {
		margin: 1.1875rem 0;
	}
	#aboutus h2 {
    margin: 115px 0 0;
	}
	.txt-box {
    margin-top: 20px;
	}
	.pick-box {
		clip-path: initial;
	}
	.banner a {
		width: 97%;
	}
	.banner-content h1 {
		font-size: 1.85rem;
		margin: 0 0 7px;
	}
	.ua-img01 {
    margin-top: 0;
	}
	#pickup {
		background: url(../img/top_mintl_06_pickup.png) no-repeat right top -16px;
	}
	.myScrollBox{
		overflow-x: scroll;
	}
	#lead-comments .txt-box,#lead-comments h4 {
    width: auto;
	}
	.page-con h4 {
    margin-bottom: 2rem;
	}
	#lead-comments h4 {
		width: auto;
	}
	.gaiyo-box dt {
		padding-right:0;
		font-weight: 900;
	}
	gaiyo-box .flx-box {
    margin-bottom: 1.5rem;
	}
	.gaiyo .inner {
		padding: 0;
	}
	.section-image {
		width: 100%;
	}
	.unicon-items a,.glicensed-items a{
    width: 60vw;
    margin-bottom: 2rem;
	}
	.uni-con-box .flx-box,.uni-min-con .flx-box{
		display: block;
	}
	.section-content,.uni-con02 .section-content{
    padding: 20px 2%;
	}
	.section-title span {
		font-size: 2rem;
	}
	.section-text {
		inline-size: inherit;
	}
	.section-title span::after, .uni-con02 .section-title span::after {
		min-width: auto;
		width: 93vw;
	}
	.min-con-box {
		padding-left: 1rem;
	}
	/****青年部***/
	.con-txt-area {
    inline-size: inherit;
		line-height: 1.8rem;
	}
	#youth-history .img-box {
    margin: 0.9rem auto;
	}
	.table-box-youth{
		overflow-x: scroll;
		margin-bottom: 51px;
	}
	.table-box-youth th,.table-box-youth td {
    white-space: nowrap;
	}
	/******************* 会員ログインページ-sp ******************/
	 .swpm-login-form-inner,
	#template-page .swpm-pw-reset-widget-inside{
    display: block;
  }

  .swpm-username-label,
  .swpm-password-label {
    margin-bottom: 6px;
    display: block;
  }
	#template-page{
		min-height:100vh;
	}
	.login-box .swpm-login-widget-form input:not(#swpm-rememberme), .login-box .swpm-login-widget-form checkbox {
        width: 100%;
    }
	.login-box .swpm-login-submit, .login-box .swpm-submit {
		width: 42%;
		margin: 10px auto;
	}
	.swpm-login-form-submit, .swpm-submit {
		max-width: inherit; 
	}
	.gl-min-con .contents p {
    inline-size: inherit;
	}
	.login-box .div_text,.login-box .div_text.reset-pass-con #wpmem_pwdreset_form .div_text,.login-box .div_text,.reset-pass-con #wpmem_pwdreset_form .div_text{
    width: 100%;
	}
	.login-box .text,.reset-pass-con #wpmem_login label,.reset-pass-con #wpmem_pwdreset_form label,.reset-pass-con,.log-form-box #wpmem_login label{
	width: 100%;
		margin-bottom: 1rem;
	}
	#wpmem_login legend, #wpmem_reg legend {
		margin-bottom: 32px;
	}
	#INinfo .entry-content #wpmem_login {
    width: 100%;
	}
	#INinfo #wpmem_login input[type=password],#INinfo #wpmem_login input[type=text],#INinfo #wpmem_reg input[type=date],#INinfo #wpmem_reg input[type=email],#INinfo #wpmem_reg input[type=number],#INinfo #wpmem_reg input[type=password],#INinfo #wpmem_reg input[type=text],#INinfo #wpmem_reg input[type=url],#INinfo #wpmem_reg textarea{
	    width: 94vw;
		max-width: inherit;
	}
	#INinfo #wpmem_login label, #INinfo #wpmem_reg label {
    margin: .5em 0;
	}
	.inner .log-form-box {
    max-width: inherit;
	}
	 #INinfo #wpmem_login, #INinfo #wpmem_msg, #INinfo #wpmem_reg, #INinfo .wpmem_msg {
        width: 500px;
    }
	
}
	@media screen and (max-width:590px) {
		body{
			font-size: 14px;
		}
		.angled-section {
			position: relative;
			height: 220px;
		}
		.background-fixed {
			background-position: center right 42%;
		}
		.inner {
			padding: 35px 0;
		}
		.inner .contents {
			width: 92%;
		}
		.rec-main{
			overflow: hidden;
		}
		.openbtn {
			width: 3.5rem;
			height: 3.5rem;
		}
		.openbtn span:not(.hme_m) {
			width: 2rem;
		}
		.openbtn span:nth-of-type(1) {
			top: 0.8rem;
		}
		.openbtn span:nth-of-type(2) {
			top: 1.4rem;
		}
		.openbtn span:nth-of-type(3) {
			top: 2rem;
		}
		.hme_m {
			font-size: 0.7rem;
			top: 2.2rem;
			left: 0.6rem;
		}
		.openbtn.active span:nth-of-type(1) {
			top: 23px;
			left: 14px;
		}
		.openbtn.active span:nth-of-type(3) {
			top: 35px;
			left: 14px;
		}
		#g-nav ul {
			justify-content: space-around;
		}
		.sp{
			display: block;
		}
		.pc{
			display: none;
		}
		.header-area {
			top: 64px;
			left: 47px;
			width: 50%;
		}
		#header {
			height: 81vh;
		}
		#header h1.head-corporate {
			font-size: 1.5rem;
		}
		#header h1:not(.head-corporate) {
			font-size: 2.2rem;
			writing-mode: vertical-rl;
			text-orientation: mixed;
		}
		.slider {
			height: 69vh;
		}
		.slider-item {
			border-radius: 20px 0 0 20px;
			height: 69vh;
		}
		.slider-item01 {
			background-position: right 64% bottom !important;
		}
		.slider-item02 {
			background-position: right 33% bottom !important;
		}
		.slider-item03 {
			background-position: right 10% bottom 45% !important;
		}
		h2 {
			font-size: 2.3rem;
			line-height: 2.8rem;
		}
		h3 {
			font-size: 2.2rem;
		}
		#aboutus h2,.con02 h2,.contents h2{
			margin: 20px 0;
		}	
		.con02 h2 {
			text-align: left;
		}
		.con02 .mintl img {
			margin-left: 0;
			width: 60%;
		}
		.mintl img{
			height: auto;
		}
		#aboutus .mintl img{
			width: 39%;
		}
		#license-info_box .mintl img{
			width: 50%;
		}
		#recruit .mintl img{
			width: 32%;
		}
		#ua01 .mintl img{
			width: 60%;
		}
		#youthassociation .mintl img{
			width: 70%;
		}
		.readmore-btn {
			width: 55% !important;
		}
		.rec-section .pagetl .sub img {
			max-width: 115px;
		}
		#unionactivities #ua01,#youthassociation #ya02{
			background: none;
		}
		#license-info_box .txt-box {
			padding: 0 ;
		}
		#license-info_box .flx-box .min-box {
			padding: 10px;
		}
		#min02{
			letter-spacing: -0.06em;
		}
		#pickup {
			background: url(../img/top_mintl_06_pickup.png) no-repeat right top 30px;
			background-size: 61%;
		}
    .image-container {
        height: 70vw;
		}
		.blue-bar {
			top: 30%;
			left: -12px;
			height: 75%;
		}
		.banner-content {
			padding: 0 2% 9px;
		}
		.banner-content h1 {
			font-size: 1.6rem;
			line-height: 1.75rem;
			margin: 19px 0 7px;
		}
		.banner-content p {
			line-height: 1.5rem;
			font-size: 0.9375rem;
		}
		.underline {
			margin-bottom: 6px;
		}
		.banner a {
			margin: 0 auto 12px;
		}
	
		.pagetl h2 {
			font-size: 2rem;
			margin-bottom: 17px;
			line-height: 3rem;
		}
		.lead-name {
			font-size: 1.18rem;		
		}
		.gaiyo h5 {
			font-size: 2rem;
		}
		.youth-image-wrapper .image-container,
		.ms-image-wrapper .image-container {
		background-position: center;
		}
		#INunionact {
			background: url(../img/bg_items_04.png) no-repeat right top 32rem, url(../img/bg_items_03.png) no-repeat left top 129rem, url(../img/bg_items_04.png) no-repeat right top 235rem, url(../img/bg_items_03.png) no-repeat left top 294rem;
			background-size: 80%;
		}
		.union-image-wrapper .image-container{
			background-position: center right -23px;
		}
		.licensed-image-wrapper .image-container{
			background-position: center right ;
		}
		.recruit-image-wrapper .image-container{
			background-position: center right -16px;
		}
		.unicon-items a{
			padding: 7px 20px;
		}
		.glicensed-items a{
			padding: 11px 13px;
		}
		.unicon-items a,.glicensed-items a{
			border: 3px solid #25427B;
			width: 94vw;
			font-size: 1.2rem;
			letter-spacing: -0.02em;
			margin-bottom: 20px;
		}
		.glicensed-items a{
			font-size: .95rem!important;
		}
		.uni-link-box{
			margin-bottom: 0;
		}
		.union-section .pagetl .sub img {
			max-width: 260px;
		}
		.union-section .sub{
			margin-top: -1rem;
		}
		.uni-min-con .txt-box {
			line-height: 2rem;
			margin-bottom: 30px;
		}
		.section-image {
			height: 100px;
		}
		h5 {
			margin-bottom: 10px;
		}
		#INyouth {
			padding: 30px 0;
		}
		.pagetl .sub img {
			max-width: inherit;
			width: 43%;
		}
		.union-section .pagetl .sub img,
		.youth-section .pagetl .sub img{
			width: 75%;
		}
		.pagetl h2 {
			margin-bottom: 0;
		}
		.page-con h3, .login-box h3.con_single h3 {
			margin-bottom: 24px;
			font-size: 1.8rem;
			line-height: 2.5rem;
		}
		#youth-history {
			margin-bottom: 0;
		}
		.youth-con .flx-box img {
			max-width: 65vw;
		}
		#INlicense img{
			object-fit: cover;
		}
		.gl-img-box img{
			height: 238px;
			width: 100%;
			object-position: right 0 top -90px;
		}
		#g-nav li a {
			font-size: 1.15rem;
		}
		.page-con h4 {
			font-size: 2rem;
			padding-left: 13px;
			border-left: solid 18px #2e4179;
		}
		.notice-list li{
			flex-direction: column;
		}
		.text {
			padding-left: 0;
		}
		h6 {
			text-align: left;
			text-align-last: inherit;
		}
		.notice-list .min-box {
			width: inherit;
		}
		#gl-con02 h6 {
			margin-bottom: 10px;
		}
		.notice-list li {
			margin-bottom: 2em;
		}
		.licensed-con .con02 .txt-box {
			max-width: inherit;
		}
		.gl-min-con.flx-box img {
			width: 75vw;
		}
		.login-box .swpm-login-widget-form input:not(#swpm-rememberme),
		.login-box .swpm-login-widget-form checkbox,
		.login-box .swpm-pw-reset-widget-form input:not(#swpm-submit-btn-default-style) {
			width: 90vw;
		}
		.swpm-login-submit .swpm-login-form-submit{
			width: 100%!important;
		}
		#INinfo{
			background-size: 80%;
		}
		.toptl-images {
			max-width: inherit;
			width: 75%;
		}
		#page-top {
			right: 15px;
		}
		#page-top a {
			width: 70px;
			height: 70px;
		}
		#INinfo #wpmem_login, #INinfo #wpmem_msg, #INinfo #wpmem_reg, #INinfo .wpmem_msg {
        width: 100%;
		}
		#wpmem_msg, .wpmem_msg {
			font-size: .92rem;
		}
		#INinfo #wpmem_login input[type=password], #INinfo #wpmem_login input[type=text], #INinfo #wpmem_reg input[type=date], #INinfo #wpmem_reg input[type=email], #INinfo #wpmem_reg input[type=number], #INinfo #wpmem_reg input[type=password], #INinfo #wpmem_reg input[type=text], #INinfo #wpmem_reg input[type=url], #INinfo #wpmem_reg textarea {
        width: 100%;
        max-width: inherit;
		}
		.con_single h3{
        font-size: 1.75rem;
        line-height: 2.5rem;
		}
		.rec-con,.rec-con-box{
			 overflow:hidden;
		}
		.rec-con-box .linkbtn{
			color: #757575;
		}
		.rec-con-box .onrec{
			color: #0066cc;
		}
		.rec-items a {
			width: 100%;
			min-width:300px; 
			padding: 9px 20px;
			border: 3px solid #25427B;
		}
}