@charset "utf-8";

/* 福利厚生
============================ */

.welfare h2::before {
	content: "WELFARE";
	left: -0.55em !important;
	}
	@media screen and (min-width:1025px) {
	.welfare h2::before {
		left: -0.4em !important;
	}
}
.welfare .bg {
	background:#eff6fb;
    padding-bottom: 40px;
}
.welfare .bg .noline {
	font-size:2.4rem;
		transform: translate(0, -50%);
}

.welfare .bg .noline::before {
	content:none;
}
.welfare ul.disc {
	padding:0 0 0 40px;
}
.welfare ul.disc li {
	list-style-type: disc;
}

@media screen and (min-width:1025px) {
	.welfare .bg .noline {
		font-size:2.4rem;
		padding:0;

	}

}
.welfare .bgpic {
	background:#f4f4f4;
	padding:15px 15px;
    margin: 40px 0;
}

.welfare .col2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
.welfare .col3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    margin: 0;
	}
.welfare .col3.system a {
    flex-basis:calc((100% - 20px) / 2);
    max-width:calc((100% - 20px) / 2);
    margin-top:20px;
    padding:13px 10px;
    background:#fff;
    text-align:center;
    border-top:2px solid #1e7bc0;
    text-decoration:none !important;
}
.welfare .col3.event div {
    flex-basis:calc((100% - 20px) / 3);
    max-width:calc((100% - 20px) / 3);
}
.welfare .col2.support div {
    flex-basis:calc((100% - 20px) / 2);
    max-width:calc((100% - 20px) / 2);
}
.welfare .col3.system div:nth-of-type(1),
.welfare .col3.system div:nth-of-type(2){
  margin-top:0;
}
.welfare .col3.system div .btn {
	width:auto;
	display:block;
	padding:0 0.5rem;
	margin:14px 0 0;
    font-size: 1.1rem;
	color: #fff !important;
}
.welfare .col3.system div .btn:before {
	content:none;
}
.welfare .col3.system div .btn:after {
	content:none;
}
.welfare .col3.system div img {
	width:84px;
}
	@media screen and (min-width:1025px) {
	.welfare .col2 div {
		margin:0 40px 0 0;
	}
    .welfare .col3 {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin: 0 auto;
        max-width: 1100px;
	}        
	.welfare .col3.system a {
    flex-basis:calc((100% - 80px) / 3);
    max-width:calc((100% - 80px) / 3);
/*		width:300px;*/
		margin:0 40px 40px 0;
        padding: 28px;
		border-top:4px solid #1e7bc0;
	}
        .welfare .col3.system a:nth-child(3n) {
            margin:0 0 40px;
            
        }
    .welfare .col3.system div img {
        width:auto;
    }
    .welfare .col3.system div .btn {
	width:auto;
	display:block;
	padding:0 1.3rem;
	margin:28px 0 0;
	color: #fff !important;
        font-size: 1.6rem;
    }    
     .welfare .bgpic {
        background:#f4f4f4;
        padding:30px 50px;
        margin: 40px 0;
    }
     .welfare .bgpic.w2 {
         max-width: 810px;
        }
    .welfare .col3.event div {
        flex-basis:calc((100% - 80px) / 3);
        max-width:calc((100% - 80px) / 3);
        margin: 0 40px 0 0;
    }        
        .welfare .col3.event div:last-child {
            margin: 0;
        }
  .welfare .col2.support div {
    flex-basis:calc((100% - 40px) / 2);
    max-width:calc((100% - 40px) / 2);
        margin: 0 40px 0 0;
}      
 .welfare .col2.support div:last-child {
            margin: 0;
        }       
        
}

.welfare .table th {
	background:#eff6fb;
    padding-left: 20px;
    padding-bottom: 10px;
}

.welfare .colorboxhide {
    display: none;
}
.welfareBox {
    background:#f4f4f4;
    display: flex;
    flex-direction: column;
}
.welfareBox dt {
    padding: 20px 40px;
}
.welfareBox div {
    margin: 0 auto;
    display: flex;
    align-items: center;

}
.welfareBox div.welfarebg01,
.welfareBox div.welfarebg03,
.welfareBox div.welfarebg04,
.welfareBox div.welfarebg05,
.welfareBox div.welfarebg06 {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 75px);   
}

.welfareBox.wf02 dt {
    position: relative;
    padding: 20px 10px;
}

.welfareBox.wf01 dt {
    background: url("../welfare/images/bg_welfare01_sp.jpg") center center no-repeat;
    background-size: cover;
    padding-top:58.08080808080808%;
    position: relative;
}

