@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500&display=swap');

header{
  background-color: #fff;
  height: 90px;
}

header.fixed{
  height: 90px;
}

header #toplogo{
  width: auto;
}

header #toplogo h1 a{
  display: inline-block;
  width: 194px;
  margin-right: 30px;
}

header #toplogo h1 .subtitle{
  font-weight: bold;
}

header .inner #nav-title{
  width: 144px;
  background-color: #D91212;
  padding:  37px 0;
  line-height: 1;
  text-align: center;
  box-shadow: 0 0 0 0px #eee inset;
  transition : all .3s ease;
}

header .inner #nav-title:hover{
  box-shadow: 0 0 0 10px #d5d5d5 inset;
}

header .inner #nav-title img{
  width: 70px;
}

header .inner{
  justify-content: space-between;
}

header #head-nav{
  display: flex;
  justify-content: flex-end;
}

header #head-nav ul{
  display: flex;
  align-items: center;
  padding-right: 20px;
}

header #head-nav ul li{
  padding: 0 15px;
}

header #head-nav ul li a{
  transition: all .2s linear;
}

header #head-nav ul li a:hover{
  color: #D91212;
}

/* footer */
footer{
  padding: 0;
}

footer .footer-inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #CCCCCC;
  padding-right: 180px;
}

footer .footer-blank{
  width: 90px;
  height: 107px;
  border-right: 1px solid #CCCCCC;
}

footer .footer-right{
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 107px;
}

footer #footer-nav{
  display: flex;
  height: 107px;
  padding: 48px 20px
}

footer #footer-nav a{
  font-size: 1.4rem;
}


footer #footer-nav a:hover{
  text-decoration: underline;
}

#pagetop{
  z-index: 10001;
}

.inner{
}

/* menu */
body.fixed{
  width: 100vw;
  height: 100vh;
  position: fixed;
  overflow-y: scroll;
}
#menu-bg{
  display: none;
  background-color: rgba(0,0,0,.4);
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10008;
}
body.fixed #menu-bg{
  display: block;
}

#menu-wrap{
  background-color: #F7F7F7;
  position: fixed;
  right: 139px;
  right: -40%;
  top: 0;
  width: 50%;
  max-width: 400px;
  padding: 40px;
  padding-top: 100px;
  height: 100vh;
  z-index: 10009;
  transition: all .5s ease-out;
}

body.fixed #menu-wrap{
  right: 139px;
}

#menu-wrap #menu-close{
  position: absolute;
  width: 41px;
  height: 41px;
  right: 20px;
  top: 20px;
  transform: rotate(45deg);
}

#menu-wrap #menu-close::before{
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  right: 20px;
  background-color: #000;
}

#menu-wrap #menu-close::after{
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  top: 20px;
  right: 0;
  background-color: #000;
}

#menu-wrap ul li{
  margin-bottom: 20px;
}

#menu-wrap ul li a{
  position: relative;
  display: block;
  font-size:  1.8rem;
}

#menu-wrap ul li a::after{
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  top: 50%;
  margin-top: -4px;
  right: 15px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}


/* side nav */
#internship{
  color: #515762;
}

#internship #nav{
  position: fixed;
  background-color: #F7F7F7;
  right: 0;
  top: 0;
  width: 139px;
  height: 100vh;
  display: flex;
  align-items: center;
  z-index: 10010;
}

#internship #nav #nav-pre{
  position: absolute;
  top: 0;
  left: 0;
  background-color: #D91212;
  padding:  37px 0;
  line-height: 1;
  text-align: center;
  width: 100%;
  box-shadow: 0 0 0 0px #eee inset;
  transition : all .3s ease;
}

#internship #nav #nav-pre:hover{
  box-shadow: 0 0 0 10px #d5d5d5 inset;
}

#internship #nav #nav-pre img{
  width: 70px;
}

#internship #nav .nav-menu{
  text-align: center;
  width: 70px;
  margin: auto;
  cursor: pointer;
  padding-top: 10px;
}

#internship #nav .nav-menu .hb{
  display: block;
  position: relative;
  width: 100%;
  height: 2px;
  background: #000;
}

#internship #nav .nav-menu .hb::before{
  content: "";
  display: block;
  position: absolute;
  top: -10px;
  width: 100%;
  height: 2px;
  background: #000;
}

#internship #nav .nav-menu .hb::after{
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  width: 100%;
  height: 2px;
  background: #000;
}

