html{
  font-family: 'Noto Sans JP', sans-serif;
}

@media screen and (min-width: 859px) {

.mv_detail{
  height: 34vw;
  width: 100%;
  background-image: url("../corporate_images/mv_detail.png");
  background-size: cover;
  width: 100%;
}

.mv_detail_text{
  text-align: center;
  color: white;
  padding-top: 17vw;
}
.mv_detail_text h1{
  font-size: 2vw;
  font-weight: 100;
}

.intro{
  background: #DCDCDC;
}

.intro ol{
  list-style: none;
  margin: 0;
  padding: 3vw 3vw 2vw 3vw;
}

.intro ol li{
  float: left;
  font-size: 1.2rem;
}
.intro ol li:first-child{
    color: #11ADE6;
  }

.intro ol li::after{
  content: '>';
  display: inline-block;
  padding: 0 10px;
  color: #000;
}
  .intro ol li:last-child::after{
  display: none;
}

.intro_content{
  clear: both;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 80px 96px;
}

.intro_content h2{
  font-family: 'Noto Serif JP', serif;
  font-size: 3.0rem;
  padding-bottom: 40px;
}

.intro_content ul{
  margin: 0 0 0 0;
  padding: 0 0 2vw 2vw;
}

.intro_content ul li{
  margin: 0 0 0 0;
  padding: 0.5rem;
  font-size: 1.0rem;
}

.intro_content p{
  font-size: 1.6rem;
  line-height: 2.1;
}

.shinsotsu{
  background: #DCDCDC;
  padding-bottom: 140px;
}

.shinsotsu_content{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 80px;
}

.sp{
  display: none;
}

.entry-btn {
  display: block;
  position: relative;
  color: white;
  background: #11ADE6;
  font-size: 1.6rem;
  font-weight: 600;
  border: none;
  border-radius: 7px;
  margin: 46px auto 0 auto;
  padding: 28px;
  width: 400px;
  letter-spacing: 5.2px;
}

.entry-btn::before {
  display:inline-block;
  position: absolute;
  content: '';
  background: url(../corporate_images/white_link.png);
  background-repeat: no-repeat;
  background-position: center;
  top:15px;
  left: 16px;
  width: 48px;
  height: 48px;
}

.entry-btn:hover {
  opacity: 0.8;
}

.shinsotsu_content h2{
  font-size: 2.0rem;
  padding: 0 0 30px 0;
  margin: 0;
  border-bottom: solid gray 1px;
  font-weight: 700;
}

.list_none{
  list-style: none;
  margin: 0;
  padding: 0.5vw 0 0.5vw 0;
  position: relative;
  right: 1.5vw;
}

table{
  width: 100%;
  border-collapse: collapse;
}

.table_back_gray{
  background: #D1D1D1 !important;
}
tr {
  border-bottom: 1px dotted #8b8b8b !important;
}

td {
  padding: 2vw 0 2vw 4%;
}


td ul{
  padding: 0;
}

td ul li{
  padding:0;
  line-height: 2.2;
}

tr:last-child{
  border-bottom: solid #000 1px !important;
}


.table_contents{
  width: 100%;
}

.table_side{
  width: 25%;
  font-size: 1.4rem;
  vertical-align: top;
  padding: 32px 0 32px 30px;
  text-align: left;
  font-weight: bold;
  letter-spacing: 1.8px;
}

.table_content{
  width: 85%;
  font-size: 1.4rem;
  padding: 32px 0 32px 8px;
}

.tyuuto{
  background: #DCDCDC;
  padding-bottom: 30px;
}

.tyuuto_content{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 80px;
}

.tyuuto_content h2{
  font-size: 2.0rem;
  padding: 0 0 20px;;
  margin: 0;
  border-bottom: solid gray 1px;
  letter-spacing: 2px;
  font-weight: 700;
  margin-top: 30px;  
	}
	
.tyuuto_first-table{
  margin-bottom: 50px;
}

.tyuuto_second-table {
  margin: 52px 0;
}

.tyuuto_second-table tr:first-child{
  border-top: 1px solid #333;
}

.application{
  background: #DCDCDC;
margin-bottom:100px;
}

.application_content{
  max-width: 1200px;
    margin: 0 auto;
    padding: 100px 80px 0;

}

.application_content h2{
  font-size:2.0rem;
  padding-bottom: 30px;
  margin: 0;
  letter-spacing: 3px;
}

.application_content p{
  font-size: 1.6rem;
  line-height: 2.2;
  padding: 0;
  margin: 0;
  font-weight: 500;
}

.application_content a{
  font-size: 1.6rem;
  color: #11ADE6 !important;
}

.application_content_block{
  margin: 0 0 40px 0;
}

.application_content_block_title{
  font-weight: bold;
}
.access{
  padding-top: 100px;
}

.access iframe{
  width: 100%;
  height: 50vw;
}


.access_content_block{
  margin: 2vw 0 2vw 0;
}

.access_content_block p{
  font-size: 1.4rem;
  line-height: 1.8;
}

.margin-bottom{
  margin-bottom: 2vw;
}
.nomal_txt{
  font-size: 1.4rem;
  padding:30px 0 70px;
}

}

