@media screen and (min-width: 751px) {
    @charset "utf-8";
    .sp_hidden {
        display: inline
    }
    .pc_hidden {
        display: none
    }
    /*font-face*/
    @font-face {
        font-family: 'condenseicon';
        src: url('../font/CONDENSEicon.ttf') format('truetype'), url('../font/CONDENSEicon.otf') format('opentype'), url('../font/CONDENSEicon.woff') format('woff');
    }
    @font-face {
        font-family: 'LigatureSymbols';
        src: url('../font/LigatureSymbols-2.11.eot');
        src: url('../font/LigatureSymbols-2.11.eot?#iefix') format('embedded-opentype'), url('../font/LigatureSymbols-2.11.woff') format('woff'), url('../font/LigatureSymbols-2.11.ttf') format('truetype'), url('../font/LigatureSymbols-2.11.svg#LigatureSymbols') format('svg');
        font-weight: normal;
        font-style: normal;
    }
    body {
        min-width: 1200px;
        -webkit-text-size-adjust: none;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        color: #000;
        font-size: 12pt;
        font-weight: 400;
        line-height: 1.8;
        letter-spacing: 1.7px;
    }
    * {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }
    p {
        padding: 0;
        margin: 0;
    }
    a {
        transition: all 0.5s ease 0s;
    }
    img, iframe {
        vertical-align: bottom;
    }
    img {
        -webkit- backface-visibility: hidden;
    }
    * {
        margin: 0;
        padding: 0;
    }
    .switch {
        visibility: hidden;
    }
    a:hover img {
        transition: all 0.1s ease; /*0.5秒かけて要素を変化させる*/
        opacity: 0.7; /*要素の透明度を指定*/
        filter: alpha(opacity=70); /*ie6、7の透明度指定*/
        /*ちなみにie8の透明度指定はこれ→ -ms-filter: "alpha(opacity=70)";*/
    }
    .nav-wrap {
        display: none;
    }
    #wrap {
        overflow: hidden;
    }
    #m-menu {
        display: none;
    }
    #ind #main {}
    .sec main {
        margin: 0px auto 20px;
        width: 1200px;
        padding: 60px;
        background: #fff;
    }
    .sec main img {
        width: auto;
        max-width: 100%;
    }
    .content_wrap {
        width: 1200px;
        margin: 0 auto;
    }
    ol {
        margin: 0;
        padding: 0;
    }
    ul {
        margin: 0;
        padding: 0;
    }
    ol.un {
        padding-bottom: 20px;
    }
    ol.un li {
        margin-left: 1.5em;
    }
    .table_basic {
        border-collapse: separate;
        border-spacing: 10px;
        background: #fff;
        border-style: none;
        width: 100%;
        margin: 0 auto;
    }
    .table_basic th {
        border-bottom: 1px solid #ccc;
        padding: 15px 0px 15px 0px;
        font-weight: normal;
        text-align: center;
        width: 20%;
    }
    .table_basic th span {
        display: block;
        border-right: 1px solid #ccc;
    }
    .table_basic td {
        padding: 15px 20px;
        border-bottom: 1px solid #ccc;
    }
    .table_basic tr:last-child th, .table_basic tr:last-child td {
        border-bottom: 1px solid #fff;
    }
    .table_basic td textarea {
        height: 200px;
        width: 100%;
        border: 1px solid #ccc;
    }
    .table_basic td input.input {
        width: 100%;
        border: 1px solid #ccc;
    }
    .table_basic td input.radio {
        margin-right: 5px;
    }
    .table_scrool {
        border-collapse: separate;
        border-spacing: 1px;
        background: #ddd;
        border-style: none;
        width: 100%;
    }
    .table_scrool th {
        background-color: #f3f3f3;
        padding: 8px 10px;
        font-weight: normal;
        border-top: 1px solid #FFF;
        text-align: center;
        width: 20%;
    }
    .table_scrool td {
        background-color: #FFF;
        padding: 8px 10px;
        border-top: 1px solid #FFF;
    }
    .req-mark {
        font-size: 8pt;
        color: #D00003
    }
    .right {
        text-align: right;
    }
    .cen {
        text-align: center;
    }
    .pc_no {
        display: none
    }
    .h img {
        display: block;
    }
    /*----------------------------------------ヘッダ----------------------------------------*/
    #ind header {
        width: 100%;
        max-width: 1920px;
        background: url("../img/kv1b.png")no-repeat center top;
        height: 803px;
        position: relative;
        image-rendering: -webkit-optimize-contrast;
    }
    #ind #logo {
        display: none;
    }
    .sec header {
        width: 100%;
        height: 660px;
        position: relative;
    }
    .sec #logo {
        background: url("../img/sec_logo_bg.png")no-repeat left top;
        min-height: 473px;
        padding: 30px 30px;
    }
    .sp_nav {
        display: none;
    }
    /*----------------------------------------Ｇナビ----------------------------------------*/
    nav {
        position: absolute;
        background: rgb(255 255 255 / 90%);
        padding: 20px 0px 24px 60px;
        right: 0px;
        top: 0;
        clip-path: polygon(5rem 0px, calc(100% - 0rem) 0px, 100% 5rem, 100% calc(100% - 5rem), calc(100% - 0rem) 100%, 5rem 100%, 0px calc(100% - 5rem), 0px 0rem);
    }
    nav ol {
        display: flex;
    }
    nav ol li {
        padding: 0 13px;
        line-height: 1;
        font-weight: 500;
        font-size: 11.5pt;
    }
    nav ol li a {
        color: #222;
    }
    nav ol li + li {
        border-left: 1px solid #aaa;
    }
    /*----------------------------------------フッタ----------------------------------------*/
    footer {
        background: rgb(24, 24, 24);
        background: linear-gradient(90deg, rgba(24, 24, 24, 1) 30%, rgba(61, 61, 61, 1) 50%, rgba(24, 24, 24, 1) 70%);
        text-align: center;
        padding: 40px 0;
        color: #fff;
        font-size: 11pt;
    }
    footer .logo {
        display: block;
        font-size: 21pt;
        line-height: 21pt;
        margin-bottom: 10px;
    }
    footer .add {
        margin-bottom: 25px;
    }
    footer .tel {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 15px;
    }
    footer .tel span {
        font-size: 18pt;
        line-height: 18pt;
        font-weight: 400;
        display: inline-block;
        margin: 0 10px;
    }
    footer .tel span.tel:before {
        font-family: 'LigatureSymbols';
        content: "\E100";
        line-height: 1;
        margin-right:4px;
        font-weight: 300;
    }
    footer .tel span.fax:before {
        font-family: 'LigatureSymbols';
        content: "\E10a";
        line-height: 1;
        margin-right:4px;
        font-weight: 300;
        font-size: 22pt;
    }
    footer div.btn {
        margin-bottom: 30px;
    }
    footer div.btn a {
        border: 1px solid #999;
        background: url("../img/btn_arrow_w.png") no-repeat top 16px right 15px;
        display: inline-block;
        padding: 8px 70px;
        color: #fff;
        text-align: center;
    }
    footer div.btn a:hover{
        background:#222 url("../img/btn_arrow_w.png") no-repeat top 16px right 15px;
    }
    footer ol {
        display: flex;
        justify-content: center;
        margin-bottom: 15px;
    }
    footer ol li + li {
        border-left: 1px solid #666;
    }
    footer ol li a {
        color: #fff;
        display: block;
        padding: 0 10px;
    }
    .copy {
        font-size: 11pt;
        text-align: center;
        padding: 20px;
    }
    #topcontrol {
        position: fixed;
        bottom: 15px;
        right: 15px;
        background:#222;
        border-radius: 100px;
    }
    #topcontrol img {
        display: block;
        width: 60px;
        height: 60px;
    }
    /*----------------------------------------メインイメージＩＮＤＥＸ----------------------------------------*/
    .viewer .kv_logo {
        position: absolute;
        left: 130px;
        top: 100px;
        z-index: 99999;
    }
    .viewer {
        width: 100%;
        position: relative;
        overflow: hidden;
        z-index: 1;
        height: 685px;
        box-sizing: border-box;
    }
    .viewer ul {
        width: 100%;
        overflow: hidden;
        position: relative;
        z-index: 99997;
    }
    .viewer ul li {
        top: 0;
        left: 0;
        width: 100%;
        position: absolute;
    }
    .viewer ul li img {
        position: absolute;
        left: 50%;
        width: 1920px;
        margin-left: -960px;
    }
    #slides {
        display: none;
    }
    /*----------------------------------------index----------------------------------------*/
    #index01 {
        margin: 100px auto;
        background: url("../img/index01_bg2.jpg") no-repeat center top;
        min-height: 468px;
    }
    #index01 h2 {
        font-size: 26pt;
        line-height: 36pt;
        font-weight: 500;
        margin: 0;
        padding: 80px 0 30px 360px;
        letter-spacing: 4pt;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    }
    #index01 p {
        letter-spacing: normal;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 28pt;
        font-weight: 500;
        display: block;
        padding: 0 0 30px 380px;
    }
    #index01 span {
        display: block;
        text-align: center;
        font-family: "noto serif";
        font-weight: 800;
        font-size: 52pt;
        line-height: 52pt;
        letter-spacing: 0pt;
        color: #e9eaea;
    }
    #index02 {
        text-align: center;
        margin-bottom: 120px;
    }
    #index02 h2 {
        font-size: 26pt;
        line-height: 36pt;
        font-weight: 500;
        margin: 0;
        padding: 0 0 30px 0;
        letter-spacing: 4pt;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    }
    #index02 p.comment {
        display: block;
        padding-bottom: 30px;
    }
    #loopslider {
        margin: 0px auto 135px auto;
        width: 100%;
        height: 310px;
        text-align: left;
        position: relative;
        overflow: hidden;
    }
    #loopslider ul {
        height: 310px;
        float: left;
        display: inline;
        overflow: hidden;
    }
    #loopslider ul li {
        width: 355px;
        height: 310px;
        float: left;
        display: inline;
        overflow: hidden;
        text-align: center;
    }
    #loopslider ul li img {
        width: 348px;
        height: 270px;
    }
    #loopslider ul li p {
        display: block;
        padding-top: 10px;
    }
    #index03 {
        margin: 0 auto;
		background: url("../img/index03a_bg.png")no-repeat center top;
        min-height: 468px;
        margin-bottom: 180px;
    }
    #index03 div.tit {
        display: flex;
        align-items: center;
        font-family: "noto serif";
        font-weight: 800;
        font-size: 52pt;
        line-height: 52pt;
        letter-spacing: 0pt;
        color: #e9eaea;
    }
    #index03 div.tit div.line {
        display: flex;
        align-items: center;
        font-weight: 500;
        font-size: 14pt;
        line-height: 14pt;
        letter-spacing: 2pt;
        color: #222;
        margin-left: 15px;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        width: 240px;
    }
    #index03 div.tit div.line:after {
        content: "";
        flex-grow: 1;
        height: 1px;
        background: #222;
        display: block;
    }
    #index03 div.tit div.line:after {
        margin-left: .4em;
    }
    #index03 h2 {
        font-size: 26pt;
        line-height: 36pt;
        font-weight: 500;
        margin: 0;
        padding: 20px 0 20px 30px;
        letter-spacing: 4pt;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    }
    #index03 p {
        letter-spacing: normal;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 28pt;
        font-weight: 500;
        display: block;
        padding: 0 0 30px 50px;
    }
    #index03 div.btn {
        display: flex;
        padding-left: 50px;
    }
    #index03 div.btn a {
        background: #404040 url("../img/btn_arrow_w.png") no-repeat top 26px right 20px;
        display: inline-block;
        padding: 18px 5px;
        margin-right: 20px;
        color: #fff;
        width: 250px;
        text-align: center;
    }
    #index04 {
        padding: 90px 0 140px 0;
        background: url("../img/index04_bg.png")no-repeat center top / contain;
    }
    #index04 .txt {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 50px;
    }
    #index04 div.tit {
        font-family: "noto serif";
        font-weight: 800;
        font-size: 52pt;
        line-height: 52pt;
        letter-spacing: 0pt;
        color: #fff;
    }
    #index04 div.tit div.line {
        display: flex;
        align-items: center;
        font-weight: 500;
        font-size: 14pt;
        line-height: 14pt;
        letter-spacing: 2pt;
        color: #222;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        width: 240px;
        margin-top: 25px;
    }
    #index04 div.tit div.line:after {
        content: "";
        flex-grow: 1;
        height: 1px;
        background: #222;
        display: block;
        margin-left: .4em;
    }
    #index04 h2 {
        font-size: 26pt;
        line-height: 36pt;
        font-weight: 500;
        margin: 0;
        padding: 20px 0 20px 30px;
        letter-spacing: 4pt;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    }
    #index04 p {
        letter-spacing: normal;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        font-weight: 400;
        display: block;
        font-size: 12pt;
        line-height: 2.4;
        margin-top: 30px;
    }
    #index04 ol {
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin-bottom: 60px;
    }
    #index04 div.btn {
        display: flex;
        justify-content: flex-end;
    }
    #index04 div.btn a {
        background: #404040 url("../img/btn_arrow_w.png") no-repeat top 26px right 20px;
        display: inline-block;
        padding: 18px 5px;
        color: #fff;
        width: 250px;
        text-align: center;
    }
    #index05 {
        background: url("../img/index05_bg.png")no-repeat center top;
        padding: 80px 0 0 0;
        text-align: center;
    }
    #index05 div {
        color: #fff;
        font-size: 19pt;
        margin-bottom: 70px;
    }
    #index05 div span {
        display: block;
        font-size: 32pt;
    }
    #index05 ol {
        background: #fff;
        display: flex;
        justify-content: space-between;
        padding: 40px 50px;
        border-radius: 10px;
    }
    #index05 ol a {
        color: #222;
        font-size: 12pt;
    }
    #index05 ol a p {
        display: block;
        padding-top: 10px;
    }
    #index06 .box {
        justify-content: space-between;
        display: flex;
        align-items: center;
        margin-bottom: 100px;
    }
    #index06 div.tit {
        font-family: "noto serif";
        font-weight: 800;
        font-size: 52pt;
        line-height: 52pt;
        letter-spacing: 0pt;
        color: #e9eaea;
    }
    #index06 div.tit div.line {
        display: flex;
        align-items: center;
        font-weight: 500;
        font-size: 14pt;
        line-height: 14pt;
        letter-spacing: 2pt;
        color: #222;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        width: 240px;
        margin-top: 25px;
    }
    #index06 div.tit div.line:after {
        content: "";
        flex-grow: 1;
        height: 1px;
        background: #222;
        display: block;
    }
	