#internship #nav .nav-menu .tit{
  font-size: 1.5rem;
  display: block;
  width: 47px;
  margin: 10px auto 0;
}

#internship #nav #nav-title{
  position: absolute;
  bottom: 120px;
  left: 0;
  width: 100%;
  text-align: center;
}

#internship #nav #nav-title img{
  width: 40px;
}

/* content */
main.internship{
  padding-top: 90px;
}

#index #visual_header{
  display: flex;
  justify-content: center;
  max-width: 1680px;
  margin: auto;
}

#index #visual_header #vh_title{
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  max-width: 760px;
  padding: 0 5%;
}

#index #visual_header #vh_title h1{
  max-width: 508px;
  margin-bottom: 30px;
}

#index #visual_header .copy{
  color: #515762;
  font-size: 2.8rem;
}

#index #visual_header #vh_image{
  width: 50%;
  padding-right: 10px;
}

/* information */

#internship #information {
  background-color: #9F9F9F;
  display: flex;
  padding: 20px 0
}

#internship #information h2{
  color: #fff;
  font-family: 'Barlow Condensed';
  font-size: 2rem;
  width: 190px;
  text-align: center; 
}

#internship #information li{
  color: #fff;
  font-size: 1.6rem;
}

/* content menu */
#index #content-menu{
/*  padding-left: 90px; */
}

#index #content-menu ul{
  display: flex;
  justify-content: space-between;
  width: 100%;
}

#index #content-menu li{
  width: 33.333%;
}

#index #content-menu li a{
  height: 275px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  box-shadow: 0 0 0 0px #fff inset;
  transition : all .3s ease;
}

#index #content-menu li a:hover{
  box-shadow: 0 0 0 10px #fff inset;
}

#index #content-menu li a .icon{
  vertical-align: middle;
  margin-right: 20px;
}

#index #content-menu li:nth-child(1){
  background-color: #C17C5E;
}

#index #content-menu li:nth-child(2){
  background-color: #CE4545;
}

#index #content-menu li:nth-child(3){
  background-color: #7A43BA;
}

/* content block */
#internship .content-block{
  display: flex;
}

#internship .content-block .content-title-en{
  position: relative;
  width: 90px;
  text-align: center;
  overflow: hidden;
  border-top: 1px solid #CCCCCC;
  border-right: 1px solid #CCCCCC;
  white-space: nowrap;
  background-color: #fff;
}

#internship .content-block .content-title-en span{
  color: #D91212;
  font-size: 1.4rem;
  transform: rotate(90deg);
  display: block;
  transform-origin: left top;
  position: absolute;
  left: calc(50% + 1.2rem);
  top: 30px;
}

#internship .content-block .content-body{
  flex: 1;
}

#internship #index .content-block h2{
  background: url('../image/title-bar.png');
  height: 79px;
  line-height: 79px;
  color: #fff;
  padding: 0 40px 0;
  font-size: 2.4rem;
}

#internship #index .content-block h2.text-center{
  text-align: center;
}

.content-inner{
  padding: 70px 6vw;
}

#about .layout{
  display: flex;
  justify-content: space-between;
}

#about .layout .box{
  width: 30%;
  padding: 20px;
  border: 1px solid #A8ADB7;
}

#about .layout .box h3{
  margin-bottom: 50px;
}

#about .layout .box h3 span{
  display: block;
  font-size: 2rem;
  font-family: 'Barlow Condensed';
}

#about .layout .box h3 span.num{
  display: block;
  font-size: 8rem;
  line-height: 1;
}

#about .layout .box p b{
  background-color: #EAFD00;
}


#require dl{
  display: flex;
  width: 100%;
  border-bottom: 5px solid #EBEBEB;
}

#require dl dt{
  width: 195px;
  padding: 40px 0;
  font-weight: bold;
}

#require dl dd{
  flex: 1;
  padding: 40px 0;
}

#require dl table th{
  white-space: nowrap;
  text-align: left;
  padding-right: 15px;
}

#require dl table td ul li{
  text-indent: -2ex;
  padding-left: 2ex; 
}

#contact .info{
  font-weight: bold;
  margin-bottom: 1rem;
}


/*　募集テーマ
===============================*/
#theme{
  background-color: #F4F4F4;
}

#icon_header{
  display: flex;
  justify-content: space-between;
}