.welfareBox.wf03 dt {
    background: url("../welfare/images/bg_welfare03_sp.jpg") center center no-repeat;
    background-size: cover;
    padding-top:58.08080808080808%;
    position: relative;
}
.welfareBox.wf04 dt {
    background: url("../welfare/images/bg_welfare04_sp.jpg") center center no-repeat;
    background-size: cover;
    padding-top:58.08080808080808%;
    position: relative;
}
.welfareBox.wf05 dt {
    background: url("../welfare/images/bg_welfare05_sp.jpg") center center no-repeat;
    background-size: cover;
    padding-top:58.08080808080808%;
    position: relative;
}
.welfareBox.wf06 dt {
    background: url("../welfare/images/bg_welfare06_sp.jpg") center center no-repeat;
    background-size: cover;
    padding-top:58.08080808080808%;
    position: relative;
}



.welfareBox dd {
    padding: 100px 20px 20px 20px;
    font-size: 1.4rem;
    line-height: 1.8;
    
}
.welfareBox dd.nopadding {
    padding: 20px 0;
}
.welfareBox div.txt {
    padding: 2rem 0 0;
    font-size:1.4rem;
    line-height: 1.6;
}
.welfareBox div.welfarebg02 + div.txt {
	flex-basis: calc(100% - 160px);
	padding: 16px 10px 0 10px;
	box-sizing: border-box;
	flex-direction: column;

}
.welfareBox div.txt .indent {
    text-indent: -1em;
    padding-left: 1em;
}
.welfareBox div.welfarebg01 {
    border-radius: 50%;
    width:160px;
    height: 160px;
    background: #fff url("../welfare/images/icon_welfare01.png") center center no-repeat;
    background-size: 84px;
    align-items: end;
}
.welfareBox div.welfarebg02 {
    border-radius: 50%;
    width:160px;
    height:160px;
    background: #fff url("../welfare/images/icon_welfare02.png") center center no-repeat;
    background-size: 84px;
    align-items: end;
}

.welfareBox div.welfarebg03 {
    border-radius: 50%;
    width:160px;
    height:160px;
    background: #fff url("../welfare/images/icon_welfare03.png") center center no-repeat;
    background-size: 84px;
    align-items: end;
}
.welfareBox div.welfarebg04 {
    border-radius: 50%;
    width:160px;
    height:160px;
    background: #fff url("../welfare/images/icon_welfare04.png") center center no-repeat;
    background-size: 84px;
    align-items: end;
}
.welfareBox div.welfarebg05 {
    border-radius: 50%;
    width:160px;
    height:160px;
    background: #fff url("../welfare/images/icon_welfare05.png") center center no-repeat;
    background-size: 84px;
    align-items: end;
}
.welfareBox div.welfarebg06 {
    border-radius: 50%;
    width:160px;
    height:160px;
    background: #fff url("../welfare/images/icon_welfare06.png") center center no-repeat;
    background-size: 84px;
    align-items: end;
}
.welfareBox div img {
    width: 80%;
}
.welfareBox div .btn {
	width:auto;
	display:block;
	padding:0 1.5rem;
	margin:14px auto 0;
    font-size: 1.3rem;
	color: #fff !important;
    height: 3rem;
    line-height: 3rem;
}
.welfareBox div .btn:before {
	content:none;
}
.welfareBox div .btn:after {
	content:none;
}

