  html{
    font-size:62.5%;
  }
  body{
    margin: 0;
  }
  #contents-area {
    min-width:1000px;
    /*padding-top:100px;*/
    font-size: 1.5rem;
  }
  
  @media screen and (max-width: 769px) {
    #contents-area {
      min-width: 100%;
      line-height: 1.7;
    }
  }
  
  @media screen and (min-width: 769px), print {

  #top_header {
      width: 1125px;
  }

  /* title-area */
  
  #title-area {
    position:relative;
    width:100%;
    background-color:#D7D1EA;
    text-align:center;
    display:table;
      border-bottom: 2px solid #B3B3B3;
  }
  
  #title-area::after {
    position:absolute;
    bottom:-2px;
    left:0;
    width:108px;
    height:2px;
    content:"";
    background:#45A550;
    display:block;
  }
  
  
  #title-area h1,
  #title-area > div {
    color:#373637;
    font-size:30px;
      font-weight: bold;
    width:100%;
    height:140px;
    margin:0 auto;
    text-align:center;
    vertical-align:middle;
    display:table-cell;
  }
  
  #title-area h1::after,
  #title-area > div::after{
    content:"";
    width:30px;
    height:2px;
    margin:8px auto 0;
    background-color:#45A550;
    display:block;
  }
}
  @media screen and (max-width: 769px) {
    #top_header {
      padding: 0 4vw;
  }
    #contents-area::before {
      content:"";
      display:block;
    }
    
    
    /* title-area */
    
    #title-area {
      position:relative;
      width:100%;
      padding:23px 0 19px;
      background-color:#D7D1EA;
      text-align:center;
        display: table;
        border-bottom: 2px solid #B3B3B3;
    }
    
    #title-area::after {
      position:absolute;
      bottom:-2px;
      left:0;
      width:23px;
      height:2px;
      content:"";
      background:#45A550;
      display:block;
    }
    
    
    #title-area h1,
    #title-area > div {
      color:#373637;
      font-size: 2.2rem;
        font-weight: bold;
      width:100%;
      margin:0 auto;
      text-align:center;
      vertical-align:middle;
      display:table-cell;
    }
    
    #title-area h1::after,
    #title-area > div::after {
      content:"";
      width:23px;
      height:2px;
      margin:8px auto 0;
      background-color:#45A550;
      display:block;
    }
  }    

  @media screen and (max-width: 769px), print {
    #mainVisualbox {
      padding: 0 4vw;
    }

  }


  @media screen and (min-width: 769px), print {
/* section */

#contents-area > section {
	color:#373637;
	padding-bottom:60px;
	overflow:hidden;
}

#contents-area > section.bg {
	padding-top:0;
	background-color:#f0f0f0;
}

#contents-area > section .section-inner {
	width:1120px;
	margin:0 auto;
	line-height:2em;
}

#contents-area > section .section-inner .subtitle {
	font-size:30px;
	font-weight:bold;
    color: #373637;
	margin:25px 0 35px;
	line-height:1.3em;
    text-align: center;
}

#contents-area > section .section-inner .subtitle::after {
	width:30px;
	height:2px;
	background-color:#45A550;
	content:"";
	margin:15px auto 0;
	display:block;
}

#contents-area > section .section-inner p {
	font-size: 1.5rem;
	margin-top:25px;
	text-align:left;
}
}





/* horizonbox */

#contents-area > section .horizonbox {
	width:1120px;
	margin:0 auto;
	padding-top:60px;
	display:block;
}

#contents-area > section .horizonbox .box {
	width:auto;
	margin:20px 0 0 0;
	padding:50px;
	background-color:#fff;
	display:block;
}
#contents-area > section .horizonbox .box + .box{
  margin-top: 60px;
}

#contents-area > section .horizonbox .box .inner .title {
	font-size:1.7em;
	text-align:left;
}

#contents-area > section .horizonbox .box .inner .title span {
	font-size: 16px;
}