.side_blank{
  width: 90px;
  background-color: #fff;
  border-right: 1px solid #ccc;
  border-top: 1px solid #ccc;
}

#icon_header #vh_title{
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
  padding: 120px 80px;
  min-width: 770px;
  max-width: 1100px;
  margin: auto;
}

#icon_header #vh_title h1{
  max-width: 508px;
  margin-bottom: 30px;
}

#icon_header .copy{
  color: #515762;
  font-size: 2.8rem;
  font-weight: bold;
}

#theme #icon_header .copy{
  color: #CE4545;
}

#icon_header #vh_icon{
  width: 30%;
  padding-right: 10px;
  padding: 140px 10px 140px 0;
  text-align: center;
}

#theme #icon_header #vh_icon{
  position: relative;
  background-color: #CE4545;
}

#theme #icon_header #vh_icon::before{
  content: "";
  display: block;
  position: absolute;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
  background-color: #CE4545;
  width: 200px;
  height: 100%;
  left: -199px;
  top: 0;
}

#theme #icon_header #vh_icon img{
  width: 110px;
}

#theme .content-block .content-body{
  border-top: 1px solid #ccc;
}

#theme #lead{
  display: flex;
}

#theme #lead .layout{
  display: flex;
  justify-content: space-between;
}

#theme #lead .layout p{
  width: 45%;
  font-size: 1.6rem;
  line-height: 2;
}

#theme #lead .layout.wide p{
  width:100%;
  font-size: 1.6rem;
}

#theme #lead .layout p a{
  color: #D91212;
  text-decoration: underline;
}

/* search box */
#searchArea h2{
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 3rem;
}

#searchArea p.lead{
  margin-bottom: 3rem;
}

#searchArea .raundbox{
  border-radius: 23px;
  box-shadow: 0px 0px 6px #00000029;
  background-color: #fff;
  padding: 60px 80px;
}

#sawrap{
  position: relative;
}

#sawrap table th{
  white-space: nowrap;
  width: 10%;
  min-width: 120px;
  text-align: left;
  padding-bottom: 20px;
  cursor: pointer;
}

#sawrap table th span{
  display: inline-block;
  border-left: 4px solid #515762;
  padding-left: 20px;
}

#sawrap table th .btn{
  display: none;
}

#sawrap table td{
  width: 90%;
  padding-bottom: 20px;
}

#sawrap table .col4 td{
  width: 40%;
}

#sawrap table .col4 td#subject{
}


#sawrap .btn{
  cursor: pointer;
  width: 21px;
}

#sawrap .btn img{
  vertical-align: -5px;
}

#sawrap .open .btn img{
  transform: rotate(45deg);
}

#sawrap .more{
  display: none;
  flex: 1;
  padding: 5px 0px;
}

#sawrap .open .more{
  display: block;
}

#sawrap table td .layout{
  display: flex;
}

#sawrap table ul{
  display: flex;
  flex-wrap: wrap;
}

#sawrap table ul li{
  position: relative;
  font-size: 1.4rem;
  margin-bottom: 10px;
}

#sawrap table ul li input[type=checkbox]{
  opacity: 0;
  width: 0;
}

#sawrap table ul li label{
  display: inline-block;
  background: #EAEAEA;
  line-height: 20px;
  border-radius: 10px;
  font-size: 1.3rem;
  line-height: 1;
  padding: 3px 15px;
}

#sawrap table ul li input[type=checkbox]:checked + label{
  background-color: #D91212;
  color: #fff;
}


#sawrap p.message{
  text-align: center;
  padding-top: 50px;
  margin-bottom: 2rem;
}

#resultnum{
  text-align: center;
  margin: 4rem 0;
}

#resultnum span{
  font-weight: bold;
  color: #a00;
}


#sawrap p.message.warning{
  color: #c33;
  font-weight: bold;
}


#sawrap #searchSubmit{
  display: block;
  background-color: #000;
  border: 5px solid #BEBEBE;
  color: #fff;
  font-size: 2rem;
  padding: 10px 40px;
  border-radius: 30px;
  width: 395px;
  margin: 0 auto 0;
  cursor: pointer;
  transition: .2s;
}

#sawrap #searchSubmit:hover{
  background-color:  #666;
}

