@charset "UTF-8";

@media (max-width: 1020px) {
	.lnkbtn {
		width: 230px;
		border-radius: 25px;
	}
	.lnkbtn a, .lnkbtn p.fakebtn {
		padding: 15px 50px;
	}
	.lnkbtn a::after,
	.lnkbtn p.fakebtn::after,
	.lnkbtn.white a:hover::after {
		content: '';
		position: absolute;
		right: 30px;
		bottom: 20px;
		width: 33px;
		height: 6px;
		background: url("../img/common/icon_arrow.svg") center no-repeat;
	}
	
	.header-wrap {
		height: 50px;
	}
	.gn-logo {
		font-size: 9px;
		width: 190px;
		padding: 6px 0 0 15px;
	}
	a .gn-logo-text {
		left: 40px;
		top: 2px;
		letter-spacing: .15em;
	}
	.gn-header-lnkbtn {
		width: 150px;
	}
	.gn-header-lnkbtnlist {
		width: 50px;
	}
	.gn-header-lnkbtnlist a {
		padding: 11px 0 0;
		font-size: 0;
	}
	.gn-header-lnkbtnlist p {
		width: 25px;
		margin-bottom: 0;
	}
	.gn-header-lnkbtnlist.gn-header-menu span {
		margin-top: 30px;
		font-size: 10px;
	}
	.gn-menu-inq .lnkbtn {
		width: 215px;
		margin-left: 10px;
	}
	.gn-menu-wrap .lnkbtn a {
		font-size: 13px;
		letter-spacing: 0em;
		padding-left: 20px;
	}
	.gn-menu-wrap .lnkbtn a::after {
		right: 18px;
		bottom: 20px;
		width: 20px;
		height: 6px;	
	}
	.menubar {
		position: fixed;
		width: 25px;
		top: 16px;
		right: 13px;
		height: 10px;
	}
	.gn-header-nav {
		top: 14px;
		right: 150px;
		font-size: 12px;
	}
	
	
	
	



	.wrapper {
		padding-top:50px;
	}
	.nowon {
		top: 50px;
		width: 50px;
		height: calc(100vh - 100px);
	}
	.nowon::before {
		right: 25px;
		top: 50px;
		height: calc(50vh - 200px);
		-webkit-animation: nowssp 5s infinite;
				animation: nowssp 5s infinite;
	}
	.nowon span {
		right: 16px;
		font-size: 10px;
	}
	.inner {
		margin: 0 50px;
		padding: 100px 0 75px;
		border-radius: 0;
	}
	.inner-left {
		margin-right: 50px;
		width: calc(100% - 50px);
		padding: 100px 0 75px;
	}
	.inner-right {
		margin-left: 50px;
		width: calc(100% - 50px);
		padding: 100px 0 75px;
	}
	.inner-out .inner, .inner-out .inner-left, .inner-out .inner-right {
		padding: 50px 0;
	}	
	.inner-out .inner.nopad {
		padding: 0;
	}
	.content {
		padding: 0 50px;
	}
	.inner-right .content {
		padding: 0 100px 0 50px; 
	}
	.inner-left .content {
		padding: 0 50px 0 100px; 	
	}



	.gf-top-list {
		margin-bottom: 3px;
	}
	.gf-top-ttl {
		font-size: 15px;
		letter-spacing: .1em;
	}
	.gf-top-list .lnkbtn_fk {
		width: 70px;
		height: 15px;
	}
	.gf-middle {
		padding: 75px 50px 50px;
		font-size: 14px;
	}
	.gf-middle::before {
		top: 50px;
		width: 50px;
	}
	.gf-middle-ask {
		display: block;
		margin: 20px 0 10px;
		font-size: 25px;
	}
	.gf-middle-ask span {
		font-size: 45px;
		margin-left: 7px;
	}
	.gf-middle-fax {
		margin-left: 0;
		padding-left: 0;
		margin-top: 15px;
	}
	.gf-middle-fax::before {
		display: none;
	}
	.openhour {
		margin-top: 30px;
		font-size: 14px;
	}
	.openhour span {
		margin: 0 0 0 7px;
	}
	.gf-middle .lnkbtn {
		width: 300px;
		margin-top: 50px;
	}
	.gf-bottom .inner {
		-ms-flex-wrap: wrap-reverse;
		flex-wrap: wrap-reverse;
		padding: 50px 50px 70px;
	}
	.footer-logo {		
		width: 100%;
		margin: auto;
		text-align: center;
	}
	.footer-logo img {
		width: 180px;
	}
	.footer-logo p {
		padding-top: 20px;
		margin-top: 35px;
		font-size: 16px;
		letter-spacing: .15em;
	}
	.footer-logo p span {
		font-size: 10px;
		margin-top: 15px;
	}
	.footer-nav {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 100%;
		margin-bottom: 50px;
	}
	.footer-nav-menu {
		font-size: 13px;
		margin: 0 3%;
	}
	.footer-nav-menu li a {
		font-size: 11px;
		padding-left: 20px;
	}
	.footer-nav-menu a {
		margin-top: 7px;
	}
	.footer-nav-menu li a::before {
		top: 10px;
		width: 10px;
	}
	
	.topagetop a {
		width: 70px;
		height: 50px;
	}
	.topagetop a:hover {
		opacity: .4;
	}
	.topagetop a::before {
		top: 20px;
		left:35px;
	}

	.copyright {
		left: 0;
		width: 100%;
		bottom: 15px;
		opacity: .5;
		font-size: 9px;
		letter-spacing: .1em;
		text-align: center;
	}
	
}