.index05{
	background: url(../img/index05_bg.jpg) no-repeat top center;
	height: 400px;
	padding-top:10px;
	margin-bottom:90px;
	}
.index05 .box{
	width:1200px;
	margin:0 auto;

	} 
.index05 .box .pic{
	}

.index05 .box .txt{
	padding-left:35px;
	color: #FFFFFF;
	}
.index05 .box .txt strong{
	font-size:20pt;
	display:block;
	padding-bottom:30px;
	color: #FFFFFF;
	}
.index05 .box .txt span{
	display:block;
	font-family :"Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","メイリオ", "ＭＳ Ｐ明朝","MS PMincho",Meiryo, serif;
	padding-top:15px;
	}
	
    #index div.btn a:hover{
        background: #222 url("../img/btn_arrow_w.png") no-repeat top 26px right 20px;
    }
    /*----------------------------------------セカンド共通----------------------------------------*/
    #kv_sec {
        height: 817px;
        width: 100%;
        position: absolute;
        z-index: -1;
        margin: 0 auto;
        top: 0px;
    }
    .kv_sec_fadeRight {
        animation-name: kv_sec_fadeRight;
        animation-duration: 2s;
        animation-delay: 0.3s;
        animation-fill-mode: forwards;
        opacity: 0;
    }
    @keyframes kv_sec_fadeRight {
        from {
            opacity: 0;
            transform: translateX(25px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }
    .kv_company {
        background: url("../img/sec_kv_company.png")no-repeat center top;
    }
    .kv_staff {
        background: url("../img/sec_kv_staff.png")no-repeat center top;
    }
    .kv_service {
        background: url("../img/sec_kv_service.png")no-repeat center top;
    }
    .kv_archive {
        background: url("../img/sec_kv_archive.png")no-repeat center top;
    }
    .kv_recruit {
        background: url("../img/sec_kv_recruit.png")no-repeat center top;
    }
    .kv_access {
        background: url("../img/sec_kv_access.png")no-repeat center top;
    }
    .kv_contact {
        background: url("../img/sec_kv_contact.png")no-repeat center top;
    }
    .kv_sitemap {
        background: url("../img/sec_kv_sitemap.png")no-repeat center top;
    }
    .kv_policy {
        background: url("../img/sec_kv_policy.png")no-repeat center top;
    }
    .kv_event {
        background: url("../img/sec_kv_event.png")no-repeat center top;
    }
    .sec h2 {
        position: absolute;
        top: 500px;
        left: 60px;
        font-family: "noto serif";
        font-weight: 800;
        font-size: 70pt;
        line-height: 70pt;
        letter-spacing: 2pt;
        color: #fff;
    }
    .sec_h2_fadeLeft {
        animation-name: sec_h2_fadeLeft;
        animation-duration: 1.4s;
        animation-delay: 1.1s;
        animation-fill-mode: forwards;
        opacity: 0;
    }
    @keyframes sec_h2_fadeLeft {
        from {
            opacity: 0;
            transform: translateX(-20px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }
    h3 {
        display: flex;
        align-items: center;
        font-weight: 500;
        font-size: 20pt;
        line-height: 20pt;
        letter-spacing: 2pt;
        color: #222;
        font-family: 'Noto Serif JP', sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        width: 400px;
        margin-bottom: 40px;
    }
    h3:after {
        content: "";
        flex-grow: 1;
        height: 1px;
        background: #222;
        display: block;
        margin-left: .4em;
    }
    .mbs {
        margin-bottom: 20px !important;
    }
    .mbm {
        margin-bottom: 40px !important;
    }
    .mbl {
        margin-bottom: 70px !important;
    }
    .sec-wrap {
        padding: 0 20px;
    }
    ol.num {}
    ol.num li {
        padding: 0 0 5px;
        margin-left: 2em;
        list-style-type: decimal;
    }
    ol.disc {}
    ol.disc li {
        padding: 0 0 5px;
        margin-left: 2em;
        list-style-type: disc;
    }
    ol.check {
        padding-left: 1.5em; /* 文章のスタート位置。li:beforeが入るスペースを確保*/
    }
    ol.check li {
        position: relative;
        padding: 7px 0 7px 0.7em;
        border-bottom: 1px dotted #ddd;
    }
    ol.check li:before {
        font-family: FontAwesome;
        content: "\f058";
        position: absolute;
        left: -1em; /* アイコンのスタート位置。左揃えの場合 ul のpadding-leftと同じ値 */
        color: #ccc;
    }
    /*-----------------------------------------archive---------------------------------------*/
    #archive ol.list {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        background: #f9f9f9;
        padding: 30px;
    }
    #archive ol.list li {
        width: calc((100% - 60px) / 3);
    }
    #archive ol.list li a {
        display: block;
        background: #fff url("../img/btn_arrow_b.png") no-repeat top 40px right 20px;
        border: 1px solid #ccc;
        color: #222;
        text-align: center;
        padding: 30px 0;
        font-size: 13pt;
    }
    #archive ol.list li a:hover {
        background: #404040 url("../img/btn_arrow_w.png") no-repeat top 40px right 20px;
        color: #fff;
    }
    #archive ol.list li a.ov {
        background: #404040 url("../img/btn_arrow_w.png") no-repeat top 40px right 20px;
        color: #fff;
    }
    #archive ol.list_num {
        display: flex;
        flex-wrap: wrap;
        gap: 40px;
        margin-bottom: 50px;
    }
    #archive ol.list_num li {
        width: calc((100% - 80px) / 3);
    }
    #archive ol.list_num li p {
        display: block;
        padding-top: 15px;
    }
    #archive ol.list_num li a {
        display: block;
        background: #fff url("../img/btn_arrow_b.png") no-repeat top 40px right 20px;
        color: #222;
        text-align: center;
        padding: 0px 0;
        font-size: 13pt;
    }
    #archive .t-come {
        display: flex;
        align-items: center;
        margin-bottom: 40px;
    }
    #archive .t-come span {
        display: block;
        padding-right: 20px;
        margin-right: 20px;
        border-right: 1px solid #ccc;
        font-size: 14pt;
    }
    #archive .slider {
        margin: 0 auto 100px;
        width: 100%;
        max-width: 1100px;
    }
    #archive .slider img {
        height: auto;
        width: 98%;
    }
    #archive .slick-slide:not(.slick-center) { /*-----------左右画像のモノクロ処理---------*/
        -webkit-filter: grayscale(100%);
        -moz-filter: grayscale(100%);
        -o-filter: grayscale(100%);
        -ms-filter: grayscale(100%);
        filter: grayscale(100%);
        transition: 0.2s linear;
    }
    /*-----------------------------------------service---------------------------------------*/
    #service ol {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #service ol li {
        width: 48%;
        text-align: center;
        margin-bottom: 50px;
    }
    #service ol li div.pic {
        position: relative;
    }
    #service ol li strong {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit- transform: translateY(-50%) translateX(-50%);
        margin: auto;
        font-family: "noto serif";
        font-size: 40pt;
        line-height: 40pt;
        color: #FFF;
        font-weight: 800;
    }
    #service ol li strong span {
        display: block;
        font-family: "noto serif";
        font-size: 10pt;
        line-height: 10pt;
        color: #FFF;
        font-weight: 800;
    }
    #service ol li span.tit {
        display: block;
        font-size: 17pt;
        line-height: 17pt;
        padding: 30px 0 20px;
    }
    #service ol li p {
        display: block;
        padding-bottom: 30px;
    }
    #service ol li a {
        background: #404040 url("../img/btn_arrow_w.png") no-repeat top 20px right 20px;
        display: inline-block;
        padding: 10px 5px;
        color: #fff;
        width: 180px;
        text-align: center;
    }
    /*-----------------------------------------staff---------------------------------------*/
    #staff .box {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 80px;
    }
    #staff .box .pic {
        width: 250px;
    }
    #staff .box .txt {
        width: calc(100% - 300px);
        position: relative;
        padding-left: 30px;
    }
    #staff .box .txt span {
        display: block;
        font-size: 16pt;
        margin-bottom: 15px;
        position: relative;
        z-index: 2;
        padding-top: 30px;
    }
    #staff .box .txt p {
        margin-bottom: 15px;
        position: relative;
        z-index: 2;
    }
    #staff .box .txt div {
        display: block;
        font-family: "noto serif";
        font-size: 40pt;
        line-height: 40pt;
        color: #f1f1f1;
        font-weight: 800;
        position: absolute;
        left: 00px;
        top:0px;
        z-index: 1;
    }
    #staff .box:nth-child(even) {
        flex-direction: row-reverse;
    }
    #staff .box:nth-child(even) .txt {
        padding-left: 30px;
    }
    /*-----------------------------------------recruit---------------------------------------*/
    #recruit div.btn {
        text-align: center;
    }
    #recruit div.btn a {
        background: #404040 url("../img/btn_arrow_w.png") no-repeat top 26px right 20px;
        display: inline-block;
        padding: 18px 5px;
        color: #fff;
        width: 250px;
        text-align: center;
    }
	