#sawrap #clearSubmit{
  position: absolute;
  right: 20px;
  top: 20px;
  display: block;
  background-color: #000;
  border: 5px solid #BEBEBE;
  color: #fff;
  font-size: 2rem;
  line-height: 67px;
  border-radius: 50%;
  width: 77px;
  height: 77px;
  cursor: pointer;
  transition: .2s;
  font-size: 1.1rem;
}

#sawrap #clearSubmit:hover{
  background-color:  #666;
}



#themeBox .box.hide{
  display: none;
}


#themeBox .box{
  position: relative;
  margin: 0 0 80px;
  color: #000;
}

#themeBox .box::after{
  content: "";
  position: absolute;
  display: block;
  width: 7px;
  height: 112px;
  left: 0;
  top: 50px;
  background-color: #D91212;
}

#themeBox .box .bunya{
  display: inline-block;
  background-color: #000;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  padding: 6px 12px;
  margin-bottom: 20px; 
}

#themeBox .box h3{
  margin-bottom: 50px;
  padding-bottom: 50px;
  border-bottom: 2px dotted #707070;
  display: flex;
}

#themeBox .box h3 .num{
  display: inline-block;
  margin-right: 40px;
  width: 70px;
  padding-top: 8px;
}

#themeBox .box h3 .num i{
  display: block;
  background-color: #D91212;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  padding: 6px 20px;
  text-align: center;
}

#themeBox .box h3 .tit{
  flex: 1;
  font-size: 2.4rem;
  font-weight: bold;
  
}

#themeBox .box .info th{
  padding: 15px 0;
  width: 180px;
  text-align: left;
}

#themeBox .box .info td{
  padding: 15px 0;
}

#themeBox .box .detail{
  background-color: #F8F6F4;
}

#themeBox .box .detail .layout{
  display: flex;
}

#themeBox .box .detail .layout .col{
  width: 50%;
  padding: 30px 30px 0;
}

#themeBox .box .detail .layout .col:nth-child(1){
  border-right: 1px solid #B5B5B5;
}

#themeBox .box .detail .layout .col dl{
  display: flex;
  border-bottom: 1px solid #707070;
}

#themeBox .box .detail .layout .col dl dt{
  width: 30%;
  padding: 5px 0;
}

#themeBox .box .detail .layout .col dl dd{
  width: 70%;
  padding: 5px 0;
}

#themeBox .box .detail .rem{
  padding: 15px 30px 30px;
}

#themeBox .box .detail .rem dl{
  display: flex;
}

#themeBox .box .detail .rem dl dt{
  width: 100px;
  padding: 5px 0;
}

#themeBox .box .detail .rem dl dd{
  flex: 1;
  padding: 5px 0;
}

#themeBox .box .detail .rem dl dd a{
  color: #D91212;
  text-decoration: underline;
}

/*　声
===============================*/
#voice{
  background-color: #F4F4F4;
}

#voice #icon_header .copy{
  color: #7A43BA;
}

#voice #icon_header #vh_icon{
  position: relative;
  background-color: #7A43BA;
}

#voice #icon_header #vh_icon::before{
  content: "";
  display: block;
  position: absolute;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
  background-color: #7A43BA;
  width: 200px;
  height: 100%;
  left: -199px;
  top: 0;
}

#voice #icon_header #vh_icon img{
  width: 110px;
}

#voice .content-block .content-body {
    border-top: 1px solid #ccc;
}

#voice #lead p {
    font-size: 1.6rem;
    line-height: 2;
}

#voice #lead p .anno{
  font-size: 1.2rem;
  margin-top: 1rem;
}

#voice .voice{
  padding: 50px 0;
}

#voice .voice h2{
  position: relative;
  border-left: 9px solid #D91212;
  padding-left: 20px;
}


#voice .voice h2 .en{
  display: block;
  color: #D91212;
  font-size: 6rem;
  font-family: 'Barlow Condensed';
  line-height: 1;
  margin-bottom: 1rem;
}

#voice .voice h2 .jp{
  display: block;
  font-size: 3.4rem;
}

#voice .voice .layout{
  display: flex;
  justify-content: space-between;
}

#voice #voice1 .layout .left{
  width: 40%;
}

#voice #voice1 .layout .right{
  width: 60%;
  text-align: center;
  font-size: 1.3rem;
}

#voice #voice1 .layout .right img{
  margin-bottom: 1rem;
}

#voice #voice2 h2{
  margin-bottom: 100px;
}

