@charset "utf-8";

/* =================================================== */
/* SET
/* =================================================== */

@media only screen and (min-width: 481px) and (max-width:768px) {
/* タブレット向けの処理 */
}

@media only screen and (min-width: 0px) and (max-width:480px) {
/* スマホ向けの処理 */
}

@media only screen and (max-width: 480px) {
}


@media only screen and (min-width: 0px) and (max-width:480px) {
	body{
		min-width: auto;
	}
}

/* =================================================== */
/* header
/* =================================================== */

/* hamburger-menu =========== */

@media only screen and (min-width: 0px) and (max-width:480px) {

	:root {
		--hamburger-menu-size: 53px; /* メニューの大きさ */ 
		--hamburger-menu-padding: 12px;  
		--hamburger-menu-border-px: 3px; /* 線の太さ */
		--hamburger-menu-border-color: #333; /* 線の色 */
		--hamburger-menu-transition: 0.3s; /* アニメーション秒数 */
	}
	
  .humberger-menu-container {
    position: absolute;
    right: 0;
    z-index: 9999;
  }
	.hamburger-menu {
		margin: 4px;
		cursor: pointer;
		position: relative;
		width: 53px;
		height: 53px;
	}
	.hamburger-menu-line {
		position: absolute;
		transition: var(--hamburger-menu-transition);
		width: calc(100% - var(--hamburger-menu-padding) * 2);
		height: var(--hamburger-menu-border-px);
		background-color: var(--hamburger-menu-border-color);
	}
	.line-top {
		top: var(--hamburger-menu-padding);
		left: var(--hamburger-menu-padding);
	}
	.line-middle {
		top: calc(50% - var(--hamburger-menu-border-px)/2);
		left: var(--hamburger-menu-padding);
	}
	.line-bottom {
		bottom: var(--hamburger-menu-padding);
		left: var(--hamburger-menu-padding);
	}
	
	.hamburger-menu-active > .line-top {
		top: calc(50% - var(--hamburger-menu-border-px)/2);
		transform: rotate(45deg);
	}
	.hamburger-menu-active > .line-middle {
		width: 0;
		height: 0;
		left: var(--hamburger-menu-padding);
	}
	.hamburger-menu-active > .line-bottom {
		top: calc(50% - var(--hamburger-menu-border-px)/2);
		transform: rotate(-45deg);
	}
	
	.globalNavi {
    display: none;
    position: absolute;
    top:0;
		left: 0;
    width: 100%;
    background: #ffffff;
    padding: 20px;
    z-index: 99;
	}
}

@media only screen and (min-width: 0px) and (max-width:480px) {
  #top .header-inner {
    height: 120px;
    min-width: auto;
  }
  #secondary .header-inner {
    height: 60px;
    min-width: auto;
  }
  #top .header-inner .siteneme-block {
    width: 120px;
    height: 120px;
  }
  #secondary .header-inner .siteneme-block {
    width : -webkit-calc(100% - 61px) ;
    width : calc(100% - 61px) ;
    height: 60px;
  }
  #secondary .header-inner .siteneme-block a {
    height: 60px;
  }
  #top .header-inner .txt-box {
    margin-bottom: 8px;
    font-size: 1.1rem;
  }
  #secondary .header-inner .txt-box {
    font-size: 1.1rem;
    line-height: 1.4;
  }
  #top .header-inner .logo-box {
    width: 90px;
  }
  #secondary .header-inner .logo-box {
    width: 95px;
    height: auto;
    display: inline-block;
    margin: 0 20px;
  }

  #top header.smaller .header-inner,
  #secondary header.smaller .header-inner {
    height: 60px;
    background-color: transparent;
    box-shadow: none;
  }
  #top header.smaller .header-inner .siteneme-block,
  #secondary header.smaller .header-inner .siteneme-block {
    display: none;
  }
}

