@charset "UTF-8";

@media screen and (max-width: 767px) {
	
    /* body
	-------------------------------------------------- */
    html {
        font-size: 62.5%;
    }
    body {
        font-size: 1.3rem;
        min-width: inherit;
		letter-spacing: 0.05em;
    }
    /* Responsive
	-------------------------------------------------- */
    .pc {
        display: none;
    }
    .sp {
        display: inline;
    }

	
    /*/////////////////////////////////////////////////////////////////////////////


              // loading //
	  

    /////////////////////////////////////////////////////////////////////////////*/
	.loader__logo {
		width: 125px;
	}
	
    /*/////////////////////////////////////////////////////////////////////////////


              // layout //
	  

    /////////////////////////////////////////////////////////////////////////////*/
    
	/* container
	-------------------------------------------------- */
	 #container {
		 overflow: hidden;
	}
	
    /* section
	-------------------------------------------------- */
	.section-wrap {
		padding: 0 5.3333%;
	}
	.section-left-wrap {
		padding: 0 0 0 5.3333%;
	}
	.section-right-wrap {
		padding: 0 5.3333% 0 0;
	}
	.section-low-wrap {
		padding: 0 5.3333%;
	}
	.section-inner {
		margin-bottom: 40px;
	}
	
	/* bg-contents
	-------------------------------------------------- */
	.bg-contents {
		padding: 50px 0 60px;
	}
	
    /*/////////////////////////////////////////////////////////////////////////////


              // header //
	  

	/////////////////////////////////////////////////////////////////////////////*/
	
    /* header
	-------------------------------------------------- */
    .header-inner {
        width: calc(100vw - 79px);
        height: 64px;
    }
    .header-logo-top {
        left: 4%;
        top: 10px;
    }
    .header-logo-top a {
        width: 125px;
    }
	.header-logo {
        left: 4%;
        top: 5px;
    }
    .header-logo a {
        width: 120px;
    }
	
	/* nav
	-------------------------------------------------- */
	.g-nav {
		display: none;
	}
	.header-contact {
	    position: fixed;
	    top: 0;
	    right: 0;
	    z-index: 99999;
	}
	.header-contact a {
	    width: 64px;
	    height: 64px;
	    font-size: 0.8rem;
		letter-spacing: 0.04em;
		padding-top: 5px;
		box-sizing: border-box;
	}
	.header-contact a span {
	    background: url("../images/icon_mail.png") top center no-repeat;
	    background-size: 20px auto;
	    padding-top: 22px;
	}
	
	/* menu-trigger
	-------------------------------------------------- */
	.menu-trigger {
		right: 64px;
        top: 0;
        width: 64px;
        height: 64px;
		padding: 5px;
	}
	
	/* menu-trigger
	-------------------------------------------------- */
	.menu-trigger span {
    position: absolute;
    left: 17px;
    width: 30px;
    height: 1px;
	}
	.menu-trigger span:nth-of-type(1) {
	top: 20px;
	}
	.menu-trigger span:nth-of-type(2) {
	bottom: 32px;
	}
	.menu-trigger span:nth-of-type(3) {
	bottom: 20px;
	}
	.open .menu-trigger span:nth-of-type(1) {
    -webkit-transform: rotate(-45deg) translateY(0px);
	transform: rotate(-45deg) translateY(0px);
	top: 32px;
	}
	.open .menu-trigger span:nth-of-type(2) {
    display: none;
	}
	.open .menu-trigger span:nth-of-type(3) {
	-webkit-transform: rotate(45deg) translateY(0px);
	transform: rotate(45deg) translateY(0px);
	bottom: 32px;
	width: 32px;
	}
	
    /* fixed nav
	-------------------------------------------------- */
	.fixed-inner {
	    width: 100%;
	    float: none;
	}
	.fixed-nav .m-nav {
	    font-size: 1.7rem;
	    letter-spacing: 0.10em;
	    padding: 80px 8% 20px;
	}
	.fixed-nav .m-nav li {
	    margin: 0 0 15px;
	}
	.fixed-nav .m-nav li ul {
	    margin: 20px 0 -5px;
	}
	.fixed-nav .m-nav li ul li {
	    margin: 15px 0;
	}
	.fixed-nav .m-subnav {
	    font-size: 1.3rem;
	    padding: 0 8% 30px;
	}
	.fixed-nav .m-subnav li {
	    width: 48.5%;
	}
	.fixed-nav .m-subnav li:first-child {
	    margin-right: 3%;
	}
	.fixed-nav .m-subnav a {
	    width: 100%;
	    line-height: 52px;
	}
	.fixed-nav__copyright {
	    padding: 0 8% 80px;
	}

	/* ===============================================
	    maintxt
	=============================================== */
	.maintxt {
		top: 64px;
		left: 4%;
		padding: 10px 0;
		font-size: 1.0rem;
		line-height: 1.75;
	}
	.maintxt-et {
		display: none;
		top: 15px;
		left: 37%;
		padding: 0;
		font-size: 1.0rem;
		line-height: 1.75;
	}
	
	
	/* ===============================================
	    scroll
	=============================================== */
	.scroll {
	    height: 80px;
	    bottom: 20px;
	    left: 4%;
	}
	.scroll .scroll__bar1,
	.scroll .scroll__bar2 {
	    height: 80px;
	}
	.scroll p {
		display: none;
	    top: 0px;
	    left: 20px;
	    font-size: 0.9rem;
	}
	.top .scroll {
		height: 120px;
	}
	.top .scroll .scroll__bar1,
	.top .scroll .scroll__bar2 {
	    height: 120px;
	}
	.top .scroll p {
		display: block;
	}
	
    /*/////////////////////////////////////////////////////////////////////////////


              // footer //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    .footer {
        margin-top: 0px;
        position: relative;
    }
    .footer-inner {
        display: block;
        justify-content: space-between;
        align-items: flex-end;
        flex-flow: wrap;
    }
	
    /* ft-nav
	-------------------------------------------------- */
    .ft-nav {
        width: 100%;
		margin: 0;
        padding: 40px 10%;
		display: block;
    }
    .ft-nav a {
        color: #FFFFFF;
		font-size: 1.5rem;
    }
    .ft-nav_list li {
        margin-bottom: 5px;
    }
    .ft-nav__subnav {
        margin: 10px 0 15px;
    }
    .ft-nav__subnav li {
        margin-bottom: 5px;
    }
    .ft-nav__subnav li a {
        padding-left: 20px;
        position: relative;
    }
    .ft-nav__subnav li a::before {
        content: "";
        width: 10px;
        height: 1px;
        background: rgba(255, 255, 255, 0.60);
        position: absolute;
        left: 0;
        top: 12px;
    }
    .ft-nav__box {
		margin-top: 25px;
        width: 100%;
    }
    .ft-nav__box li {
		width: 100%;
        margin-bottom: 10px;
    }
    .ft-nav__box li a {
		font-size: 1.4rem;
        line-height: 52px;
    }
	
    /* ft-info
	-------------------------------------------------- */
    .ft-info {
        width: 100%;
        padding: 30px 5.3333% 20px;
        line-height: 1.7;
		text-align: center;
    }
    .ft-info__logo {
        width: 225px;
		margin: 0 auto;
        padding: 0 0 5px;
    }
	
    /* pagetop
	-------------------------------------------------- */
    .pagetop {
		text-align: center;
        position: static;
        line-height: 50px;
    }
	
    /* copyright
	-------------------------------------------------- */
    .copyright {
		text-align: center;
        line-height: 1.5;
        padding: 20px 5.3333%;
    }
	
    /*/////////////////////////////////////////////////////////////////////////////


              // cv area //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    .cv-area {
        padding: 50px 0 60px;
    }
	.cv-area::before {
		opacity: 0.7;
	}
	.cv-area .sec-ttl {
        padding: 0 0 10px !important;
    }
    .cv-area__ttl .ttl {
        margin-bottom: 5px;
    }
    .cv-area__cont {
        display: block;
    }
    .cv-area__cont li {
        display: block;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
    .cv-area__cont li:first-child {
		border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.40);
		padding-bottom: 25px;
		margin-bottom: 25px;
    }
    .cv-area__cont li .ttl {
		font-size: 1.4rem;
		font-weight: 700;
        margin-bottom: 20px;
    }
    .cv-area__cont li .txt {
        font-size: 1.2rem;
    }
    .cv-area__cont li .tel {
        font-size: 2.8rem;
        margin: -10px 0 5px;
    }
    .cv-area__cont li .btn-b a {
        font-size: 1.4rem;
        letter-spacing: 0.1em;
    }
	
    /*/////////////////////////////////////////////////////////////////////////////


              // common parts //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    
	/* ===============================================
        btm-linkarea
	=============================================== */
	.btm-linkarea-wrap {
	    margin: 60px auto 0;
	    padding: 0 5.3333% 30px;
	}
	.btm-linkarea-ttl {
	    font-size: 1.8rem;
	    letter-spacing: 0.16em;
	    margin-bottom: 30px;
	}
	.btm-linkarea {
		flex-wrap: wrap;
	}
	.btm-linkarea li {
	    width: 100%;
		margin-bottom: 5px;
	}
	.btm-linkarea li a {
	    padding: 25px 25px 25px 85px;	
	}
	.btm-linkarea .numb {
	    font-size: 1.0rem;
	    letter-spacing: 0.14em;
		position: absolute;
		left: 10px;
		top: 26px;
	}
	.btm-linkarea .numb span {
		display: block;
	    font-size: 1.6rem;
	    padding-left: 0;
	}
	.btm-linkarea .ttl {
	    font-size: 1.5rem;
	    padding: 0;
		line-height: 1.75;
	}
	.btm-linkarea .txt-arrow {
	    font-size: 1.0rem;
		transform-origin: left bottom;
		transform: scale(0.8);
	}
	
	/* ===============================================
        breadcrumbs
	=============================================== */
	.breadcrumbs {
	    padding: 5px 4% 10px;
	}
	.breadcrumbs li {
	    font-size: 1.0rem;
	    margin-right: 14px;
	}
	.breadcrumbs li::after {  
	    right: -8px;
	}
	
	/* ===============================================
        title
	=============================================== */
	
	/* page-ttl
	-------------------------------------------------- */
	.page-ttl {
	    width: 100%;
	    height: 50vh;
	}
	.page-ttl-inner {
	    left: 9%;
	    transform: translateY(-45%);
	    letter-spacing: 0.14em;
	}
	.page-ttl .ttl {
	    font-size: 2.6rem;
	    letter-spacing: 0.12em;
	    margin-bottom: 25px;
	}
	.page-ttl-inner .en {
	    padding-left: 4px;
		font-size: 1.2rem;
		letter-spacing: 0.22em;
	}
	
	/* subpage-ttl
	-------------------------------------------------- */
	.subpage-ttl {
	    padding: 60px 5.3333% 40px;
	}
	.subpage-ttl-inner {
	   padding-bottom: 40px;
	}
	.subpage-ttl .ttl {
	    font-size: 2.6rem;
		margin: 10px 0 20px;
	}
	.subpage-ttl-inner .en {
		font-size: 1.2rem;
		letter-spacing: 0.18em;
		margin-bottom: 15px;
	}
	.newsdetail-ttl .ttl {
	    font-size: 2.2rem;
		margin-top: 5px;
	}
	
	/* sec-ttl
	-------------------------------------------------- */
    .sec-ttl {
        line-height: 1.6;
        margin-bottom: 15px;
		font-size: 1.2rem;
		letter-spacing: 0.12em;
		padding-left: 7vw;
    }
    .sec-ttl .en {
        letter-spacing: 0.07em;
        font-size: 2.7rem;
    }
	.sec-ttl .jp-f {
        letter-spacing: 0.07em;
        font-size: 2.7rem;
    }
    .sec-ttl .bd::before {
        width: 8vw;
        left: -12.3333vw;
    }
    .sec-ttl .lead {
        font-size: 1.4rem;
		margin-top: 5px;
    }
	
	/* bg-ttl
	-------------------------------------------------- */
	.bg-ttl {
		font-size: 20.5vw;
		letter-spacing: 0.01em;
	}
	.bg-ttl.__content {
		left: -30px;
	    top: -10px;
	}
	
	/* txt-ttl
	-------------------------------------------------- */
	.txt-ttl {
	    text-align: center;
	    margin-bottom: 25px;
	}
	.txt-ttl .ttl {
	    font-size: 2.0rem;
	    letter-spacing: 0.10em;
	    font-weight: 700;
		line-height: 1.75;
	}
	.txt-ttl .lead {
	    font-size: 1.3rem;
	    letter-spacing: 0.12em;
	    margin: 10px 0 30px;
	}
	
	/* sub-ttl
	-------------------------------------------------- */
	.sub-ttl {
		font-size: 1.7rem;
		font-weight: 700;
		margin-bottom: 20px;
	}
	
	/* bd-ttl
	-------------------------------------------------- */
	.bd-ttl {
	    font-size: 1.7rem;
	    margin-bottom: 30px;
	}
	.bd-ttl::before {
	    width: 90%;
		top: 55%;
	}
	.bd-ttl span {
	    padding: 0 15px;
		letter-spacing: 0.08em;
	}
	
	/* col-ttl
	-------------------------------------------------- */
	.col-ttl {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}
	
	/* contents-copy
	-------------------------------------------------- */
	.contents-copy {
	    padding: 40px 4% 40px;
	    margin-bottom: 60px;
	}
	.contents-copy .ttl {
	    font-size: 2.0rem;
	    font-weight: 700;
	    letter-spacing: 0.08em;
	    margin-bottom: 20px;
	}

	
    /* ===============================================
	    btn
	=============================================== */
    
	/* btn
	-------------------------------------------------- */
    .btn {
        margin-top: 30px;
    }
    .btn a {
        width: 210px;
        line-height: 48px;
        letter-spacing: 0.08em;
        font-size: 1.3rem;
    }
    .btn a span::after {
		width: 7px;
		height: 7px;
        right: 20px;
    }
    .btn-middle a {
        width: 260px;
    }
    .btn-large a {
        width: 90%;
        line-height: 50px;
    }
    .btn-large a span::after {
        right: 20px;
    }
	
	/* btn-b
	-------------------------------------------------- */
	.btn-b a {
	    max-width: 260px;   
	    line-height: 48px;
	}
	.btn-b a::after {
	    width: 7px;
	    height: 7px;
	    margin: 0 10px;
	    right: 20px;
	}
	
	/* txt-arrow
	-------------------------------------------------- */
	.txt-arrow {
	    font-size: 1.0rem;
	    padding-right: 15px;
	}
	.txt-arrow::after {
	    width: 6px;
	    height: 6px;
	}
	
    /* ===============================================
        parallax
	=============================================== */
	.parallax {
		
	}
	
    /* ===============================================
        col2, 3
	=============================================== */
	.col2 {
	    display: block;
	}
	.col2 .col-block {
	    width: 100%;
		margin-bottom: 40px;
	}
	.col3:after {
		display: none;
	}
	.col5:before,
	.col5:after {
	    content: "";
	    display: block;
	    width: 18.9%;
	    height: 0;
	    order: 1;
	}
	.col3-box {
	    margin-bottom: 20px;
	}
	.col3 .block {
	    width: 48.8%;
	    margin-bottom: 10px;
	    text-align: center;
	}
	.col5 .block {
	    width: 48.8%;
	    margin-bottom: 10px;
	    text-align: center;
	}
	.col5 .block:last-child {
		display: none;
	}
	.col3 .block.box,
	.col5 .block.box {
	    padding: 10px 5px;
	}
	.col3 .block.box p,
	.col5 .block.box p {
		font-size: 1.2rem;
	}
	.col3 .note {
	    font-size: 1.1rem;
		line-height: 1.5;
		margin-top: 3px;
	}
	.col3 .col-block {
	    width: 100%;
	    margin-bottom: 25px;
	}
	.col3 .col-block:last-child {
		margin-bottom: 0;
	}
	.col2 .col-block .thumb::after,
	.col3 .col-block .thumb::after {
	    padding-top: 66.6666%;
	}
	.col3 .col-block .ttl {
	    padding-top: 12px;
		font-size: 1.6rem;
	}
	.col3 .col-block .txt {
	    font-size: 1.3rem;
	}
	
	/* ===============================================
        note-block
	=============================================== */
	.note-block {
	    background: #f2f3f5;
	    padding: 20px 20px 25px;
	    display: block;
	}
	.note-block .ttl {
	    width: 100%;
	    border-right: none;
		border-bottom: 1px solid #cccccc;
	    display: block;
	    font-size: 1.4rem;
		margin-bottom: 10px;
		padding-bottom: 10px;
	}
	.note-block-cont {
	    width: 100%;
	    font-size: 1.3rem;
	}
	
	/* ===============================================
        list-indent
	=============================================== */
	.list-indent li {
		padding-left: 12px;
	}
	.list-indent li::before {
		top: 11px;
	}
	.list-col {
	    display: block;
	}
	.list-col li {
	    width: 100%;
	}
	
    /* ===============================================
        dl.table
	=============================================== */
	.table {
	}
	.table dl {
	}
	.table dt,
	.table dd {
	    font-size: 1.4rem;
	}
	.table dt {
		width: 27%;
	    padding: 18px 5px;
	    border-top: 1px solid #333333;
	}
	.table dd {
		width: 73%;
	    padding: 18px 0px 18px 10px;
	}
	.table-wrap {
	    padding-top: 0;
	}
	.table-col2,
	.table-col3 {
	    display: block;
	}
	.table-col2 dl {
	    width: 100%;
	}
	.table-col3 dl {
		width: 100%;
	}
	.table-col2 dl:first-child,
	.table-col3 dl:nth-child(1),
	.table-col3 dl:nth-child(2) {
		border-bottom: none;
	}
	.table-col2 dl:nth-child(2) .ttl,
	.table-col3 dl:nth-child(2) .ttl,
	.table-col3 dl:nth-child(3) .ttl {
		display: none;
	}
	.table.table-s dt {
	    font-size: 1.4rem;
	}
	.table.table-s dd {
	    font-size: 1.4rem;
	}
	.table-col3 .table.table-s dt {
		padding: 12px 0;
		width: 60% !important;
		font-size: 1.2rem;
	}
	.table-col3 .table.table-s dd {
		width: 40% !important;
		padding: 12px 0 12px 10px;
		font-size: 1.2rem;
	}
	.table dt.ttl,
	.table dd.ttl {
		font-size: 1.0rem !important;
		padding: 0 0 10px !important;
	}
	.table dd.ttl {
		padding: 0 0 10px 10px !important;
	}
	.table02 dt,
	.table02 dd {
	    display: flex;
	    align-items: center;
	    box-sizing: border-box;
	    text-align: left;
	    margin-bottom: 1px;
	}
	.table02 dt {
	    width: 22%;
	    padding: 15px 10px;
	}
	.table02 dd {
	    width: 78%;
	    padding: 15px 20px;   
	}
	
	/* ===============================================
        table
	=============================================== */
	table {
	    width: 100%;
	    border-bottom: 1px solid #d9d9d9;
	    border-right: 1px solid #d9d9d9;
	    margin: 0 auto 30px;
	}
	table th {
	    padding: 10px 5px;
		font-size: 1.2rem;
	}
	table td {
	    padding: 10px 5px;
	    font-size: 1.2rem;
	}
	table .bg {
	    background: #f6f7f8;
	}
	table .w40 {
	    width: 25%;
	}
	table .w35 {
	    width: 35%;
	}
	
    /*/////////////////////////////////////////////////////////////////////////////


              // Slider //
	  

	/////////////////////////////////////////////////////////////////////////////*/
    /* Arrows */
	.slick-prev,
	.slick-next {
	    bottom: -70px;
	    left: 10px;
	    width: 40px;
	    height: 40px;
	    margin-left: 0;
	}
	.slick-prev {
	    margin-left: 50px
	}
	.slick-prev::after,
	.slick-next::after {
	    top: 17px;
	}
	.slick-prev::after {
	    right: 17px;
	}
	.slick-next::after {
	    left: 17px;
	}
	
	/* Dots */
	.slick-dotted.slick-slider {
	    margin-bottom: 70px;
	}
	.slick-dots {
	    bottom: -58px;
	    right: inherit;
		left: 5.3333%;
	    width: calc(94.6667% - 120px);
	    margin: 0 0 0 110px;
	    text-align: left;
	}
	.slick-dots li {
	    width: 5px;
	    height: 5px;
	    margin: 0 4px !important;
	}
	.slick-dots li button {
	    width: 5px;
	    height: 5px;
	}
	
    
  
}