#voice #voice2 .layout{
  flex-wrap: wrap;
  justify-content: center;
}

#voice #voice2 .layout .box{
  width: 49%;
}

#voice #voice2 .layout .box:nth-child(even){
  margin-left: 2%;
}

#voice #voice2 .layout .box{
  position: relative;
  padding: 50px 35px;
  background-color: #fff;
  z-index: 1;
  margin-bottom: 70px;
}

#voice #voice2 .layout .box::after{
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 10px);
  height: 10px;
  bottom: -10px;
  left: 10px;
  background-color: #555;
}

#voice #voice2 .layout .box::before{
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 100%;
  top: 10px;
  right: -10px;
  background-color: #555;
}

#voice #voice2 .layout .box .icon{
  position: absolute;
  width: 50px;
  top: -30px;
  left: 30px;
}
  
#voice #voice2 .layout .v1::after,
#voice #voice2 .layout .v1::before{
  background-color:#704DCE;
}
#voice #voice2 .layout .v2::after,
#voice #voice2 .layout .v2::before{
  background-color:#E87833
}
#voice #voice2 .layout .v3::after,
#voice #voice2 .layout .v3::before{
  background-color:#2830CB
}
#voice #voice2 .layout .v4::after,
#voice #voice2 .layout .v4::before{
  background-color:#35B282
}
#voice #voice2 .layout .v5::after,
#voice #voice2 .layout .v5::before{
  background-color:#CE4D4D
}
#voice #voice2 .layout .v6::after,
#voice #voice2 .layout .v6::before{
  background-color:#704DCE
}
#voice #voice2 .layout .v7::after,
#voice #voice2 .layout .v7::before{
  background-color:#E87833
}
#voice #voice2 .layout .v8::after,
#voice #voice2 .layout .v8::before{
  background-color:#35B282
}
#voice #voice2 .layout .v9::after,
#voice #voice2 .layout .v9::before{
  background-color:#CE4D4D
}

#voice #voice2 .image{
  margin-bottom: 80px;
}

#voice #voice3 h2{
  margin-bottom: 80px;
}

#voice #voice3 .layout{
  margin-bottom: 30px;
  align-items: center;
}

#voice #voice3 .before{
  width: 45%;
  border: 1px dashed #000;
  background-color: #fff;
  padding: 40px 35px;
  color: #000;
}

#voice #voice3 .after{
  width: 45%;
  border: 1px solid #BA0000;
  background-color: #fff;
  padding: 40px 35px;
  color: #000;
}

#voice #voice3 .title .after{
  border: 1px dashed #BA0000;
}


#voice #voice3 .arrow{
  position: relative;
  width: 6%;
}

#voice #voice3 .arrow img{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#voice #voice3 .title .en{
  display: block;
  font-size: 4rem;
  font-family: 'Barlow Condensed';
  text-align: center;
}
#voice #voice3 .title .jp{
  display: block;
  font-size: 3.4rem;
  font-weight: bold;
  text-align: center;
}

#voice #voice3 .title .after{
  color: #BA0000;
}


@media screen and (max-width: 1120px) {
header #head-nav ul{
  display: none;
}

#internship header #nav-title {
  background-color: #D91212;
  line-height: 1;
}

#internship header #nav-title img{
}

#internship header .nav-menu {
  display: block;
  background-color: #515762;
  padding: 43px 10px 0;
  line-height: 1;
  text-align: center;
  width: 80px;
}

#internship header .nav-menu .hb{
  display: block;
  position: relative;
  width: 100%;
  height: 2px;
  background: #fff;
}

#internship header .nav-menu .hb::before{
  content: "";
  display: block;
  position: absolute;
  top: -8px;
  width: 100%;
  height: 2px;
  background: #fff;
}

#internship header .nav-menu .hb::after{
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  width: 100%;
  height: 2px;
  background: #fff;
}

body.fixed #menu-wrap {
    right: 0;
}
#menu-wrap {
  right: -100%;
  transition: all .3s ease-out;
  padding-top: 100px;
}

}

@media screen and (max-width: 768px) {

#menu-wrap{
  right: -100%;
  width: 100%;
  max-width: none;
  transition: all .3s ease-out;
  padding-top: 100px;
}
body.fixed #menu-wrap{
  right: 0;
}


#toplogo{
  padding: 20px 15px;
}

#toplogo h1{
  display: flex;
}