@media (max-width: 47.9375rem) { 
	body {
		font-size: 14px;
	}
	.lnkbtn {
		width: 100%;
		border-radius: 25px;
		border: none;
	}
	.lnkbtn a, .lnkbtn p.fakebtn {
		padding: 12px 40px;
	}
	.lnkbtn a::after,
	.lnkbtn p.fakebtn::after,
	.lnkbtn.white a:hover::after {
		content: '';
		position: absolute;
		right: 20px;
		bottom: 17px;
		width: 25px;
		height: 6px;
		background: url("../img/common/icon_arrow.svg") center no-repeat;
	}
	.lnkbtn.white a::after {
		background: url("../img/common/icon_arrow_brown.svg") center no-repeat;
	}	
	.lnkbtn.mail {	
		width: 100%;
		letter-spacing: .05em;
	}
	.lnkbtn.mail::after {
		left: 15px;
		width: 18px;
	}
	.menuopen .menubar {
		height: 40px;
		width: 40px;
		top: 10px;
	}
	
	
	.gn-logo {
		width: 180px;
		padding: 7px 0 0 10px;
	}
	a .gn-logo-text {
		left: 38px;
		letter-spacing: .1em;
	}
	.gn-header-nav {
		display: none;
	}
	.gn-header-lnkbtn.flexed {		
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
	.gn-header-soudan, .gn-header-event {
		display: none;
	}
	.gn-header-lnkbtnlist.gn-header-menu span {
	}
	
	.gn-header-machinaka {
		position: absolute;
		top: 0;
		right: 50px;
		display: block;
		width: 60px;
		height: 50px;
		background: #9F9979;
		font-size: 9px;
		line-height: 1.1;
		text-align: center;
	}
	.gn-header-machinaka a {
		color: #FFF;
	}
	.gn-header-machinaka img {
		width: 20px;
		margin: 4px auto 3px;
	}
	
	.menuopen .gn-menu-wrap {
		overflow-y: scroll;
	}
	.menuopen .gn-menu-wrap::before {
		height: 100%;
		top: 0;
		bottom: auto;
	}
	.menuopen .menubar::before, .menuopen .gn-header-lnkbtnlist.gn-header-menu:hover .menubar::before {
		top: 50%;
		-webkit-transform: rotate(45deg) translateY(-50%);
				transform: rotate(45deg) translateY(-50%);
		height: 1px;
	}
	.menuopen .menubar::after, .menuopen .gn-header-lnkbtnlist.gn-header-menu:hover .menubar::after {
		bottom: 50%;
		-webkit-transform: rotate(-45deg) translateY(-50%);
				transform: rotate(-45deg) translateY(-50%);
		height: 1px;
	}
	
	.gn-menu-list { 	
		-webkit-writing-mode:horizontal-tb;
		-ms-writing-mode:lr-tb;
		writing-mode:horizontal-tb;
		font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
    	"Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3",
    	Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
		letter-spacing: .15em;
		height: auto;
		text-align: center;
	}
	.gn-list-line {
		padding-top: 40px;
	}
	.gn-list-item {
		font-size: 14px;
		margin: 0 6% 7px;
		padding-bottom: 7px;
		border-bottom: 1px solid #DDD;
	}
	.gn-list-item a {
		display: block;
	}
	.gn-list-parent::before {
		top: 12px;
		left: auto;
		right: 5px;
		width: 14px;
		height: 2px;
		background: #111;
		border: none;
		transition: .3s linear;
	}
	.gn-list-parent::after {
		content: '';
		position: absolute;
		right: 11px;
		top: 6px;
		width: 2px;
		height: 14px;
		background: #111;
		-webkit-transform: rotate(0deg);
				transform: rotate(0deg);
		transition: .3s linear;
	}
	.gn-list-parent.openchild::after {
		-webkit-transform: rotate(90deg);
				transform: rotate(90deg);
	}
	.gn-list-child {
		visibility: hidden;
		height: 0;
		opacity: 0;
		transition: .1s linear;
	}
	.gn-list-parent.openchild .gn-list-child {		
		visibility: visible;
		height: auto;
		opacity: 1;
	}
	.gn-list-item-sub {
		font-weight: 500;
		font-size: 12px;
		margin-top: 0;
		margin-right: 0;
		padding-left: 0;
		transition: .3s linear;
	}
	.gn-list-parent.openchild .gn-list-item-sub {
		margin-top: 10px;
	}
	.gn-list-item-sub::before {
		display: none;
	}
	.gn-menu-inq {
		position: relative;
		-webkit-box-pack: justify;
			-ms-flex-pack: justify;
				justify-content: space-between;	
		width: 92%;
		right: auto;
		left: auto;
		bottom: auto;
		margin: 30px auto 40px;
	}
	.gn-menu-inq .lnkbtn {
		width: 31.5%;
		margin-left: 0;
		border-radius: 5px;
	}
	.gn-menu-inq .lnkbtn::after {
		top: 22px;
		left: 0;
		right: 0;
		margin: auto;
	}	
	.gn-menu-inq .lnkbtn.eve::after {
		background: url("../img/common/icon_calendar.svg") center no-repeat;	
	}
	.gn-menu-wrap .lnkbtn a {
		padding: 15px 0;
		font-size: 12px;
		text-align: center;
		line-height: 1.5;
	}
	.gn-menu-wrap .lnkbtn a::before {
		border-radius: 5px;		
	}
	.gn-menu-wrap .lnkbtn.inq a, .gn-menu-wrap .lnkbtn.eve a {
		padding: 35px 0 13px 0;
	}
	.gn-menu-wrap .lnkbtn a::after {
		display: none;
	}	
	.gn-menu-inq .lnkbtn a span {
		display: block;
	}
	.gn-menu-inq .lnkbtn a span::before {
		display: none;
	}
	.gn-menu-sns {
		left: 6%;
		bottom: auto;
		width: 88%;
		text-align: center;
		margin-top: 120px;
	}
	.gn-menu-sns ul {
		width: 100%;
	}
	.gn-menu-sns ul li {
		display: inline-block;
		width: 24px;
		margin: 0 10px;
	}
	.gn-menu-wrap-bottom {
		left: 6%;
		bottom: auto;
		width: 88%;
		text-align: center;
		margin-top: 30px;
	}
	.gn-menu-corp {
		font-size: 15px;
	}
	.gn-menu-phone {
		font-size: 12px;
		margin-top: 2px;
	}



	.nowon {
		display: none;
	}
	.inner {
		margin: 0;
		padding: 100px 0 75px;
	}
	.inner-left {
		margin-right: 0;
		width: 100%;
		padding: 100px 0 75px;
		border-radius: 0;
	}
	.inner-right {
		margin-left: 0;
		width: 100%;
		padding: 100px 0 75px;
		border-radius: 0;
	}
	.inner-out .inner, .inner-out .inner-left, .inner-out .inner-right {
		padding: 35px 0;
	}
	.inner-deep {
		padding: 20px 0 0;
	}
	.inner-deep-over {
		margin: 0 auto;
		width: 100%;
	}
	.content {
		padding: 0 6%;
	}
	.inner-right .content {
		padding: 0 6%; 
	}
	.inner-left .content {
		padding: 0 6%; 	
	}

	
	.fontsubttl {
		font-size: 15px;
		letter-spacing: 0em;
		line-height: 1.8;
	}
	.attention-tx {
		font-size: 10px;
		line-height: 1.6;
	}
	.triplecolumnboxes .columnbox {
		width: 47.5%;
		margin-bottom: 30px;
	}



	#globalfooter {
		padding-bottom: 48px;
	}
	.topagetop {
		top: -27px;
	}
	.breadcrumb {
		top: 0;
		left: 5px;
	}
	.breadcrumb ul li {
		font-size: 9px;
		padding: 0 6px 0 2px;
	}
	.breadcrumb ul li::after {
		top: 7px;
		width: 5px;
		height: 5px;
	}
	.breadcrumb ul li img {
		width: 16px;
	}
	.gf-top-list {
		margin-bottom: 0;
		-ms-flex-wrap: wrap;
  		flex-wrap: wrap;
	}
	.gf-top-list li {
		position: relative;
		width: 49.75%;
		margin-bottom: 2px;
	}
	.gf-top-list li .imgzm {
		height: 90px;
	}
	.gf-top-list li .imgzm img {
		height: 100%;
		object-fit: cover;	
		font-family: 'object-fit: cover;';
	}
	.gf-top-list .lnkbtn_fk {
		width: 70px;
		height: 12px;
	}
	.gf-middle {
		padding: 50px 6% 35px;
		font-size: 12px;
	}
	.gf-middle::before {
		top: 30px;
		width: 35px;
	}
	.gf-middle-ask {
		margin: 35px auto 10px;
		font-size: 16px;
		text-align: center;
	}
	.gf-middle-ask span {
		font-size: 28px;
		margin-left: 5px;
	}
	.gf-middle-fax {
		margin-top: 20px;
	}	
	.gf-middle-mail {
		font-size: 18px;
		padding-top: 20px;
		letter-spacing: .05em;
		text-align: center;
	}
	.gf-middle-mail::before {
		width: 16px;
		height: 10px;
	}
	.openhour {
		margin-top:15px;
		font-size: 12px;
		text-align: center;
	}
	.gf-middle .lnkbtn {
		font-size: 14px;
		width: 100%;
		margin-top: 35px;
	}
	.gf-middle .lnkbtn a {		
		color: #8A7E40;
	}
	.gf-bottom .inner {
		padding: 35px 6% 60px;
	}
	.footer-logo img {
		width: 120px;
	}
	.footer-logo p {
		margin-top: 25px;
		font-size: 13px;
	}
	.footer-logo p span {
		font-size: 10px;
		margin-top: 10px;
	}
	.footer-nav {
		margin-bottom: 70px;
	}
	.footer-nav-menu {
		display: none;
	}
	.footer-nav .sns {
		top: 0px;
		width: 100%;
		right: 0;
		bottom: 0;
	}
	.footer-nav .sns ul {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.topagetop a {
		width: 50px;
		height: 30px;
	}
	.topagetop a:hover {
		opacity: .4;
	}
	.topagetop a::before {
		top: 9px;
		left: 28px;
    	width: 10px;
    	height: 10px;
	}

	.bottomnav {
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		display: block;
		z-index: 10;
		font-size: 14px;
	}
	.bottomnav ul li {
		width: 33.33%;
		text-align: center;
		height: 55px;
	}
	.bottomnav ul li a {
		position: relative;
		display: block;
		width: 100%;
		color: #FFF;
		padding: 17px 0 0;
		height: 100%;
	}
	.bottomnav ul li:first-child a {
		background: #9F9979;
		background-image: url("../img/common/icon_soudan.svg");
		background-repeat: no-repeat;
		background-size: 15px;
		background-position: 18px 22px;
		padding-left: 15px;
	}
	.bottomnav ul li:nth-child(2) a {
		color: #8A7E40;
		background: #D9D0A5;
		background-image: url("../img/common/icon_calendar.svg");
		background-repeat: no-repeat;
		background-size: 15px;
		background-position: 10px 20px;
		padding-left: 20px;
	}
	.bottomnav ul li:last-child a {
		background: #8A7E40;
    	padding: 5px 0 0;		
	}
	.bottomnav ul li:last-child a span {
		display: block;
		line-height: 1.15;
	}
}

@keyframes shiny {
    0% {
        transform: scale(0) rotate(25deg);
        opacity: 0;
    }

    50% {
        transform: scale(1) rotate(25deg);
        opacity: 1;
    }

    100% {
        transform: scale(50) rotate(25deg);
        opacity: 0;
    }
}

.shiny-btn {
    position: relative;
    display: block;
    width: 100%;
    height: 40px;

    text-align: center;
    text-decoration: none;
    color: #ffffff;
    background-color: #384878;
    overflow: hidden;
}

.shiny-btn::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg,  rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    
    /* アニメーション */
    animation-name: shiny;
    animation-duration: 6s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