#contents-area > section .horizonbox .box .inner .title::after {
	width:30px;
	height:2px;
	background-color:#45A550;
	content:"";
	margin:15px 0 25px;
	display:block;
}
@media screen and (max-width: 769px), print {
  #contents-area > section .horizonbox {
    width: 90vw;
    padding-top:10px;
  }
  #contents-area > section .horizonbox .box {
    padding:30px;
  }
  #contents-area > section .horizonbox .box + .box{
    margin-top: 30px;
  }
  #contents-area > section .horizonbox .box .inner .title {
    font-size: 2rem;
  }  
}



#contents-area > section .verticalbox.row4{
  display: flex;
  flex-wrap: wrap;
  width: auto;
  margin-top: 40px;
}
#contents-area > section .verticalbox.row4 .rowitem{
  width: calc(25% - 10px);
  margin: 5px;
}
#contents-area > section .verticalbox.row4 .rowitem img{
  width: auto;
  max-width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
@media screen and (max-width: 769px), print {
  #contents-area > section .verticalbox.row4{
    margin-top: 20px;
    margin-right: -5px;
    margin-left: -5px;
  }
  #contents-area > section .verticalbox.row4 .rowitem{
    width: calc(50% - 10px);
    margin: 2px 5px;
  }
}

.w_90{
  width: 90%;
  margin-right: auto;
  margin-left: auto;
}
iframe{
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
}
.text_r{
  text-align: right;
}

#contents-area > section .subhead1 {
	font-size:1.6em;
	font-weight:bold;
	margin:0;
	padding:0.5em 0;
	border-top:2px solid #B3B3B3;
	border-bottom:2px solid #B3B3B3;
	line-height:1.5em;
  text-align: center;
}


table th {
  padding: 0.6em 0.6em 0.6em 0;
  text-align: left;
}
.pt_l{
  padding-top: 60px;
}

#top_menu .top_btn li a{
    justify-content: center;
    width: 500px;
    padding: 2rem;
}
#top_menu .top_btn li a::before {
  left: -2rem;
  position: relative;
}
#top_menu {
  width: auto;
  margin-top: 0;
  margin-bottom: 0;
}
.top_btn{
  padding-top: 60px;
}
#top_menu .top_btn li {
  width: auto;
  margin: 20px 0 0 0;
  float: none;
}

footer{
  margin-top: 0;
}
@media screen and (max-width: 769px), print {
  .pt_l{
    padding-top: 20px;
  }
  #top_menu .top_btn li a{
    width: 80vw;
    padding: 1rem;
    font-size: 1.8rem;
  }
  .top_btn{
    padding-top: 35px;
  }  
}



@media screen and (max-width: 769px), print {
  /* section */

#contents-area > section {
	color:#373637;
	padding-bottom:35px;
	overflow:hidden;
}

#contents-area > section.bg {
	padding-top:0;
	background-color:#f0f0f0;
}

#contents-area > section.bg.blue {
	padding-top:0;
	background-color:#D7D1EA;
}


#contents-area > section .section-inner {
	margin:0 20px;
}

#contents-area > section .section-inner .subtitle {
	font-size:18px;
	font-weight:bold;
	margin:25px 0 25px;
	line-height:1.3em;
	text-align: center;
}

#contents-area > section .section-inner .department-matching_inner .subtitle {
	font-size:21px;
	font-weight:bold;
	margin:10px 0 0;
	line-height:1em;
	text-align: center;
}

#contents-area > section .section-inner .subtitle::after {
	width:23px;
	height:2px;
	background-color:#45A550;
	content:"";
	margin:10px auto 0;
	display:block;
}

#contents-area > section .section-inner p {
	font-size:15px;
	text-align:left;
  line-height: 1.7;
}
#contents-area > section .section-inner p.sp_fsmall {
    font-size:14px;
} 

#contents-area > section .section-inner .department-matching_inner p {
	font-size:14px;
	text-align:left;
}

#contents-area > section .subhead1 {
	font-size:16px;
	font-weight:bold;
	margin:0;
	padding:0.5em 0;
	border-top:2px solid #B3B3B3;
	border-bottom:2px solid #B3B3B3;
	line-height:1.5em;
}


.mainVisual {
  margin-bottom: 0;
}

.sp_only {
  margin: 20px auto 10px;
}

}