#toplogo h1 a{
  width: 94px;
}
#toplogo h1 .subtitle{
  flex: 1;
  line-height: 1.1;
}

#internship header #nav-title {
    background-color: #D91212;
    padding: 20px 12px;
    line-height: 1;
    height: 55px;
    width: 90px;
}

#internship header #nav-title img{
  width: 40px;
}

#internship header .nav-menu {
    background-color: #515762;
    padding: 26px 10px;
    line-height: 1;
    text-align: center;
    width: 64px;
    height: 55px;
}

#internship header .nav-menu .hb{
  display: block;
  position: relative;
  width: 100%;
  height: 2px;
  background: #fff;
}

#internship header .nav-menu .hb::before{
  content: "";
  display: block;
  position: absolute;
  top: -8px;
  width: 100%;
  height: 2px;
  background: #fff;
}

#internship header .nav-menu .hb::after{
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  width: 100%;
  height: 2px;
  background: #fff;
}

#internship .slick-slider{
  margin-bottom: 0;
}

header, header.fixed {
    background-color: #fff;
    height: 55px;
}

main.internship{
  padding: 55px 0 0;
}

#internship #nav{
  display: none;
}

header #toplogo h1 a{
  width: auto;
  margin-right: 10px;
}

#toplogo img{
  height: 18px;
}

header #toplogo h1 .subtitle{
  font-size: 0.8rem;
}

#index #visual_header{
  display: block;
  min-height: calc(100vh - 55px); 
}

#index #visual_header #vh_title{
  position: absolute;
  width: 100%;
  display: block;
  z-index: 10;
  padding: 20px;
  top: 50%;
  transform: translateY(-50%);
}

#index #visual_header .copy{
  color: #fff;
  font-size: 1.6rem;
}

#index #visual_header #vh_image-sp{
  position: relative;
  width: 100%;
  height: calc(100vh - 55px);
  padding: 0;
  overflow: hidden;
}

#index #visual_header #vh_image-sp::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.5);
  z-index: 1;
}

#internship #information{
  display: block;
  padding: 0 20px 20px;;
}

#internship #information h2{
  width: 100%;
}

#internship #information li{
  line-height: 1.3;
}

#index #content-menu{
  padding: 0;
}

#index #content-menu ul{
  width: 100%;
}

#index #content-menu li a{
  display: block;
  height: auto;
  font-size: 1.6rem;
  padding: 30px 0;
  box-shadow: none;
  transition: none;
}

#index #content-menu li a:hover{
  box-shadow: none;
}

#index #content-menu li a .icon{
  display: block;
  text-align: center;
  width: 20px;
  margin: auto;
}

#internship .content-block .content-title-en{
  display: none;
}

#internship #index .content-block h2{
  font-size: 1.6rem;
  height: auto;
  line-height: 1.3;
  padding: 15px 20px;
}

#about .layout{
  display: block;
}
#about .layout .box{
  width: 100%;
  margin-bottom: 20px;
}

#about .layout .box h3{
  text-align: center;
  margin-bottom: 20px;
}

#about .layout .box h3 span.num{
  font-size: 6rem;
}

.content-inner{
  padding: 30px 6vw;
}

#searchArea .content-body{
  padding: 30px 3vw;
}

#require dl{
  display: block;
}
#require dl dt{
  width: 100%;
  padding: 1rem 0 1rem;
  font-size: 1.6rem;
}
#require dl dd{
  width: 100%;
  padding: 0 0 2rem;
}

footer .footer-blank{
  display: none;
}

footer .footer-inner{
  display: block;
  padding: 20px;
}

footer .footer-right{
  display: block;
  height: auto;
}

footer #footer-nav{
  height: auto;
  width: 100%;
  padding: 0;
      justify-content: center;
}

#icon_header #vh_title{
  min-width: 0px;
  padding: 50px 20px;
}

#icon_header #vh_icon{
  padding: 70px 10px;
}

#icon_header #vh_title h1{
  width: 60%;
  margin-bottom: 20px;
}

#icon_header .copy{
  font-size: 2rem;
}

#voice #icon_header #vh_icon img,
#theme #icon_header #vh_icon img{
  width: 50px;
}

#voice #icon_header #vh_icon::before,
#theme #icon_header #vh_icon::before{
  width: 80px;
  left: -79px;
}

.side_blank{
  display: none;
}