.gallery {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 15px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .gallery-item {
            position: relative;
            overflow: hidden;
            border-radius: 8px;
            cursor: pointer;
            aspect-ratio: 4/3;
            background: #ddd;
        }

        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease;
        }

        .gallery-item:hover img {
            transform: scale(1.1);
        }

        /* モーダル */
        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.9);
            z-index: 1000;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .modal.active {
            display: flex;
        }

        .modal-content {
            max-width: 90%;
            max-height: 90%;
            position: relative;
        }

        .modal-content img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .close-btn {
            position: absolute;
            top: -40px;
            right: 0;
            color: white;
            font-size: 40px;
            font-weight: bold;
            cursor: pointer;
            background: none;
            border: none;
            padding: 0;
            line-height: 1;
        }

        .close-btn:hover {
            color: #ccc;
        }

        .nav-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255, 255, 255, 0.3);
            color: white;
            border: none;
            font-size: 40px;
            padding: 10px 20px;
            cursor: pointer;
            border-radius: 5px;
        }

        .nav-btn:hover {
            background: rgba(255, 255, 255, 0.5);
        }

        .prev-btn {
            left: 20px;
        }

        .next-btn {
            right: 20px;
        }
	
    /*----------------------------------------access---------------------------------------------*/
    #access .map iframe {
        width: 100%;
        height: 500px;
    }
    /*-----------------------------------------contact---------------------------------------*/
    #contact div.btn {
        text-align: center;
    }
    #contact div.btn a {
        background: #404040 url("../img/btn_arrow_w.png") no-repeat top 26px right 20px;
        display: inline-block;
        padding: 18px 5px;
        color: #fff;
        width: 250px;
        text-align: center;
    }
    /*-----------------------------------------policy---------------------------------------*/
    #policy div {
        padding-bottom: 20px;
        font-size: 14pt;
    }
    #policy ol,
    #policy p {
        padding: 0 28px 50px;
    }
    /*-----------------------------------------anker link---------------------------------------*/
    #al1, #al2, #al3, #al4, #al5, #al6, #al7, #al8, #al9, #al10, #al11, #al12, #al13, #al14 {
        display: block;
    }
}