@media screen and (max-width: 858px) {

  .mv_detail{
    height: 70vw;
    width: 100%;
    background-image: url("../corporate_images/mv_detail_sp.png");
    background-size: cover;
    width: 100%;
  }

  .mv_detail_text{
    font-size: 4.5vw;
    text-align: center;
    color: white;
    padding-top: 36vw;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  .mv_detail_text h1{
    font-size: 2.3rem;
    font-weight: 100;
  }

  .intro{
    background: #DCDCDC;
    padding-bottom: 15px;
  }

  .intro ol{
    list-style: none;
    margin: 0;
    padding: 7vw 3vw 7vw 5%;
  }

  .intro ol li{
    float: left;
    font-size: 3vw;
  }
  .intro ol li:first-child{
    color: #11ADE6;
  }

  .intro ol li::after{
    content: '>';
    display: inline-block;
    padding: 0 10px;
    color: #000;
  }
    .intro ol li:last-child::after{
    display: none;
  }

  .intro_content{
    clear: both;
  }

  .intro_content {
    clear: both;
    width: 85%;
    margin: 0 auto;
  }

  .intro_content p{
    font-size: 4vw;
    line-height: 2;
  }

  .intro_content h2{
    font-size: 2.4rem;
    padding-bottom: 32px;
    font-weight: 500;
  }

  .intro_content ul{
    margin: 0 0 0 0;
    padding: 0 0 0 4vw;
  }

  .intro_content ul li{
    margin: 0 0 0 0;
    padding: 1.5vw 0 1.5vw 0vw;
    font-size: 4vw;
    line-height: 1.5;
  }

  .intro_content p{
    font-size: 1.3rem;
    line-height: 2;
    padding-bottom: 25px;
  }

  .shinsotsu{
    background: #DCDCDC;
    padding-b85ottom: 50px;
  }

  .shinsotsu_content{
    width: 90%;
    margin: 0 auto;
  }

  .entry-btn {
    display: block;
    position: relative;
    color: white;
    background: #11ADE6;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: 4px;
    margin: 32px auto 0 auto;
    padding: 16px;
    width: 100%;
    letter-spacing: 3.2px;
  }

  .entry-btn::before {
    display:inline-block;
    position: absolute;
    content: '';
    background: url(../corporate_images/white_link.png);
    background-repeat: no-repeat;
    background-position: center;
    top: 12px;
    left: 16px;
    width: 32px;
    height: 32px;
  }

  .entry-btn:hover {
    opacity: 0.8;
  }

  .shinsotsu_content h2{
    font-size: 1.8rem;
    padding-bottom: 0;
    letter-spacing: 2px;
  }

  .shinsotsu_content_title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: solid gray 1px;
    padding-bottom: 24px;
  }

  .shinsotsu_content_title img {
    display: block;
    width: 24px;
  }


  .list_none{
    list-style: none;
    margin: 0;
    padding: 0.5vw 0 0 0;
    position: relative;
    right: 1rem;
  }

  table{
    width: 100%;
    border-collapse: collapse;
  }

  .table_back_gray{
    background: #D1D1D1;
  }
  tr {
    border-bottom: 1px dotted #8b8b8b !important;
  }

  td {
    padding: 6vw 0 6vw 0;
  }

   td ul{
    padding: 0 0 0 0;
    line-height: 1.5rem
  }

  td ul li{
    padding-left: 1em;
    text-indent: -1em;
    line-height: 2.2rem;
  }

  .title_td{
    padding: 6vw 0 6vw 0;
  }

  .title_td_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .title_td_flex img {
      display: block;
      width: 20px;
  }

  tr:last-child{
   /* border-bottom: solid #000 1px !important;*/
	  border-bottom: none !important;
  }

  .table_contents{
    width: 100%;
  }

  .table_side{
    width: 28%;
    font-size: 1.3rem;
    line-height: 1.3;
    font-weight: bold;
    padding: 20px 0 20px 8px;
    vertical-align: top;
  }

  .table_content{
    width: 90%;
    font-size: 1.3rem;
    line-height: 1.8;
    padding:20px 5% 20px 5% ;
  }

  .tyuuto{
    background: #DCDCDC;
    padding-bottom: 30px;
  }

  .tyuuto_content{
    width: 90%;
    margin: 0 5% 0 5%;

  }

  .tyuuto_content h2{
    font-size: 1.8rem;
    padding-bottom: 0;
    letter-spacing: 2px;
    font-weight: 700;
	margin-top: 30px;  
  }

  .tyuuto_content_title {
    display: flex;
    justify-content: left;
    align-items: center;
    border-bottom: solid gray 1px;
    padding: 30px 0 20px 0;
	margin-top: 30px;
  }

  .tyuuto_content_title img {
    display: block;
    width: 24px;
  }

  .application{
    background: #DCDCDC;
    padding-bottom: 30px;
  }

  .application_content{
    width: 90%;
    margin: 0 5% 0 5%;

  }

  .application_content h2{
    font-size: 1.8rem;
    padding: 25px 0 12px 0;
    margin: 0;
    letter-spacing: 2px
  }
  .application_content h3{
    font-size: 1.5rem;
    padding-bottom: 30px;
  }

  .application_content p{
    font-size: 1.3rem;
    padding: 0vw 0 0.5vw 0;
    margin: 0;
    line-height: 2.2rem;
  }

  .application_content a{
    font-size:1.3rem;
    color: #11ADE6 !important;
  }

  .application_content_block{
    margin: 2vw 0 10vw 0;
  }

  .application_content_block_title{
    height: 7vw;
    font-size: 1.4rem !important;
    font-weight: bold;
  }

  .access iframe{
    width: 100%;
    height: 50vw;
  }

  .access_content_block{
    margin: 2vw 0 2vw 0;
  }

  .access_content_block p{
    font-size: 1.3rem;
  }
  .access_content_block p span{
    font-size: 1.1rem;
    }
  .nomal_txt{
  font-size: 1.3rem;
  padding:30px 0 70px;
}

   /* .shinsotsu_sp_open{
     display: block;
    margin-left: 45%;
  }

  .tyuuto_sp_open{
    margin-left: 45%;
  }

  .keiri_sp_open{
    margin-left: 86%;
  }

  .jinji_sp_open{
    margin-left: 67%;
  }

  .saiyo_sp_open{
    margin-left: 67%;
  }  */

  .sp_open img{
    width: 24px;
  }
}