/* globalNavi =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .header-inner .gmenu-block {
    top: 0;
    right: auto;
    width: 100%;
    bottom: auto;
    background: #ffffff;
    height: auto !important;
    padding-top: 60px;
    height: 100vh;
  }
  .header-inner .gmenu-block ul {
    width: 100%;
  }
  .header-inner .gmenu-block li {
    width: 100%;
    display: block;
    margin-left: 0;
    border-bottom: #555555 dotted 1px;
  }
  .header-inner .gmenu-block li.is-active {
    border-bottom: #555555 dotted 1px;
  }
  .header-inner .gmenu-block a {
    display: block;
    padding: 15px 10px;
    color: #333333;
    font-weight: 400;
    background-image: url("../image/common/icon_arrow-blue.png");
    background-repeat: no-repeat;
    background-size: auto;
    background-position: right 10px center;
  }
  .header-inner .gmenu-block li.is-active a {
    color: #62c0b4;
    font-weight: 500;
    background-color: #ffc;
    border-bottom: none;
  }
  .header-inner .gmenu-block a:hover,
  .header-inner .gmenu-block a:active {
    text-decoration: none;
    border: none;
    color: #000000;
  }
  .header-inner .gmenu-block li.contact-box {
    width: auto;
  }
  .header-inner .gmenu-block li.contact-box a {
    text-align: left;
    height: auto;
    line-height: 1;
  }
  .header-inner .gmenu-block li.contact-box a:hover,
  .header-inner .gmenu-block li.contact-box a:active {
    border-bottom: none;
  }
  #top header.smaller .header-inner .gmenu-block li.contact-box a,
  #secondary header.smaller .header-inner .gmenu-block li.contact-box a {
    text-align: left;
    height: auto;
    line-height: 1;
  }
}


/* =================================================== */
/* footer
/* =================================================== */

@media only screen and (min-width: 0px) and (max-width:480px) {
  footer {
    min-width: auto;
  }
  .footer-wrapper {
    min-width: auto;
  }
  .footer-navi {
    display: block;
    margin:0;
    border-bottom: #ffffff dotted 1px;
  }
  .footer-navi ul {
    display: block;
    padding: 20px 0;
  }
  .footer-navi li {
    display: none;
  }
  .footer-navi li:last-child {
    display: block;
    width: 100%;
    border-left: none;
    border-right: none;
  }
  .footer-wrapper .adress-block {
    padding: 18px 10px 0px;
  }
  .footer-wrapper .adress-block .ft-logo {
    width: 80px;
    margin: 0 auto;
    display: block;
  }
  .footer-wrapper .adress-block .adress-txt .corp-txt {
    display: block;
    text-align: center;
    padding: 0 0 15px;
    margin: 0;
  }
  .allrights-reserved {
    text-align: center;
    padding: 0px 10px 20px;
  }
}


/* =================================================== */
/* 共通
/* =================================================== */