.welfareBox.wf02 div.pcFlex {
	flex-direction: column;
}
.welfareBox div.welfarebg02 + div.txt p {
	margin-bottom:10px;
}
@media screen and (min-width:1025px) {
    .welfareBox {
        background: #f4f4f4;
        display: flex;
        flex-direction: row;
        height: 100%;
    }
    .welfareBox div .btn {
        font-size: 1.6rem;
        height:4rem;
        line-height: 4rem;
    }
    .welfareBox dd {
    padding: 20px;
    background: #f4f4f4;
    font-size: 1.6rem;
    }
    #inline-system2 .welfareBox {
        background: #f4f4f4;
        display: flex;
        flex-direction: column;
    }
    #inline-system1,
    #inline-system3,
    #inline-system4,
    #inline-system5,
    #inline-system6{
        height: 526px;
    }
    #inline-system1 .welfareBox dd,
    #inline-system3 .welfareBox dd,
    #inline-system4 .welfareBox dd,
    #inline-system5 .welfareBox dd,
    #inline-system6 .welfareBox dd{
        padding:300px 20px 0 20px;
    }
      .welfareBox.wf01,
      .welfareBox.wf02,
      .welfareBox.wf03,
      .welfareBox.wf04,
      .welfareBox.wf05,
    .welfareBox.wf06 {
        min-width: 840px;
        max-width: 960px;
        margin: 0 auto;
    }
  .welfareBox.wf01 dt {
    background: url("../welfare/images/bg_welfare01_pc.jpg") left top no-repeat;
    background-size: 425px;
    padding-top:0;
      padding-left: 425px;
    position: relative;
}
.welfareBox.wf02 div.pcFlex {
	flex-direction: row;
}
.welfareBox div.welfarebg02 + div.txt {
	flex-direction: column;
	align-items: flex-start;
	flex-basis: calc(100% - 340px);
}
.welfareBox div.welfarebg02 + div.txt p {
	margin-bottom:10px;
}
  .welfareBox.wf03 dt {
    background: url("../welfare/images/bg_welfare03_pc.jpg") left top no-repeat;
    background-size: 425px;
    padding-top:0;
      padding-left: 425px;
    position: relative;
}     
  .welfareBox.wf04 dt {
    background: url("../welfare/images/bg_welfare04_pc.jpg") left top no-repeat;
    background-size: 425px;
    padding-top:0;
      padding-left: 425px;
    position: relative;
}
      .welfareBox.wf05 dt {
    background: url("../welfare/images/bg_welfare05_pc.jpg") left top no-repeat;
    background-size: 425px;
    padding-top:0;
      padding-left: 425px;
    position: relative;
}
      .welfareBox.wf06 dt {
    background: url("../welfare/images/bg_welfare06_pc.jpg") left top no-repeat;
    background-size: 425px;
    padding-top:0;
      padding-left: 425px;
    position: relative;
}
    
    
    .welfareBox div.welfarebg01 {
    border-radius: 50%;
    width:240px;
    height: 240px;
    background: #fff url("../welfare/images/icon_welfare01.png") center center no-repeat;
    background-size: 168px;
        position: absolute;
    left: calc(425px + 32.5%);
    top: 32px;
        transform:translate(0, 0);
    }
    .welfareBox div.welfarebg02 {
        border-radius: 50%;
    width:240px;
    height: 240px;
        background: #fff url("../welfare/images/icon_welfare02.png") center center no-repeat;
    background-size: 168px;
    /*            position: absolute;
    left: 525px;
    top: 32px;*/
        transform:translate(0, 0);
    }
    .welfareBox div.welfarebg03 {
        border-radius: 50%;
    width:240px;
    height: 240px;
        background: #fff url("../welfare/images/icon_welfare03.png") center center no-repeat;
    background-size: 168px;
                position: absolute;
    left: calc(425px + 37.5%);
    top: 32px;
        transform:translate(0, 0);
    }
    .welfareBox div.welfarebg04 {
        border-radius: 50%;
    width:240px;
    height: 240px;
        background: #fff url("../welfare/images/icon_welfare04.png") center center no-repeat;
    background-size: 168px;
                position: absolute;
    left: calc(425px + 37.5%);
    top: 32px;
        transform:translate(0, 0);
    }
    .welfareBox div.welfarebg05 {
        border-radius: 50%;
    width:240px;
    height: 240px;
        background: #fff url("../welfare/images/icon_welfare05.png") center center no-repeat;
    background-size: 168px;
                position: absolute;
    left: calc(425px + 37.5%);
    top: 32px;
        transform:translate(0, 0);
    }
    .welfareBox div.welfarebg06 {
        border-radius: 50%;
    width:240px;
    height: 240px;
        background: #fff url("../welfare/images/icon_welfare06.png") center center no-repeat;
    background-size: 168px;
                position: absolute;
    left: calc(425px + 37.5%);
    top: 32px;
        transform:translate(0, 0);
    }    
    
    .welfareBox div.pcFlex {
        display: flex;
        align-items: flex-start;
    }
 #inline-system2 .welfareBox dd {
    padding: 20px;
    background: #fff;
}   
    
/*hover*/    
    
    
    
    
}
/* for appear
============================ */
.welfare dl,
.welfare h3,
.welfare h3 + p,
.welfare .bg,
.welfare .bg + .wrap {
	opacity: 0;
	position: relative;
	top: 50px;
}
.welfare dl dd.tour {
	opacity: 0;
	position: relative;
	left: -30px;
}
.welfare dl dd.tour.is-active {
	opacity: 0;
	left:0;
	animation-fill-mode:forwards;
	animation-delay:1.6s;
	animation-name: slideIn;
	animation-duration: 0.4s;
}

@keyframes slideIn {
	0% {
		left: -30px;
		opacity: 0;
	}
	100% {
		opacity: 1;
		left:0;
	}
}