@charset "utf-8";
/* CSS Document */
@media screen and (max-width:736px) {
    html, body {
        width: 100%;
        font-size: 3.5vw;
        line-height: 2;
    }

    img {
    	width: 100%;
        height: auto;recruit
        vertical-align: bottom !important;
        line-height: 0;
    }

    .mobile{display: inherit;}
    .pc{display:none;}

    .inner,.inner.min{
    	width:88%;
    	margin: 0 auto;
    	box-sizing: border-box;
    }
	
	.tac_pc{text-align: left;}

  /*----------

  header

  ---------*/
  header{
    /*display: block;
    align-items: baseline;*/
    width: 100%;
    padding: 0 0 0 0;
    position:static;
    z-index: 99;
    box-sizing: border-box;
    position: relative;
    box-shadow: 2px 4px 8px -1px rgba(0,0,0,0.2);
  }
  header.fixed{position: inherit;}

  h1.siteid,
  header.fixed h1.siteid{
    width: 38%;
    padding: 3% 0 3% 3%;
    margin: 0 0 0 0;
    line-height: 0;
  }

  header #navi{
    position: fixed;
    width: 100%;
    box-sizing: border-box;
    /*top: 60px;*/
    top:0;
    bottom: 0;
    z-index: 990;
    /*padding-top: 100px;*/
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    transition: -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    overflow-y: auto;
    box-sizing: border-box;
    background-color: #fff;
  }
  .open #navi {transform: translateX(0);}

  header #navi ul{flex-direction: column;}
  header #navi ul li{width: 100%;}
  header #navi ul li a,
  header.fixed nav#navi ul li a{
    padding: 4% 3%;
    width: 100%;
    text-align: center;
    border-bottom: 1px dotted #ccc;
    font-size: 1rem;
  }
  header #navi ul a:hover{
    border-bottom:none;
    background-color: #00758b;
    color: #fff;
  }

  #nav-toggle {
    display: block;
    position: fixed;
    top: 0px;
    right: 0px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    box-sizing: border-box;
    background: #00758b;
    z-index: 999;
  }
  #nav-toggle > div {
    position: relative;
    width: 36px;
  }
  #nav-toggle span {
    width: 80%;
    height: 2px;
    left: 10px;
    display: block;
    background: #fff;
    position: absolute;
    transition: top .5s ease, -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out, top .5s ease;
    transition: transform .3s ease-in-out, top .5s ease, -webkit-transform .3s ease-in-out;
    /* #nav-toggle close */
  }
  #nav-toggle span:nth-child(1) {top: 10px;}
  #nav-toggle span:nth-child(2) {top: 18px;}
  #nav-toggle span:nth-child(3) {top: 26px;}
  #nav-toggle span:nth-child(4) {
    color: #fff;
    top: 30px;
    background:none;
    height: auto;
    left:8px;
    font-size: 0.8rem;
    text-align: center;
  }

  .open #nav-toggle span:nth-child(1) {
    top: 20px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .open #nav-toggle span:nth-child(2) {
    top: 20px;
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 20px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }

   .hdr_found {
      max-width: 10%;
      margin-right: auto;
      margin-left: 2%;
  }
  /*----------

  index

  ---------*/
  .index-main{
    text-align: center;
    margin-bottom: -8%;
    padding-bottom: 30%;
    position: relative;
  }
  .index-main h1 img{width: 100%;}
  p.bnr-specific-menulist{
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 70%;
  }

  .index-concept{
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100%;
    margin-top: 0;
    padding: 15% 8% 0;
  }

  .index-concept h2{
    font-size: 2rem;
    letter-spacing: 0.2rem;
    margin-bottom: 32px;
  }
  .index-concept h2 span.small{
    font-size: 1rem;
    display: block;
  }

  .index-concept p{
    text-align: left;
    font-size: 1rem;
  }
  .index-concept p.ic-logo{
    width: 35%;
    margin: 32px auto 0;
  }
	.index-concept p.ic-txt{
		text-align: center;
		margin: 5px 0 10px;
	}
	.index-concept .sdgs_icon_list{flex-wrap: wrap;width: 80%;margin: 0 auto;}
	.index-concept li{margin: 0;width: 30%;margin-bottom: 2%;}
	.index-sdgs .linkbtn{
		margin-top: 25px;
		font-size: 1.2rem;
	}
	.index-youtube{margin-bottom: 70px;}
  .index-youtube h2{
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 20px;
  }
  .index-youtube ul{
    flex-direction: column;
  }
  .index-youtube ul li{
    width: 85%;
    margin: 0 auto 4%;
  }
	.index-youtube .bnr-wide {
			width: 100%;
			margin: 20px auto 0;
	}
  .index-news div.inner{
    flex-direction: column;
  }
  .index-news h2{
    flex-direction: column;
    margin-bottom: 24px;
    letter-spacing: 0.2rem;
  }
  .index-news h2 span{
    font-size: 0.8rem;
    letter-spacing: 0;
    margin-left: 0rem;
  }
  .index-news .linkbtn{order: 3;}
  .index-news .linkbtn a{margin: 0;}

  .news-list{
    width: 100%;
    text-align: left;
    margin-top: 24px;
  }
  .news-list ul li{
    width: 100%;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    text-align: left;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  .news-list span.days{font-size: 0.8rem; margin:0 0 5px;}
  .news-list span.news-cat{
    width: 35%;
    margin:0 0 5px;
    text-align: center;
  }

  .index-reason{
    background-attachment: scroll;
    padding: 8% 0;
  }

  .index-reason section{
    text-align: center;
  }
  .index-reason section.reason001,
  .index-reason section.reason002{margin-bottom: 40px;}
  .index-reason section.reason001 h2{margin-bottom: 32px;}

  .index-reason section.reason002{
    position: inherit;
    height: auto;
  }
  .index-reason section.reason002 ul{
    display: flex;
    justify-content: space-between;
    flex-wrap:wrap;
    margin-top: 32px;
  }
  .index-reason section.reason002 ul li{
    position:inherit;
    width: 46%;
    margin: 0 2% 4%;
  }

  .index-reason section.reason002 h2{
    padding-top: 0;
  }
  .index-reason section.reason002 h3{
    background-color: #ffd000;
    border-radius: 8px;
    font-weight: bold;
    width: 80%;
    padding: 5px 0;
    margin:0 auto 20px;
  }
  .index-reason section.reason002 p.linkbtn{margin: 20px auto 0;}

  .index-reason section.reason003{
    width: 100%;
    margin: 30px auto;
  }

  .index-katuyou div.inner{
    flex-direction: column;
  }
  .index-katuyou div.inner .ikt-001{
    width: 100%;
  }
  .index-katuyou div.inner .ikt-001 h2{
    text-align: center;
    padding: 12px 0;
  }
  .index-katuyou div.inner .ikt-001 div:nth-child(n+2){margin-top: 32px;}
  .index-katuyou div.inner .ikt-001 div h3{
    font-size: 1.2rem;
    margin-bottom: 12px;
  }
  .index-katuyou div.inner .ikt-001 div p{
    font-size: 0.9rem;
    line-height: 1.6rem;
  }
  .index-katuyou div.inner .ikt-img{
    width: 80%;
    margin: 0 auto 30px;
  }
  .index-katuyou div.inner .ikt-img ul{display: none;}
  .index-katuyou div.inner .ikt-002{
    width: 100%;
    margin-top:0;
  }
  .index-katuyou div.inner .ikt-002 h2{
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  .index-katuyou div.inner .ikt-002 h3{
    font-size: 1rem;
    margin-bottom: 15px;
  }

  .index-katuyou div.inner .ikt-002 h3 span{
    display: inline-block;
    font-size: 0.85rem;
  }
  .index-katuyou div.inner .ikt-002 dl{
    font-size: 0.9rem;
    line-height: 1.5rem;
    margin-bottom: 12px;
  }
  .index-katuyou div.inner .ikt-002 dl dt{
    width: 26%;
    box-sizing: border-box;
    font-size: 0.8rem;
    text-align: center;
  }
  .index-katuyou div.inner .ikt-002 dl dd{
    width: 70%;
  }


  .index-case section.index-case-head{text-align: center;}
  .index-case section.index-case-head p{
    width: 85%;
    padding: 6px 0;
  }
  .index-case section.index-case-head h3{
    margin-top: 0;
    margin-bottom: 35px;
  }
  .index-case section.case-list{
    flex-direction: column;
  }
  .index-case section.case-list article{
    width: 80%;
    margin: 0 auto 5%;
  }

  .index-future{
    background-position: center top;
    background-size: 100%;
    padding: 12% 0 8%;
  }
  .index-future p.if-point{
    width: 80%;
    padding: 6px 0;
    box-sizing: border-box;
    margin: 0 0 10px 0;
    text-align: center;
    border-radius: 8px;
  }
  .index-future h2{
    margin-bottom: 15px;
  }
  .index-future P{font-size: 1rem;}
  .index-future p.if-bnr{margin-top: 32px;}

  .index-topics{
    background-image: url(../images/page/index/bg-topics.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 8% 0;
  }
  .index-topics div.inner{
    flex-direction: column;
    padding: 0 2%;
    box-sizing: border-box;
  }
  .index-topics div.tp-text{
    width: 100%;
  }
  .index-topics div.tp-text p.tp-caption{
    width: 40%;
    padding: 5px 10px;
    box-sizing: border-box;
    margin-bottom: 12px;
  }
  .index-topics div.tp-text h2{
    font-size: 1.2rem;
    letter-spacing: 0.1rem;
  }
  .index-topics p.tp-img{width:100%; margin-top: 32px;margin-bottom: 32px;}
  .index-topics p.tp-img img{width: 100%;}

  .index-other-list{
    flex-direction: column;
  }
  .index-other-list div.io-bnr{
    width: 85%;
    margin: 0 auto 5%;
  }
  .index-other-list div.io-bnr a{
      position: relative;
      overflow: hidden;
      display: block;
      padding: 12% 0;
      background-color: #000;
      text-decoration: none;
  }

  .index-other-list div.io-bnr a div.io-text p{
    width: 80%;
  }

  .index-blog-list{
    flex-direction: column;
  }
  .index-blog-list div.blog-list{
    width: 100%;
    margin: 0 0 2%;
    box-sizing: border-box;
    padding: 3% 0;
    border-bottom: 1px dotted #ccc;

  }
  .index-blog-list div.blog-list a{
    box-sizing: border-box;
    align-items: flex-start;
  }
  .index-blog-list div.blog-list a p.blog-img{
    width: 25%;
  }
  .index-blog-list div.blog-list a p.blog-img img{
    width: 100%;
    height: 90px;
  }
  .index-blog-list div.blog-list a div.blog-list-text{
    width: 70%;
  }
  .index-blog-list div.blog-list a div.blog-list-text p.days{
    font-size: 0.8rem;
  }
  .index-blog-list div.blog-list a div.blog-list-text h3{
    font-size: 1.1rem;
    margin-bottom: 10px;
  }
  .index-blog-list div.blog-list a div.blog-list-text div.blog-ex{
    font-size: 0.85rem;
    line-height: 1.5rem;
  }

  .index-sns div.inner{
    flex-direction:column;
  }
  .index-sns .index-sns-item{
    width: 100%;
    max-width: 100%;
    height: 300px;
  }

  .index-sns .index-sns-item + .index-sns-item{
    margin-top: 40px;
  }

  .index-sns .index-sns-item .snsfeed_wrap{
    height: 300px;
  }
  .index-sns-item .sns_logo{
    margin: 10px auto;
  }
  
  .index-bnr{
    background-color: #E8E9D1;
    padding: 5% 0;
    margin-bottom: 0;
  }
  .index-bnr div.inner ul{
    flex-direction: column;
  }
  .index-bnr div.inner ul li{margin-bottom: 24px;}
  .index-bnr div.inner ul li.wide{width: 100%; margin-top: 0;}


  .index-sponsor{
    padding:8% 5%;
  }
  .index-sponsor p{text-align: left;}
	.index-youtube .bnr-wide {
    width: 100%;
    margin: 20px auto 0;
}

	.index-sponsor h2 {
			font-size: 1.5rem;
			padding: 5px 15px;
			margin-bottom: 15px;
	}

	.index-sponsor h3 {
			font-size: 1.6rem;
			line-height: 1.4;
			margin-bottom: 20px;
	}
  .index-sponsor ul{
    flex-direction: column;
    margin-top: 24px;
  }
  .index-sponsor ul li{
    width: 76%;
    margin: 0 auto 15px;
  }


  /*----------

  下層ページ共通

  ---------*/
  .pagemain{
    margin-bottom: 32px;
    background-position: center top;
    background-size: 100%;
    padding: 15% 0 0;
  }
  .pagemain-text{
    width: 100%;
  }
  .pagemain-text h1{
    font-size: 0.8rem;
    letter-spacing: 0.1rem;
    display: inline-block;
    padding:5px 12px;
    margin-bottom: 25px;
  }
  .pagemain-text h2{
    font-size: 1.6rem;
    letter-spacing: 0.2rem;
    line-height: 1.5;
  }
  .pagemain-text h2.min-text-size{
    font-size:1.1rem;
    letter-spacing: 0.1rem;
  }
  .pagemain-text p{
    font-size: 0.9rem;
  }
  /* 短めのメインイメージ */
  .pagemain.min{
    background-size: 120%;
    padding: 6% 0;
  }

  .pagemain p.subtext{
    display: inline-block;
    background-color: rgba(0,0,0,0.8);
    color: #fff;
    padding: 5px 15px;
    letter-spacing: 0.2rem;
  }


  /* パンくず */
  #breadcrumbs{
    display: none;
  }

  h2{
    font-size: 1.5rem;
    letter-spacing: 0.2rem;
    margin-bottom: 24px;
  }
  /* 見出し */
  .subtitle-001{
    font-size: 1.4rem;
    letter-spacing: 0.15rem;;
    margin-bottom: 35px;
  }
  .subtitle-001::before,
  .subtitle-001::after{
    border-top: 1px solid;
    content: "";
    width: auto;
    flex-grow: 1;
  }
  .subtitle-001::before{margin-right: 1.2rem;}
  .subtitle-001::after{margin-left: 1.2rem;}

  .en-title{
    font-size: 1rem;
    letter-spacing: 0.2rem;
    text-align: center;
  }

  .subtitle-002{
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    margin-bottom: 35px;
  }
  .subtitle-002::before{
    content: '';
    width: 20px;
    height: 2px;
    margin-right: 10px;
  }

  .subtitle-003{
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
    margin-bottom: 35px;
    border-left: 5px solid #007580;
    padding-left: 1.2rem;
  }

  .subtitle-004 {
    font-size: 1.4rem;
  }
  
  .green-title{
    font-size: 1.2rem;
    margin-bottom: 20px;
  }
	.green-title.pc-center{
		text-align: left;
	}

	.txt-bg-green {
		padding: 0.5rem;
		margin: 0 0.3rem;
	}


  /* ボタン */
  .linkbtn {
    width: 86%;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .linkbtn a{
    text-align: center;
    width:100%;
    padding: 15px 3%;
    font-size: 1.1rem;
  }
  .linkbtn a::after{
    content: '';
    position: absolute;
    right: 10px;
    top: 45%;
  }
  /* 配置 */
  .center-img{
    text-align: center;
    margin:24px 0 30px;
  }
  .center-img img{max-width: 100%;}

  .comming-img{text-align: center; margin: 34px auto;}
  .comming-img img{width: 100%;}

  .w100-img img{width: 100%;}

  .tac-text{
    text-align: left;
    margin: 20px 0;
  }
  .min-width-text{
    width:80%;
  }

  /*----------

  選ばれる理由
  ---------*/
  .reason-list section{
    width: 100%;
    max-width: auto;
    margin: 0 auto 60px;
    background-position: center top;
    background-size: 100%;
    background-repeat: no-repeat;
    padding: 45% 6% 0;
    box-sizing: border-box;
  }

  .reason-list section div.white-box{
    width: 100%;
    padding: 6%;
    box-sizing: border-box;
  }
  .reason-list section:nth-of-type(even){background-position: center top;}
  .reason-list section:nth-of-type(even) div.white-box{margin-left:auto; }

  .reason-list section p.point{
    font-size: 0.9rem;
  }
  .reason-list section h3{
    font-size: 1.4rem;
    letter-spacing: 0.2rem;
    margin-bottom: 24px;
  }

  /*----------

  外国人技能実習生事業
  ---------*/
  .system001{
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 55% 0 0;
  }
  .system001 article{width: 100%; margin-bottom: 50px;}
  .system001 article section{
    background-color: #fff;
    padding: 6%;
    box-sizing: border-box;
    margin-bottom: 32px;
  }

  .system-list section{
    margin-top: 80px;
  }
  .system-inner{
    margin: 0 0 0 5%;
  }
  .sl-merit{
    flex-direction: column;
  }
  .sl-merit div{
    box-sizing: border-box;
    border: 3px solid #007589;
    padding: 5%;
    width: 100%;
    margin: 0 auto 4%;
    text-align: center;
  }
  p.merit-head{
    width: 80px;
    height: 80px;
    box-sizing: border-box;
    margin: 0 auto 24px;
    padding:8px 0 0;
  }
  p.merit-head span{
    display: block;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .sl-merit div p.merit-img{width: 45%; margin:0 auto 24px;}
  .sl-merit div p.merit-text{text-align: left;}
	
	.system-inner.sl-point{padding-bottom: 0;}
	.sl-point div {padding: 0;}
	.sl-point div a {padding: 2% 5% 5%;}
	.sl-point div a .green-title{font-size: 1.4rem;margin-bottom: 10px;}
	.sl-point div .merit-text{margin-bottom: 20px;}
	
	
  .system-inner.flex-box{
    flex-direction: column;
  }
  .system-inner.flex-box .sys-text{width: 100%; margin-bottom: 32px;}
  .system-inner.flex-box .sys-right{
    width: 100%;
  }
  .system-inner.flex-box .sys-list ul{
    display: flex;
    flex-wrap: wrap;
  }
  .system-inner.flex-box .sys-list li{
    width: 48%;
    margin: 0 1% 2%;
  }

  .sys-hyou{margin-bottom: 32px;}
  .sys-hyou h4{
    font-size: 1.1rem;
    margin-bottom: 0;
  }
  .sys-hyou .sh-content{
    overflow-y:scroll;
  }
  .sys-hyou .sh-content p{
    width: 150vw;
  }
  .sys-hyou .sys-scroll-txt{font-size: 0.9rem;}
  .sys-caption{
    font-size: 0.9rem;
  }
  .sys-caption p:nth-child(n+2){margin-top: 20px;}
  .kosyu-flow{
    flex-direction: column;
    margin-top: 40px;
  }
	.kosyu-flow li.kosyu-004-linkbtn{
		margin: 20px auto 0;
	}
	.kosyu-flow li:not(:nth-of-type(2)) {width: 90%;}
	.kosyu-flow-box {padding: 30px 20px;height: auto;}
	.kosyu-flow-box .sttl {min-height: inherit;}
	.kosyu-flow-box .green-name {margin-top: 15px;padding: 15px 10px;}
	.kosyu-flow li a .kosyu-004-linkbtn {width: 70%;margin-top: 20px;}

  .syokusyu-detail{
    flex-direction: column;
    /*margin-top: 40px;*/
  }
  .syokusyu-detail div{
    text-align: center;
    width:100%;
    margin: 34px auto 4%;
    padding: 8% 0 4%;
  }

	.syokusyu-detail div.df{
    text-align: center;
    width:100%;
    margin: 34px auto 4%;
    padding: 8% 0 4%;
  }
	.syokusyu-detail div.df .linkbtn + .linkbtn{
		margin-left: 0;
		margin-top: 0;
	}

  /*----------

  組合について

  ---------*/
  .idea-contents{
    background-size: 100%;
    /*padding: 10% 4% 8%;*/
    text-align: center;
  }
  .idea-contents h3{margin-bottom: 55%;}

  .idea-head{
    margin-bottom:5%;
  }
  .idea-head p{
    font-size: 1.1rem;
    letter-spacing: 0rem;
  }
  .idea-head p span{
    background-color:rgba(255,255,255,0.95);
    display: inline-block;
    margin-bottom:8px;
    padding: 0 8px;
  }
  .idea-bottom ul{
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  .idea-bottom ul li{
    width: 46%;
    margin: 0 2% 6%;
  }
  .idea-bottom ul li img{max-width: 80%;}
  .idea-bottom ul li span{
    padding: 1% 0;
    font-size: 0.9rem;
    margin: 10px 20px 0;
  }
  .idea-bottom p{
    font-size: 1.2rem;
  }

  .union-map{
    flex-direction: column;
  }
  .union-map section.ikt-img{
    margin-right: 0px;
  }
  .union-map section.ikt-img ul{
    display: none;
  }


  .union-map section.ikt-002{
    width: 100%;
    margin-top:8%;
  }
  .union-map section.ikt-002 h2{
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  .union-map section.ikt-002 h3{
    font-size: 1rem;
    margin-bottom: 15px;
  }

  .union-map section.ikt-002 h3 span{
    display: inline-block;
    font-size: 0.85rem;
  }
  .union-map section.ikt-002 dl{
    font-size: 0.9rem;
    line-height: 1.5rem;
    margin-bottom: 12px;
  }
  .union-map section.ikt-002 dl dt{
    width: 26%;
    box-sizing: border-box;
    font-size: 0.8rem;
    text-align: center;
  }
  .union-map section.ikt-002 dl dd{
    width: 70%;
  }


  .jinzai{
    background-size: 120%;
    padding: 28% 4% 0;
  }
  .jinzai div.inner{
    position: inherit;
  }
  .jinzai .white-box{
    background: rgba(255,255,255,0.96);
    padding: 6%;
    width: 100%;
    box-sizing: border-box;
  }
  .jinzai .white-box h2{
    color: #007589;
    font-size: 1.6rem;
  }
  .jinzai div.inner div.ji-img{
    position: inherit;
    text-align: center;
  }
  .jinzai div.inner div.ji-img ul{display: none;}

  .access-list .access-gts{margin: 40px 0;}
  .access-list .access-gts p{
    margin: 0 0;
    font-size:1rem;
  }
  .access-list .syuchyou-list div{
    flex-direction: column;
    margin: 0 0;
  }
  .access-list .syuchyou-list div dl{
    width:100%;
    margin: 0 0 2%;
    padding: 3%;
  }
  .access-list .syuchyou-list div dl dt{
    font-size: 1rem;
  }
  .access-list .syuchyou-list div dl dd{margin-left: 3%;}

  .ggmap iframe{width: 100%;}
  
  .access-mapimg .ggmap iframe{
    border-width: 3px;
    height: 400px;
  }

  .tableunit table{width: 100%; border-bottom: 1px solid #ccc;}
  .tableunit table tr th,
  .tableunit table tr td{
    padding: 3% 3%;
    vertical-align: middle;
    display: block;
  }
  .tableunit table tr th{
    width: 100%;
    border-top: 2px solid #007589;
    font-weight: normal;
  }
  .tableunit table tr td{
    width: 100%;
    font-size: 0.9rem;
    border-top: 1px dotted #ccc;
  }
  .tableunit table tr:last-of-type th{border-bottom: 2px solid #007589;}

  .tableunit table tr td div.address{
    display: flex;
    margin-bottom: 24px;
  }
  .tableunit table tr td div.address p{
    width: 20%;
  }
  .tableunit table tr td div.address div,
  .tableunit table tr td div.address ul{
    width: 80%;
  }
  .tableunit table tr td div.address dl{
    display: flex;
    align-items: center;
    margin-bottom: 8px;
  }
  .tableunit table tr td div.address dl dt{
    width:24%;
  }
  .tableunit table tr td div.address dl dd{
    width:75%;
  }

  /*.tableunit.history table tr th,
  .tableunit.history table tr td{
    display:table-cell;
  }
  .tableunit.history table tr th{width: 20%;}
  .tableunit.history table tr td.month{
    width: 15%;
  }
  .tableunit.history table tr td.his-text{width: 65%;}*/
  .tableunit table tr:last-of-type td.month{border-bottom: 2px solid #88BEC8;}

  section.history-contents div.history-list h3{font-size: 1rem; width: 20%;}
  section.history-contents div.history-list div{width: 80%;}
  section.history-contents div.history-list div dl dt{width: 20%;}
  section.history-contents div.history-list div dl dd{width: 80%; padding: 3% 2%}

  section.buisiness-list ul{
    counter-reset: number 0;
  }
  section.buisiness-list ul li{
    font-size: 1rem;
    border-radius: 6px;
    margin-bottom: 10px;
    padding: 10px 20px;
    box-sizing: border-box;
    flex-direction: column;
  }

  section.other-buisiness article{
    margin-top: 50px;
  }
  section.other-buisiness article h3.subtitle-002{
    margin-bottom: 24px;
  }

  section.other-buisiness article div{
    margin: 0 0 0 auto;
    width: 100%;
    padding: 6%;
    box-sizing:border-box;
  }
  .other-buisiness-link{
    margin: 1rem 0 0 auto;
    width: 100%;

  }
  section.other-buisiness article div dl{
    flex-direction: column;
    align-items: flex-start;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  section.other-buisiness article div dl dt{
    width: 100%;
    font-weight: bold;
    margin-bottom: 12px;
  }
  section.other-buisiness article div dl dd{
    width: 100%;
  }
  section.other-buisiness article div ul li{
    list-style: disc;
    margin: 0 0 10px 20px;
  }

  /*----------

  特定技能について
  ---------*/
	.pagemain.specific p.bnr-specific-menulist{
	position: inherit;
	margin-bottom: 24px;
	
}
  .spec-detail{
    padding: 5%;
  }
  .spec-detail h3{
    font-size: 1.2rem;
    padding: 12px 0;
    margin: 45px 0 20px;
  }
	.spec-detail h4{
		font-size: 1.2rem;
	}
  .spec-list{
    display: flex;
    flex-wrap: wrap;
  }
  .spec-list li{
    width: 48%;
    margin:0 1% 2%;
    padding: 5px 0;
    font-size: 0.9rem;
    text-align: center;
  }
	
	.specific-select-lang{
		margin-bottom: -40px;
	}
	
  .select-lang {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
		width: 75%;
    margin: 0 auto ;
  }
	
	.select-lang li.btn.circle,
	.select-lang li.btn.circle:last-of-type{
		width: 110px;
    height: 110px;
    margin-right: 0;
    margin-bottom: 4%;
	}

	.select-lang li.btn.circle a {
			font-size: 1.1rem;
	}
	.select-lang li.btn.circle a span:after {
			width: 5px;
			height: 7px;
		margin-left: 5px;
	}


  /*----------

  教育事業
  ---------*/
	
  .performance{
    width: 220px;
    height: 220px;
    margin: 0 auto;
    border-radius: 50%;
    text-align: center;
    padding-top: 24px;
    box-sizing: border-box;
  }
  .performance h3{
    font-size:1.2rem;
    margin-bottom: 14px;
  }
  .performance p{
    font-size: 2.8rem;
    line-height: 1.3;
    display: flex;
  }

  .sl-merit.ed div{
    width: 100%;
    padding-left:5%;
    padding-right:5%;
    margin: 0 0 5% 0;
  }
  .sl-merit.ed div p.merit-text{font-size: 0.9rem;}
  .caption-text{
    text-align: right;
    font-size: 0.9rem;
    margin-top: 14px;
  }
  .sys-hyou .sys-caption{margin-top: 24px;}

	#education002 .linkbtn{width: 90%; }
  .other-list section{
    margin-bottom: 50px;
  }
  .other-list section h3{
    background-color: #007580;
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
    letter-spacing: 0.2rem;
    padding: 2% 0;
  }
  .other-list section .ol-inner{padding: 5%;}
  .ob-photo{
    flex-direction: column;
    margin: 32px 0 24px;
  }

  .other-flow{
    flex-direction: column;

    margin-top: 40px;
  }
  .ob-photo li{width: 100%; margin-bottom: 3%;}
  .ob-photo li img{width: 100%;}

  .ob-list li{
    list-style: disc;
    margin: 0 0 8px 20px;
  }
	.ob-list.flex-box{justify-content: space-between;}
	.ob-list.flex-box.col3 li,
	.ob-list.flex-box.col4 li,
	.ob-list.flex-box.col5 li{width: 43%;}
	.ob-list.flex-box.col1_sp li{width: 100%;}

	.ob-cont.flex-box .w100-img{
		margin-top: 24px;
	}

  .swiper-container.gallery{
    margin: 0 auto;
  }
  .swiper-container{
    position: relative;
  }
  .swiper-container .swiper-button-next,
  .swiper-container .swiper-button-prev{
    display: none;
  }
  .swiper-slide img{width: 100%;}
  .system-inner.tableunit{width: 90%; box-sizing: border-box;}
	
	.education_course .linkbtn{margin-top: 24px;}
	
	.movie_imglist {justify-content: space-between;}
	.movie_imglist li {margin: 0 2% 6%;width: 45%;}
	.country_name {font-size: 1rem;	margin-bottom: 5px;}

	.country_name img {width: 27%;margin-right: 5px;}
	.movie_img:after {
		content: "";
		display: block;
		background: url("../images/page/system/icon_movie.png") no-repeat center center / contain;
		width: 25%;
	}

  /*----------

  よくあるご質問
  ---------*/
  .faq-subject ul li a{
    display: block;
    padding: 15px 20px 15px 40px;
    background-image: url(../images/page/faq/icon-arrow.png);
    background-position: 10px center;
  }
  .faq-list section{
    margin-bottom: 45px;
  }
  .faq-list section h3.subtitle-002{
    font-size: 1.2rem;
    letter-spacing: 0rem;
    margin-bottom: 24px;
  }
  .faq-answer{
    background-color: #F0F5F5;
    margin: 0 5%;
    padding: 6%;
  }

  /*----------

  実績紹介
  ---------*/
  .case-list{
    flex-direction: column;
  }
  .case-list article{
    width: 85%;
    margin: 0 auto 6%;
  }


  .case-list article a div.photoarea{
    position: relative;
  }
  .case-list article a div.photoarea h2{
    padding: 3%;
    font-size: 1.1rem;
    letter-spacing: 0.1rem;
    line-height: 1.5;
  }
  .case-list article a p.case-photo img{width: 100%; height: 50vw;}
  .case-list article a div.case-info{
    background-image: url(../images/page/case/idon-arrow.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 20%;
    padding: 3% 5%;
  }
  .case-list article a div.case-info ul{
    display: flex;
    flex-wrap: wrap;
  }
  .case-list article a div.case-info ul li{font-size: 0.85rem; margin-right: 5px;}
  .case-list article a div.case-info h3{font-size: 1.1rem;}

  /* 詳細 */
  .case-head h1{
    font-size: 1.4rem;
  }

  .case-profile{
    flex-direction: column;
    margin-bottom: 60px;
  }

  .case-profile p.case-photo{width: 100%; margin-bottom: 24px;}
  .case-profile p.case-photo img{width:100%;}
  .case-profile div.case-profile-info{width: 100%;}

  .case-detail-list{margin-bottom: 60px;}
  .case-text{
    margin: 0 5%;
  }

  /*----------

  実習生の声
  ---------*/
  .voice-list{
    flex-direction: column;
  }
  .voice-list article{
    width: 85%;
    margin: 0 auto 6%;
    box-sizing: border-box;
  }

  .voice-list article a p.voice-photo{margin-bottom: 24px;}
  .voice-list article a p.voice-photo img{width: 100%; height: 45vw;}

  .voice-list article a h2{
    font-size: 1.1rem;
    letter-spacing: 0;
  }
  .voice-list article a dl dt{width: 35%;}
  .voice-list article a dl dd{width: 65%;}

  /* 詳細 */
  .voice-single{
    width: 100%;
    padding: 4%;
    box-sizing: border-box;
    margin: 0 auto 50px;
  }

  .voice-single .voice_head h1{
    font-size:1.4rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
    margin-bottom: 24px;
  }
  .voice-single .voice_head h2{
    font-size: 1rem;
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 10px;
  }

  .voice-single .voice_head div.name-area{
    flex-direction: column;
    align-items: flex-start;
  }
  .voice-single .voice_head p.name{font-size: 0.9rem;}
  .voice-single .voice_head p.name002{font-size: 0.9rem; margin-left: 1rem;}

  .voice-single .voice-profile{
    flex-direction: column;
    margin-bottom: 60px;
  }
  .voice-single .voice-profile p.voice-photo{width:100%; margin-bottom: 24px;}
  .voice-single .voice-profile p.voice-photo img{width: 100%;}
  .voice-single .voice-profile-list{width: 100%;}
  .voice-profile-list dl{
    padding: 12px 10px;
    font-size: 0.9rem;
  }
  .voice-profile-list dl dt{width: 35%;}
  .voice-profile-list dl dd{width: 65%;}

  .voice-qa div.voice-qa-list{margin-bottom: 55px;}
  .voice-qa h2.subtitle-002{
    line-height: 1.5;
    letter-spacing: 0.1rem;
    margin-bottom: 24px;
  }
  .voice-qa div.voice-answer{
    margin: 0 0 0 5%;
  }

  /* その他 */
  .other-voice .voice-list article{
    width: auto;
    margin: 0 0 0;
  }
  .other-voice .voice-list article a h2{font-size: 0.9rem;}
  .other-voice .voice-list article a p.voice-photo img{width: 100%; height: 45vw;}
  .other-voice .voice-list article a dl dt,
  .other-voice .voice-list article a dl dd{font-size: 0.8rem;}
  .other-voice .voice-list article a dl dt{width:35%;}
  .other-voice .voice-list article a dl dd{width: 65%;}

  .swiper-voice{
    position: relative;
    margin: 0 auto;
    overflow: hidden;
  }
  .other-voice .voice-list{
    display:block;
    padding: 0 1% 15%;
  }


  /*----------

  採用情報

  ---------*/
	.recruit-message .mes-cont {
		margin-top: 35px;
		background-size: 56%;
		padding: 0 0 31vw;
	}

	.recruit-message .mes-cont .txt {
		font-size: 0.9rem;
		margin: 0 auto;
		writing-mode: horizontal-tb;
	}

	.recruit-message .mes-cont .name {
		font-size: 0.9rem;
		margin-top: 26vw;
		margin-left: 0;
	}	

	.recruit-point {padding: 70px 0;}
	.recruit-point .point-ttl {font-size: 1.4rem;}
	.recruit-point-list{margin-bottom: 10px;}
	.recruit-point-list li {
			width: 100%;
			font-size: 1rem;
			padding: 15px 10px;
			margin-bottom: 10px;
	}
	.recruit-point .note {font-size: 1rem;}	
	
	
	.recruit-btnarea {padding: 0;}
	.recruit-btnarea .subtitle-001 {margin-bottom: 35px;}

	.recruit-btnlist {width: 100%;}

	.recruit-btnlist .linkbtn {
			margin: 0 auto 15px;
	}
	.recruit-btnlist .linkbtn a{
			font-size: 1.4rem;
			padding: 20px 10px;
		text-align: left;
	}
	.recruit-btnlist .linkbtn a:after{
			width: 69px;
			height: 9px;
			top: 56%;
			right: 15px;
			background-size: contain;
	}
	.recruit-btnlist .linkbtn a:hover:after{
			width: 69px;
			height: 9px;
			top: 56%;
			right: 5px;
			background-size: contain;
	}
	.recruit-btnlist .linkbtn a span {
			font-size: 0.8rem;
	}

  .recruit-message-attention {
      max-width: 100%;
      margin-bottom: 40px;
  }

  .recruit-message-attention a {
      border-width: 2px;
      font-size: 1.6rem;
      padding: 20px 10px;
  }
  
  
  .recruit-attention-news {
      padding-top: 70px;
  }

  .recruit-attention-news .detail-box {
      padding: 20px 0;
      flex-wrap: wrap;
  }

  .recruit-attention-news .detail-box > h3 {
      width: 100%;
      font-size: 1.2rem;
      margin: 0 auto 5px;
  }

  .recruit-attention-news .detail-box .price-table th, 
  .recruit-attention-news .detail-box .price-table td {
      box-sizing: border-box;
  }

  .recruit-attention-news .detail-box .price-table .th_bg_red {
      width: 29%;
      font-size: 1.2rem;
  }
  .recruit-attention-news .detail-box .price-table .th_bg_red span {
      font-size: 1rem;
  }
  .recruit-attention-news .detail-box .price-table td {
      font-size: 1rem;
      padding-left: 10px;
  }

  .recruit-attention-news .detail-box .detail-example {
    font-size: 1.2rem;
    justify-content: space-between;
  }

  .recruit-attention-news .detail-box .detail-example dd {
      margin-left: 20px;
  }
  /*----------

  SDGs

  ---------*/
  .sdgs-list{
    flex-direction: column;
    text-align: center;
    margin-bottom:24px;
  }
  .sdgs-list div{
    border: 2px solid #007582;
    background-color: #fff;
    padding:6% 4%;
    box-sizing: border-box;
    width: 75%;
    margin: 0 auto 4%;
  }
  .sdgs-list div h3{
    font-size: 1.2rem;
    margin: 24px 0 20px;
  }
  p.sdgs-img{
    width: 45%;
    margin: 0 auto;
  }

  .sdgs-detail{
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100%;
    padding: 35% 0 0;
  }

  .sdgs-detail article{width: 100%; margin-bottom: 50px;}

  .sdgs-contents:nth-of-type(even) .sdgs-detail{background-position: center top;}
  .sdgs-contents:nth-of-type(even) article{margin-left: auto}

  .sdgs-detail article section{
    padding: 6%;
    box-sizing: border-box;
    margin-bottom: 32px;
  }
  .sdgs-bnr{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 32px;
  }
  .sdgs-bnr li{
    width: 65%;
    margin: 0 auto 5%;
  }
  .sdgs-bnr li img{width: 100%;}

  /*----------

  TOPICS
  ---------*/
  .topics-photo{margin-top: 50px;}
  .topics-photo ul{
    flex-direction: column;
  }
  .topics-photo ul li{
    width:85%;
    margin: 0 auto 8%;
  }
  .topics-photo ul li img{width: 100%;}
  .topics-photo ul li span{
    display: block;
    font-size: 0.9rem;
    margin-top: 10px;
  }

  /*----------
  ブログ

  ---------*/
  .column2{
    flex-direction: column;
  }
  .column2 #main-contents{width: 100%; margin-bottom: 32px;}
  .column2 #sidebar{width: 100%;}

  .blog-list{
    flex-direction: column;
  }
  .blog-list article,
	.blog-list.row3 article{
    width: 85%;
    margin: 0 auto 8%;
  }

  .blog-photo{
    position: relative;
  }
  .blog-photo ul{
    position: absolute;
    top:0;
    left: 0;
    display: flex;
    flex-wrap:wrap;
    z-index: 2;
  }
  ul.blog_cat li{
    font-size: 0.8rem;
    padding: 3px 8px;
    margin: 0 3px 3px 0;
  }
  .blog-photo img{
    width: 100%;
    height: 30vw;
  }
  .blog-list article a div.blog-list-in{
    padding: 5% 6%;
  }
  .blog-list article a div.blog-list-in .days{font-size: 0.8rem; margin-bottom: 24px;}
  .blog-list article a div.blog-list-in .blog_ex{font-size: 0.9rem; line-height: 1.8;}

  /* sidebar */
  .column2 #sidebar h2.subtitle-002{font-size: 1.2rem; margin-bottom: 20px;}
  .column2 #sidebar div.side-list{margin-bottom: 32px;}

  .column2 #sidebar div.side-list ul{border-top: 1px dotted #ccc;}
  .column2 #sidebar div.side-list ul li a{
    padding: 4% 3%;
    border-bottom: 1px dotted #ccc;
  }
	.blog-btn-list {
		margin-bottom: 8%;
	}
	.blog-btn-list .linkbtn + .linkbtn{
		margin-left: 0;
		margin-top: 0;
	}


  /* 詳細 */
  .blig-single .blog_head{
    margin-bottom: 40px;
  }
  .blig-single .blog_head h1{
    font-size: 1.3rem;
    padding:12px 0 12px;
    margin-bottom: 8px;
  }
  .blig-single .blog_head p.days{
    font-size: 0.8rem;
    text-align: right;
  }
  .blig-single .blog_detail figure{margin-top: 24px;}
  .blig-single .blog_detail img{
    max-width: 100%;
    height: auto;
  }

  .side-search input#s{width: 68%; box-sizing: border-box;}
  .side-search input{
    box-sizing: border-box;
    padding: 6px;
  }
  .side-search .submit-btn{
    width: 30%;
  }

  /*----------

  新着情報

  ---------*/
  .news-cat-list ul{
    flex-wrap:wrap;
    margin-bottom: 45px;
  }
  .news-cat-list ul li{
    font-size: 1rem;
    letter-spacing: 0.1rem;
    width: 48%;
    text-align: center;
  }
  .news-cat-list ul li a{
    border: 1px solid #007582;
    padding: 10px 0;
    box-sizing: border-box;
  }

  /*----------

  申請書類ダウンロード

  ---------*/
  input.pass-input{
    width: 80%;
    padding:3% 2%;
    margin-top: 24px;
    box-sizing: border-box;
  }
  input.pass-btn{
  	width: 80%;
  	padding: 10px 0;
    font-size:1rem;
    border-radius: 6px;
    margin-top: 24px;
  }

  .pdf-btn a{
  	width: 90%;
    margin: 0 auto;
  	padding: 4% 0 4% 4%;
    box-sizing: border-box;
    font-size:1.1rem;
    letter-spacing: 0.1rem;
  }
  .pdf-btn a,
  .pdf-btn a:hover{
    background-size: 10%;
  }

  /*----------

  コールセンター
  ---------*/
  .call-head{
    text-align: center;
    margin: 20px 0;
    border: 3px solid #008080;
    box-sizing: border-box;
    padding: 5% 2%;
    font-size: 1.2rem;
  }
  p.call-point{
    font-size: 1.5rem;
  }
  .call-img{
    text-align: center;
  }

  .call-caption{
    text-align: center;
    margin-bottom: 32px;
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  .call-list{
    flex-direction: column;
  }
  .call-list div{
    width: 85%;
    margin: 0 auto 4%;
    border: 2px solid #007582;
    box-sizing: border-box;
    padding: 2%;
  }
  .call-list div h3{
    padding: 4%;
    text-align: center;
    font-size: 1.3rem;
  }
  .call-list div h3 span{
    font-size: 1rem;
  }
  .call-list div ul.tel-list{
    margin-bottom: 24px;
  }
  .call-list div ul.tel-list li{
    padding: 8px 0 8px 55px;
    background-position: left center;
    background-repeat: no-repeat;
    font-size: 1.3rem;
    font-weight: bold;
    border-bottom: 1px dotted #ccc;
  }
  .call-list div ul.tel-list li.tel{background:none; padding-left: 0;}
  .call-list div ul.tel-list li.tel a{
    display: block;
    border: 2px solid #007582;
    background-image: url(../images/page/call/icon-tel.png);
    background-repeat: no-repeat;
    background-position: 3% center;
    background-size: 30px;
    padding: 3% 5%;
    color: #007582;
    text-align: center;
    border-radius: 40px;
  }

  .call-list div ul.tel-list li a{
    display: block;
    color: #333;
    text-decoration: none;
  }
  .call-list div ul.qr-list{
    display: flex;
    justify-content: center;
    text-align: center;
    flex-direction: column;
  }
  .call-list div ul.qr-list li{
    width: 32%;
    margin: 0 auto;
  }
  .call-list div ul.qr-list li:nth-of-type(n+2){margin-top: 15%;}
  .call-list div ul.qr-list li img{width: 100%;}
  .call-list div ul.qr-list span{
    display: block;
    margin-top: 8px;
    font-size: 1.2rem;
  }


  /*----------

  プライバシーポリシー

  ---------*/
  .policy-contents section{
    margin: 0 0 80px;
  }
  .policy-contents section div{
    margin: 0 0;
  }
  .policy-contents section div p{margin-bottom: 20px;}
  .policy-contents section div p.mark_sa img {
    width: 30%;
    margin: 0 auto;
    display: block;
  }

  article.policy-in{margin-bottom: 20px;}
  article.policy-in section{margin: 40px 0 0 5%;}
  article.policy-in section h3{
    color: #007580;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom:10px;
  }

  /*----------

  お問い合わせ

  ---------*/
  .conact_head{
    text-align: center;
    font-size: 1rem;
  }
  .conact_head p{margin-bottom: 24px;}
  .conact_head .tellink{line-height: 1.5; margin-bottom: 0;}
  .tellink a{
    text-decoration: none;
    font-size: 2.5rem;
    letter-spacing: 0.2rem;
  }

  .form-info{
    text-align:left;
    margin-bottom: 45px;
  }
  .form-info p{margin-bottom: 20px;}
  .form-info .redbox{margin: 0 1rem 0 0;}

  .form-caption{
    margin: 30px 0;
    font-size: 0.9rem;
  }

  /* 入力エラー */
  .contact-error{
      padding: 6%;
      margin-bottom: 30px;
      text-align: center;
  }

  table.formtbl tr.none{display: none;}
  table.formtbl tr th,
  table.formtbl tr td{
  	box-sizing: border-box;
  	padding: 4% 2%;
    display: block;
  }
  span.f-title{
    display: inline-block;
    vertical-align: middle;
  }
  span.redbox,
  span.greenbox{
    padding: 3px 10px;
    font-weight: normal;
    margin-left: 1rem;
    font-size: 0.9rem;
  }
  table.formtbl tr th.f-messe{
    font-size: 1rem;
    padding: 4% 2%;
    font-weight: normal;
    width: 100%;
  }

  table.formtbl tr th{width:100%; text-align: left; border-bottom: none;}
  table.formtbl tr td{width:100%;}
  table.formtbl tr td img{max-width: 100%;}

  .spec-form table.formtbl tr th{width:100%; font-size: 0.9rem;}
  .spec-form table.formtbl tr td{width:100%; }

  .formtbl input.w30{width: 35%;}
  .formtbl input.w90,
  .formtbl textarea{width: 96%;}
  .formtbl input,
  .formtbl textarea{padding:10px; background: #f6f6f6; border: 1px solid #ccc; box-sizing: border-box;}
  .formtbl select{
    padding:5px;
    box-sizing: border-box;
    border: 1px solid #ccc;
  }

  td.birthday span{
    display: block;
    vertical-align: middle;
    margin:0 0 12px;
  }

  table.formtbl td label{padding: 0 0 0 0; margin: 0 0 0 0;}
  table.formtbl td input[type=radio]{padding: 0 5px; margin:  0 5px;}
  table.formtbl td label span{margin-left: 5px;}
  .formtbl td input:focus,
  .formtbl td textarea:focus{background: #fffaca;}

  table.formtbl td p.fcap{padding-bottom: 20px; }
  table.formtbl td dl{
      display: table;
  	width: 100%;
  	border-bottom: dotted 1px #ccc;
  	box-sizing: border-box;
  }
  table.formtbl td dl:last-child{border-bottom: none;}

  div.formtbl dl{
  	display: table;
  	width: 100%;
  	border-bottom: solid 1px #ccc;
  }

  table.formtbl td dl dt,
  table.formtbl td dl dd{
      display: table-cell;
      padding: 14px 0;
       box-sizing: border-box;
      border-top: none;
      vertical-align: middle;
  	text-align: left;
  }

  table.formtbl td dl.jiki dt{width: 15%;}
  table.formtbl td dl.jiki dd{width: 80%; padding-left: 1%;}
  table.formtbl td dl.jiki dd input,
  table.formtbl td dl.jiki dd select{width: 100%;}

  table.formtbl td.address dl dt{width: 20%;}
  table.formtbl td.address dl dd{width: 76%;}

  table.formtbl td dl:last-child dt,
  table.formtbl td dl:last-child dd{border-bottom: none;}

  table.formtbl tr.pass td input:nth-child(n+2){margin-top: 15px;}


  input[type="submit"] {-webkit-appearance: none;}
  #submit{
  	text-align: center;
  	margin: 30px 0;
  }

  #submit input{
  	width: 85%;
  	padding: 30px 0;
    font-size: 1.2rem;
    font-weight: 500;
    border-radius: 6px;
    margin: 20px auto;
  }

  #submit input.backbtn{
  	width: 85%;
  	padding: 30px 0;
  	font-size: 1.2rem;
  	margin: 20px auto;
  }

  span.error{color: #ff0000; font-weight: bold; margin-left: 5px;}

  .contact-caption{
    text-align: center;
    margin-bottom: 32px;
  }


  /*----------

  footer

  ---------*/

  /* side-bnr */
  .side-bnr{
    display: none;
    position: fixed;
    right: 0;
    top:30%;
    z-index: 90;
  }
  .side-bnr ul li{
    margin-bottom: 10px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.2rem;
  }
  .side-bnr ul li a{
    display: block;
    text-decoration: none;
    background-color: #00758b;
    color: #fff;
    background-image: url(../images/common/icon-mail.png);
    background-position: center 10px;
    background-repeat: no-repeat;
    padding: 34px 5px 10px;
  }
  .side-bnr ul li a:hover{
    color: #000;
    background-color:#ffd000;
  }

  /* page-top */
  #page-top {
      position: fixed;
      bottom: 2%;
      right: 2%;
      z-index: 900;
  }
  #page-top a {
    width: 40px;
    height: 40px;
    background-size: 100%;
  }
  #page-top a:hover {
  	background-size: 100%;
  }

  .bnr-link{margin:60px 0 60px;}
  .bnr-link ul{
    flex-wrap: wrap;
  }
  .bnr-link ul:nth-of-type(1) li{
    width: 100%;
    margin:0 auto 24px;
  }
  .bnr-link ul:nth-of-type(n+2){margin-top: 20px;}
  .bnr-link ul li{
    width: 46%;
    margin: 2% 5px;
  }
  .bnr-link ul li img{
    width: 100%;
  }

  .foot-info{
    flex-direction: column;
    text-align: center;
    margin-bottom: 45px;
    font-size: 1.2rem;
  }
  .foot-info h2.foot-logo{
    width: 60%;
    margin: 0 auto 24px;
  }
  .foot-info h2.foot-logo img{width: 100%;}

  .foot-info dl{
    flex-direction: column;
  }
  .foot-info dl dt{
    border: 1px solid #000;
    padding: 5px;
    width: 50%;
    box-sizing: border-box;
    margin: 0 auto 10px;
  }
  .foot-info dl dd{
    width: 100%;
    margin-left: 0;
    font-size: 0.9rem;
  }
  .foot-info ul{
    flex-direction: column;
  }
  .foot-info ul li{
    letter-spacing: 0.15rem;
    font-size: 1.3rem;
  }
  .foot-info ul li a{
    margin: 0 0 18px;
  }
	.foot-info ul li + li{
		margin-left: 0;
	}
	.foot-link{
    flex-direction: column-reverse;
  }
  .foot-link .foot-nav nav,
  .foot-link .foot-nav div.sns ul{
    display: flex;
    justify-content: space-between;
  }
  .foot-link .foot-bnr ul.sns{
    justify-content: center;
    margin-top: 32px;
  }
  .foot-link .foot-bnr ul.sns li{
    width: 38%;
    margin: 0 3% 10%;
  }
  .foot-link .foot-bnr{width:100%;margin-top: 0;}
  .foot-link .foot-nav{width: 100%;}
  .foot-link .foot-nav nav ul{width: 48%; border-top: 1px dotted #ccc;}
  .foot-link .foot-bnr ul li{margin-bottom: 24px;}
  .foot-link .foot-bnr ul li img{width: 100%;}

  .foot-link .foot-nav nav{margin-bottom: 24px;}
  .foot-link .foot-nav nav ul li a{
    padding: 5% 2%;
    margin-bottom: 0;
    border-bottom: 1px dotted #ccc;
  }
  .copy{
    margin-top: 32px;
    font-size: 0.8rem;
    letter-spacing: 0;
    padding: 4% 0;
  }
  
	/*--Point bg-*/
	.pagemain-text-point{width: 100%;}  
	
	h1.system-main-ttl:before {
		display: none;
	}
  
  
	/*--common-*/
	.di-fl {
		display: flex;
		flex-wrap: wrap;
	}
	
	.ju-sp {justify-content: space-between;}
	
	.pagemain-text01 {
	    margin: 2em 0 1em;
	}
	
	.pagemain-text01-point{
		margin: -1em 0 0.5em;
	}
	h1.system-main-ttl-point{
		margin-bottom: 13em;
	}
	.point-area p {
		padding: 1em 0; 
		width: 100%;
	}
	.point-area div {width: 100%;}	

	.arrow {
		width: 30%;
		margin: 3em auto;
	}	
	
	p.ttl-point {
		margin: 0 auto 1em;
		text-align: center !important;
		font-size: 1.3rem;
		border: solid 1px #007580;
		padding: 1em;
		box-sizing: border-box;
		border-radius: 20px;
	}
	
	p.border {
		width: 100%;
		padding: 1em;
		box-sizing: border-box;
		border-radius: 20px;
		border: solid 1px #007580;	
	}

	p.ttl-point span {
		border: none;
		padding: 0;
	}
	p.ttl-point .fz_s{
		margin-top: 0;
		line-height: 1.4;
	}


	ul.point-list li {width: 100%;}
	ul.point-list li dl dd h2 {font-size: 1rem;}

	ul.point-list li p br {display: none;}

	ul.point-list li ol {
		width: 100%;
		float: none;
	}
		
	ul.point-list li ol li {
		width: 100%;
		border: none;
		padding: 0;
		margin: 0;
	}
	
	ul.point-list li ol.fl-right {float: none;}
	
	ul.point-list li h3{
	  text-align: center;
	  display: flex;
	  align-items: center;
	  justify-content: flex-start;
	  font-size: 1.2rem;
	  margin: 1em 0 .5em;
	}
	
	ul.point-list li h3::after{
	  border-top: 1px solid;
	  content: "";
	  width: 40%;
	  box-sizing: border-box;
	}

	.li-90 {
		padding-top: 2em;
		line-height: 0 !important;
	}


	h3.point-japan-ttl {
		width: 100%;
		padding: 1em;
		box-sizing: border-box;
		margin-bottom: 2em;
	}

	.step-area ul li {width: 100%;}
	.step-area ul li dl.step-n dt {width: 14%;}
	.step-area ul li dl.step-n dd {
		font-size: 1.6rem;
		padding-top: .3em;
	}
	.step-box {
		min-height: inherit;
		padding: 1em 1em;
		border: solid 1px #007580;
		box-sizing: border-box;
	}
	
	.step-box h3 {
	    text-align: center;
	    font-size: 1.4rem;
	    line-height: 2;
	    box-sizing: border-box;
	    min-height: inherit;
	    padding-bottom: 1em;
	}	
	
	.step-area ul li.arrow {
	    width: 14%;
	    padding: 0;
	}	
	
	
	ol.wi100 {width: 100% !important;}
	
	ul.point-list li.last {
		position: inherit;
	}
	
	ul.point-list li.last dl dt {width: 20%;}
	ul.point-list li.last dl dd {width: 74%;}
	ul.point-list li.last ol.tool {
		position: inherit;
		top: 0%;
		right: 0%;
		text-align: right;
		width: 100%;
		float: none;
		display: block;
		margin-bottom: 1em;
		overflow: hidden;
	}	
	
	ul.point-list li p {clear: both;}
	
	ul.cost-list {
		margin: 2em 0 5em;
		flex-wrap: wrap;
	}
	
	ul.cost-list li {
		width: 100%;
		padding: 1em 1em 2em;
		margin: 0 0 1em;
		box-sizing: border-box;
		border: solid 1px #007580;
	}	
		
	ul.cost-list li p {
		font-size: 1.2rem;
		line-height: 2;
	}
	
	.cost-area ul {
		float: none;
		margin: 0 1em;
	}
	
	.cost-area ul li {font-size: 1rem;}	
	.step-box ol li {font-size: .8rem;}
	
	
	.pagemain.point01,
	.pagemain.point02,
	.pagemain.point03,
	.pagemain.point04,
	.pagemain.point05,
	.pagemain.point06{
		/*background-size: auto 80%;
		background-position: top -40% right 40%;*/
		background-size: auto 85vw;
    background-position: top 42.5vw right -28.5vw;
		background-repeat: no-repeat;
	}

	.pagemain-point{position: relative;}
	.pagemain-point .inner{position: relative;z-index: 1;}
	.pagemain-point:before{
		content: "";
		width: 100%;
		height: 50vw;
		position: absolute;
		top: 0;
		left: 0;
		background-color: #F5F1E7;
		z-index: 0;
	}

}
