@charset "utf-8";
/* CSS Document */

@import url('normalize.css');
@import url('reset.css');
@import url('https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c:400,700&display=swap');

/*------------------------------------------------------------------------------------
　共通レイアウト
------------------------------------------------------------------------------------*/
.display_sp {display:inherit;}
.display_tab_pc {display:none;}

body {
	background-image: url(../images/common/bg_body.png);
	background-repeat: repeat-y;
	background-position: center top;
	background-size: 780px 780px;
	font-family: 'M PLUS Rounded 1c', sans-serif!important;
	color: #4d4d4d;
	font-size: 50%;
	line-height: 1.8;
}
a {
	color: #ff931e;
	text-decoration: underline;
}

#loader-bg {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0px;
  left: 0px;
  z-index: 9999;
  overflow: hidden;
}
#loader {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 130px;
	transform: translate(-50%,-50%);
	text-align: center;
	color: #fff;
	z-index: 2;
}
#loader img{
	width: 200px;
    animation: loading 1s infinite;
}

@keyframes loading {
    0% {transform: rotate(0deg)}
    15% {transform: rotate(3deg)}
    30% {transform: rotate(-3deg)}
    45% {transform: rotate(3deg)}
    50% {transform: rotate(0deg)}
    100% {transform: rotate(0deg)}
}

#wrapper {
    max-width: 100%;
	opacity: 0;
}

#wrapper img {
    max-width: 100%;
}

#header {
	padding: 10px 5px;
	height: 65px;
}
#g-menu {
	position: absolute;
	right: 0;
	top: 65px;
	z-index: 100;
}
#g-menu .sp-menu_btn {
	width: 65px;
	height: auto;
	position: absolute;
	right: 0;
	top: -65px;
}
#g-menu .sp-menu_btn .close {
	display: none;
}
#g-menu .sp-menu_btn.active .open {
	display: none;
}
#g-menu .sp-menu_btn.active .close {
	display: inherit;
}

#g-menu ul {
	display: none;
	background: #000;
}
#content {
	position: relative;
	text-align: center;
}
.pagetop {
	right: 10px;
	bottom: 20px;
	z-index: 100;
	opacity: 0;
	width: 15%;
}
.is-fixed {
	opacity: 1;
	position: fixed;
	transition: 0.5s;
}
.is-absolute {
	opacity: 1;
	position: absolute;
}

#footer {
	background: url(../images/common/bg_footer.png) repeat-x left top;
	text-align: center;
	padding-top: 20px;
}
#footer ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 20px 10px;
}
#footer li {
	margin: 5px 10px;
	font-size: 1.6em;
}
#footer .f-menu {
	border-top: #fff 1px solid;
	border-bottom: #fff 1px solid;
	display: flex;
	justify-content: center;
}
#footer .f-sns li {
	max-width: 10%;
}
#footer .f-menu ul {
	justify-content: flex-start;
}
#footer .f-menu li {
	min-width: 6.2em;
	text-align: left;
}
#footer .f-menu a {
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	padding: 0.2em 0 0.2em 2em;
	background: url(../images/common/f-menu_01.svg) no-repeat left center;
	background-size: auto 100%;
}
#footer .copy {
	padding: 10px 10px 20px;
	color: #fff;
}

#footer .copy p {
	margin: 10px 0;
	font-size: 1.3em;
}
#footer .copy .privacy {
	font-size: 1.4em;
	font-weight: bold;
}
#footer .copy .privacy a {
	color: #fff;
}
#footer .copy .note {
	font-size: 1em;
}


/* デスクトップレイアウト : 769 px ～*/
@media only screen and (min-width: 769px) {
.display_sp {display:none;}
.display_tab_pc {display:inherit;}
body {
	background-size: 100% auto;
	font-size: 62.5%;
}
#loader-bg {
	background-size: 100% auto;
}
#header {
	padding: 35px 5px;
	height: auto;
	display: flex;
	justify-content: center;
}
#g-menu {
	position: static;
	padding-top: 0;
}
#g-menu .sp-menu_btn {
	display: none;
}

#g-menu ul {
	display: flex!important;
	justify-content: center;
	background: none;
}

#g-menu li {
	margin-left: 5px;
	line-height: 0;
}
#g-menu li.lang {
	order: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.pagetop {
	display: none;
}
#footer .f-menu ul {
	justify-content: center;
}
#footer .f-menu li {
	min-width: inherit;
}
#footer .copy .privacy {
	font-size: 1.2em;
}

}


/*2024_05_29 追加修正分記述*/

#footer ul{

	row-gap: 17px;

}

#footer .f-sns ul{
	column-gap: 26px;
	padding: 30px 10px;
}

#footer li {
	font-size: 1.9em;
	margin:0;
}

#footer .f-menu a{
	padding: 0.2em 0 0.2em 1.85em;
}

#footer .f-menu ul{
	width: 85%;
	margin: 0 auto;
}

#footer .f-menu li{
	width: calc(100% / 3);
	min-width: auto;
}

#footer .f-sns li{
	max-width: 8.5%;
}

/*デスクトップサイズ*/

@media only screen and (min-width: 769px) {
	#footer ul{
		column-gap: 35px;
	}

	#footer .f-menu li{
		width: auto;
		min-width: 4.7em;
	}

}