/* responsive view =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .pc-mode-view {
    display: none !important;
  }
  .smp-mode-view {
    display: block !important;
  }

  .pc-mode-view-tb {
    display: none !important;
  }
  .smp-mode-view-tb {
    display: table !important;
  }
}

/* style =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .br-pc { display:none; }
  .br-sp { display:block; }
}


/* table =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .table-set {
    border-spacing: 0;
  }
  .table-set th,
  .table-set td {
    display: block;
    padding: 13px 0px;
    font-size: 1.4rem;
  }
  .table-set th {
    width: 100%;
    font-size: 1.6rem;
    color: #62c0b4;
  }
  .table-set td {

  }

  table.type-1 th {
    border-bottom: #62c0b4 solid 2px;
    width: 100%;
    font-weight: 500;
    padding-bottom: 5px;
  }
  table.type-1 tr:first-child th {
    border-top: none;
  }
  table.type-1 td {
    border: none;
  }
  table.type-1 tr:first-child td {
    border-top: none;
  }
  
  table.type-2 th {
    border-bottom: #62c0b4 solid 2px;
    width: 100%;
    font-weight: 500;
    padding-bottom: 5px;
  }
  table.type-2 tr:first-child th {
    border-top: none;
  }
  table.type-2 td {
    border: none;
  }
  table.type-2 tr:first-child td {
    border-top: none;
  }
}


/* =================================================== */
/* HOME
/* =================================================== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .button-block {
    padding: 30px 10px 0;
  }
  .button-block a {
    width: 300px;
    padding: 17px 20px;
    font-size: 1.6rem;
  }
}

/* Main Visual =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  #top .main-visual {
    margin-top: -60px;
    height: 400px;
    width : -webkit-calc(100% - 60px) ;
    width : calc(100% - 60px) ;
    margin-left: 60px;
    background-size: 150px auto, cover;
    background-position: bottom right, left -120px bottom;
  }
  #top .main-visual .read-text {
    top: 100px;
    left: 40px;
  }
  #top .main-visual .read-text .txt-box {
    font-size: 2.8rem;
    letter-spacing: 1px;
  }
  #top .main-visual .read-text .slogan-txt {
    font-size: 2.5rem;
    margin-top: 10px;
  }
  #top .about-block {
    margin: 30px 0 0;
    padding-bottom: 40px;
  }
  #top .service-block {
    padding-bottom: 30px;
  }
  #top .about-block .h2-ttlBox,
  #top .service-block .h2-ttlBox {
    padding: 20px 0;
    font-size: 1.4rem;
  }
  #top .about-block .h2-ttlBox .eng-txt,
  #top .service-block .h2-ttlBox .eng-txt {
    font-size: 4.0rem;
    width: 200px;
    margin: 0 auto 10px;
  }
  #top .about-block .inner-block,
  #top .service-block .inner-block {
    display: block;
    min-width: auto;
    padding: 0 20px;
  }
  #top .about-block .inner-block .img-box,
  #top .service-block .inner-block .img-box {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
  }
  #top .about-block .inner-block .contents-box {
    padding-left: 0px;
  }
  #top .service-block .inner-block .contents-box {
    padding-right: 0px;
  }
  #top .about-block .inner-block .contents-box .ttl-box,
  #top .service-block .inner-block .contents-box .ttl-box {
    font-size: 2.0rem;
    padding: 20px 0 10px;
  }
  #top .about-block .inner-block .contents-box .txt-box,
  #top .service-block .inner-block .contents-box .txt-box {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .contact-block {
    position: relative;
    display: block;
    width: auto;
    margin: 20px 20px 40px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
  }
  .contact-block .txt-box {
    font-size: 1.5rem;
    padding: 12px 15px 8px 100px;
  }
  .contact-block .txt-box2 {
    font-size: 2.4rem;
  }
  .contact-block .icon-mail {
    top: 10px;
    left: 10px;
  }
  a.contact-block:hover .icon-mail,
  a.contact-block:active .icon-mail {
    top: 10px;
    left: 10px;
  }
}


/* =================================================== */
/* SECOND PAGE
/* =================================================== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .bg-box {
    padding: 30px 10px;
  }
  #secondary section {
    min-width: auto;
  }
  #secondary .page-title h1 {
    font-size: 1.6rem;
  }
  #secondary .page-title h1 .eng-txt {
    font-size: 4.0rem;
    line-height: 1.1;
    padding-bottom: 5px;
  }
}


/* about-page =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .about-page .outline-block {
    margin: 30px 20px 40px;
  }
  .about-page h2.h2-ttlBox {
    font-size: 2.2rem;
    padding-bottom: 10px;
  }
  .about-page .read-txt {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  .about-page .outline-block th,
  .about-page .outline-block td {
    background: none;
  }
}


/* business-page =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .business-page .contents-block {
    display: block;
    margin-bottom: 50px;
  }
  .business-page .outline-block {
    margin: 30px 20px 40px;
  }
  .business-page h2.h2-ttlBox {
    font-size: 2.2rem;
    padding-bottom: 10px;
  }
  .business-page .readTxt-block {
    min-width: auto;
  }
  .business-page .readTxt-block .read-txt {
    font-size: 1.6rem;
    margin: 30px 20px 40px;
    text-align: left;
  }
  .business-page .column-box {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px 20px !important;
    min-height: auto;
    font-size: 1.6rem;
    width: 100% !important;
  }
  .business-page .txt-box {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  .business-page .contents-block .img-01,
  .business-page .contents-block .img-02 {
    height: 200px;
  }
  .business-page .column-box.detail-01 .inner-block {
    width: 100%;
  }
  .business-page .contents-block th {
    color: #333333;
  }
  .business-page .contents-block th,
  .business-page .contents-block td {
    background: none;
  }
}


/* access-page =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .access-page .contents-block {
    margin: 30px 0px 40px;
  }
  .access-page h2.h2-ttlBox {
    font-size: 2.2rem;
    min-width: auto;
    padding: 0 20px 15px;
  }
  .access-page .gmap-block {
    margin-bottom: 20px;
  }
  .access-page .access-block {
    margin: 20px 20px 0;
    min-width: auto;
  }
  .access-page .access-block .address-box {
    font-size: 1.8rem;
  }
}


/* privacy-page =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .privacy-page .page-title {
    background-size: 150px auto !important;
  }
  .privacy-page .contents-block {
    margin: 30px 20px 40px;
  }
  .privacy-page h2.h2-ttlBox {
    font-size: 2.2rem;
  }
  .privacy-page .read-txt {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
  .privacy-page .contents-block p {
    padding: 0px;
    line-height: 1.5;
  }
  .privacy-page .contents-block ol {
    margin-left: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
}


/* recruit-page =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .recruit-page .contents-block {
    margin: 30px 20px 40px;
  }
  .recruit-page h2.h2-ttlBox {
    font-size: 2.2rem;
    padding-bottom: 15px;
  }
  .recruit-page .message-block {
    font-size: 1.6rem;
  }
  .recruit-page .flow-block {
    display: block;
  }
  .recruit-page .flow-block li {
    width: 100%;
    margin-bottom: 10px;
  }
  .recruit-page .flow-block li .txt-box {
    line-height: 1.6;
  }
  .recruit-page .contents-block table {
    border: #62c0b4 solid 1px;
  }
  .recruit-page .contents-block th {
    padding: 10px;
    border-top: #62c0b4 solid 1px;
    border-bottom: #62c0b4 solid 1px;
    background-color: #62c0b4;
    color: #ffffff;
  }
  .recruit-page .contents-block td {
    padding-right: 10px;
    padding-left: 10px;
  }
}


/* contact-page =========== */
@media only screen and (min-width: 0px) and (max-width:480px) {
  .contact-page .message-box {
    width: 100%;
    padding: 10px 10px;
    line-height: 1.6;
  }
  .contact-page .contents-block {
    margin: 30px 20px 60px;
  }
  .contact-page h2.h2-ttlBox {
    font-size: 2.2rem;
  }
  .contact-page .form-block {
    margin: 30px 20px 0;
    min-width: auto;
  }
  .contact-page .form-block .notes-block {
    padding: 10px 15px;
  }
  .contact-page .form-block .notes-block ul {
    margin-left: 20px;
  }
  
  .inp-sizeS { width: 100%; }
  .inp-sizeM { width: 100%; }
  .inp-sizeL { width: 100%; }
  
  .contact-page .form-block table {
    border: #62c0b4 solid 1px;
  }
  .contact-page .form-block th {
    padding: 10px;
    border-top: #62c0b4 solid 1px;
    border-bottom: #62c0b4 solid 1px;
    background-color: #62c0b4;
    color: #ffffff;
  }
  .contact-page .form-block td {
    padding-right: 10px;
    padding-left: 10px;
  }
  
  .contact-page .form-block .privacy-note {
    margin-bottom:20px;
    padding: 10px 15px;
  }
  .contact-page .form-block .privacy-note .ttl-box {
    font-size: 1.6rem;
  }
  .contact-page .form-block .privacy-note ul {
    margin-left: 20px;
    font-size: 1.4rem;
  }
  .contact-page .form-block .privacy-note .agree {
    margin: 30px 0;
    text-align: center;
    font-size: 1.8rem;
    border: #62c0b4 solid 2px;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
  }
  
  .formButton {
    padding: 30px 10px;
    text-align: center;
  }
  
}