#theme #lead .layout{
  display: block;
}

#theme #lead .layout p{
  width: 100%;
}

#theme table.w1,
#theme table.w1 tbody,
#theme table.w1 tr,
#theme table.w1 th,
#theme table.w1 td{
  display: block;
  min-width: 0;
  width: 100%;
}

#sawrap table.w1 th{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#sawrap table.w1 td{
  padding: 0;
  margin: 0;
}

#sawrap table .col4 td#date{
  width: 100%;
  min-width: 0;
}

#sawrap table th{
  border-bottom: 1px solid #707070;
  padding-bottom: 0;
}
#sawrap table th span{
  padding: 10px 0;
  border-left: none;
}

#sawrap table th .btn{
  display: block;
  padding: 0;
  border: none;
}

#sawrap table ul li input[type=checkbox]{
  position: absolute;
}

#sawrap table ul li label{
  margin-right: 10px;
  padding: 6px 10px;
  border-radius: 4px;
}

#sawrap p.message{
  text-align: center;
  padding-top: 20px;
  margin-bottom: 1rem;
}

#sawrap #submitlayout{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#sawrap #submitlayout .searchBtn{
  width: 70%;
}

#sawrap #submitlayout .clearBtn{
  width: 20%;
}

#sawrap #searchSubmit{
  width: 100%;
  margin: 0;
  font-size: 1rem;
}

#sawrap #clearSubmit{
  position: static;
  width: 56px;
  height: 56px;
  line-height: 42px;
}

#theme table.info,
#theme table.info tbody,
#theme table.info tr,
#theme table.info th,
#theme table.info td{
  display: block;
}

#themeBox .box{
  margin-top: 30px;
}

#themeBox .box::after{
  top: 20px;
}

#themeBox .box h3{
  display: block;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

#themeBox .box h3 .num{
  font-size: 1.6rem;
}

#themeBox .box h3 .tit{
  display: block;
  font-size: 1.4rem;
  line-height: 150%;
  padding-top: 1rem;
}

#themeBox .box .info th{
  padding: 0;
  font-weight: bold;
}

#themeBox .box .info td{
  padding-top: 0;
}

#themeBox .box .detail{
  padding: 15px;
}

#themeBox .box .detail .layout{
  display: block;
}

#themeBox .box .detail .layout .col{
  width: 100%;
  padding: 0;
}

#themeBox .box .detail .layout .col:nth-child(1){
  border-right: none;
}

#themeBox .box .detail .rem{
  padding: 0;
}

#searchArea .raundbox{
  padding: 20px;
}

#voice #voice1 .layout{
  display: block;
}

#voice #voice1 .layout .right,
#voice #voice1 .layout .left{
  width: 100%;
}

#voice .voice{
  padding: 30px 0;
}

#voice .voice h2{
  margin-bottom: 30px;
}

#voice .voice h2 .en{
  font-size: 4rem;
}
#voice .voice h2 .jp{
  font-size: 1.6rem;
}
#voice .voice h2 .jp br{
  display: none;
}

#voice #voice2 .layout{
  display: block;
}

#voice #voice2 .layout .box{
  width: 100%;
}

#voice #voice3 h2{
  margin-bottom: 30px;
}

#voice #voice3 .layout{
  display: block;
}


#voice #voice3 .after,
#voice #voice3 .before{
  padding: 15px;
  width: 100%;
}

#voice #voice3 .tit{
  text-align: center;
  font-weight: bold;
  margin-bottom: .5rem;
}

#voice #voice3 .tit .en{
  padding-right: 15px;
}

#voice #voice3 .after .tit{
  color: #BA0000;
}

#voice #voice3 .arrow{
  width: 100%;
  text-align: center;
  padding: 0;
  height: 30px;
}

#voice #voice3 .arrow img{
  position: static;
  margin: 0;
  transform: rotate(90deg);
  width: 20px;
}

}

#require dl dd.sangakukyogikai-dd{
  position: relative;
  padding-right: 120px;
}
.sangakukyogikai{
  position: absolute;
  right: 0;
  bottom: 10px;
  width: 100px;
}

@media screen and (max-width: 768px) {
  #require dl dd.sangakukyogikai-dd{
    padding-right: 0;
  }
  .sangakukyogikai{
    position: static;
    text-align: center;
    width: 100%;
  }
  .sangakukyogikai img{
    width: 80px;
  }