/*　アコーディオン　*/

.toggle {
    display: none;
}
.option {
    position: relative;
}
.accordion_title, .accordion_content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
}
.accordion_title {
    /*border-top: solid 1px #8b8b8b;
    border-bottom: solid 1px #8b8b8b;*/
    background-color: #D1D1D1;
    padding: 1em;
    display: block;
    font-size: 2.0rem;
    letter-spacing: 2px;
    font-weight: 700;
}
.accordion_title_h3 {
    border-top: solid 1px #8b8b8b;
    border-bottom: solid 1px #8b8b8b;
    padding: 1em 1em 1em 2em;
    display: block;
    font-size: 1.8rem;
    letter-spacing: 2px;
    font-weight: 700;
}
.accordion_title_h3_first {
  border-top: none;
  border-bottom: none;
}
.accordion_title_h3_middle {
  border-bottom: none;
}
.accordion_title_h3_end {
  border-top: solid 1px #8b8b8b;
  border-bottom: solid 1px #8b8b8b;
}
.border-none {
    border: none;
}
.accordion_title::after, .accordion_title::before, .accordion_title_h3::after, .accordion_title_h3::before {
    content: "";
    position: absolute;
    right: 1.25em;
    top: 1.25em;
    width: 2px;
    height: 0.75em;
    background-color: #8b8b8b;
    transition: all 0.3s;
}
.accordion_title::after, .accordion_title_h3::after {
    transform: rotate(90deg);
}
.accordion_content {
    max-height: 0;
    overflow: hidden;
}
/*.accordion_content p {
    margin: 0;
    padding: 0.5em 1em 1em;
    font-size: 0.9em;
    line-height: 1.5;
}*/
.toggle:checked + .accordion_title + .accordion_content, .toggle:checked + .accordion_title_h3 + .accordion_content {
    max-height: fit-content;
    transition: all 1.5s;
}
.toggle:checked + .accordion_title::before, .toggle:checked + .accordion_title_h3::before {
    transform: rotate(90deg) !important;
}
.shinsotsu {
    padding-bottom: 10px;
}






.toggle:checked + .accordion_title_h3 {
    background-color:#D1D1D1;
	border-bottom: none;
}




	
@media screen and (max-width: 858px) {
.accordion_title {
    font-size: 1.8rem;
}
.accordion_title_h3 {
	font-size: 1.4rem;
    padding: 1em 1em 1em 0.5em;

	}
	}
	
	
@media screen and (min-width: 859px) {

tr:last-child {
    border-bottom: none !important;
}
.entry-btn {
    margin: 46px auto 100px auto;
}
	}



















