@charset "utf-8";

/* RESET */
* {
	margin: 0;
	padding: 0;
}

html {
	color: #1a1a19;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	font-weight: normal;
	letter-spacing: 0.1em;
	font-size: 14px;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
button,
textarea,
select,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset,
img {
	border: 0;
}

address,
button,
caption,
cite,
code,
dfn,
em,
input,
optgroup,
option,
select,
strong,
textarea,
th,
var {
	font: inherit;
}

del,
ins {
	text-decoration: none;
}

li {
	list-style: none;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
}

q:before,
q:after {
	content: "";
}

abbr,
acronym {
	border: 0;
	font-variant: normal;
}

sup {
	vertical-align: baseline;
}

sub {
	vertical-align: baseline;
}

legend {
	color: #000;
}

a {
	text-decoration: none;
	color: #333;
}

.cf:before,
.cf:after {
	content: "";
	display: table;
}

.cf:after {
	clear: both;
}

::-moz-selection {
	background: rgba(150, 127, 96, 0.3);
}

::selection {
	background: rgba(150, 127, 96, 0.3);
}

a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	tap-highlight-color: rgba(0, 0, 0, 0);
}

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

COMMON

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

/*IPAex明朝*/
@font-face {
	font-family: "IPAex";
	src: url(../fonts/ipaexg.ttf);
	font-family: "A1Gothic";
	src: url(../fonts/AP-OTF-A1GothicStd-Light.otf);
}

body,
html {
	width: 100%;
	overflow-x: hidden;
	font-family: "IPAex", YuMincho, "游明朝", "Hiragino Mincho ProN",
		"ヒラギノ明朝 ProN W3", Honoka, Meiryo, "メイリオ", serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 14px;
	line-height: 1.8;
	box-sizing: border-box;
}

html,
body {
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	/*height:100%;*/
	width: 100%;
	overflow-x: hidden;
}

/* HEADER-NAVI */
header {
	width: 100%;
}

.header1 {
	position: relative;
	width: 100%;
	z-index: 200000;
	font-weight: 700;
	font-size: 16px;
	box-sizing: border-box;
}

.wrap {
	display: block;
	height: 130px;
}

.header1 .galle-logo {
	margin-left: 4%;
	display: block;
	width: 100px;
	-webkit-animation: fadeIn-header 1.7s 1 ease forwards;
	animation: fadeIn-header 1.7s 1 ease forwards;
}

.header1 .galle-logo svg {
	/* padding-bottom: 39px; */
	width: 100px;
	padding-top: 27px;
}

nav .nav-ol {
	position: absolute;
	left: 17.5%;
	bottom: 47px;
}

nav .nav-ol .nav {
	display: flex;
	font-family: "abel", "sans-serif";
	letter-spacing: 0.2em;
	font-weight: normal;
}

nav .nav-ol .nav li {
	position: relative;
}

nav .nav-ol .nav li a {
	padding: 40px 24px;
}

nav .nav-ol .nav li a::after {
	content: "";
	display: block;
	position: absolute;
	height: 2px;
	width: 20px;
	bottom: -7px;
	left: 50%;
	opacity: 0;
	background: #229473;
	transform: translateX(-57%);
	-webkit-transform: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	text-align: -webkit-center;
	transition: all ease 0.6s;
}

nav .nav-ol .nav li a.active {
	color: #90596a;
}

nav .nav-ol .nav li a.active:after {
	content: "";
	display: block;
	position: absolute;
	height: 2px;
	width: 15px;
	bottom: -5px;
	left: 50%;
	opacity: 1;
	background: #90596a;
}

nav .nav-ol .nav li a:hover:after {
	bottom: -5px;
	opacity: 1;
}

nav .nav-ol .nav li a:active:hover:after {
	bottom: -5px;
	opacity: 1;
}

.header1 .nav-sns {
	position: absolute;
	right: 5vw;
	display: flex;
	bottom: 2.6em;
	-webkit-animation: fadeIn-header 1.7s 1 ease forwards;
	animation: fadeIn-header 1.7s 1 ease forwards;
}

@font-face {
	font-family: "icomoon";
	src: url("../fonts/icomoon.eot?nn7tc9");
	src: url("../fonts/icomoon.eot?nn7tc9#iefix") format("embedded-opentype"),
		url("../fonts/icomoon.ttf?nn7tc9") format("truetype"),
		url("../fonts/icomoon.woff?nn7tc9") format("woff"),
		url("../fonts/icomoon.svg?nn7tc9#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: "icomoon" !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.header1 .icon-line:before {
	content: "\e900";
}

.header1 .icon-instagram:before {
	content: "\ea92";
}

.header1 .icon-facebook:before {
	content: "\ea91";
}

.header1 .icon-youtube:before {
	content: "\e902";
}

.header1 .nav-sns li a {
	font-size: 1.4em;
}

.header1 .instagram,
.header1 .facebook,
.header1 .line,
.header1 .youtube {
	font-size: 16px;
	padding: 7px;
	color: #7f7f7f;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}

.header1 .instagram:hover,
.header1 .facebook:hover,
.header1 .line:hover,
.header1 .youtube:hover {
	color: #229473;
}

nav .nav-ol,
.header1 .nav-sns {
	opacity: 0;
}

nav .nav-ol {
	-webkit-animation: fadeIn-header 1.7s 1 ease forwards;
	animation: fadeIn-header 1.7s 1 ease forwards;
}

nav .nav-ol,
.header1 .nav-sns {
	opacity: 1;
}

@keyframes fadeIn-header {
	0% {
		opacity: 0;
		transform: translate(-40px, 0px);
	}

	10% {
		opacity: 0;
		transform: translate(-40px, 0px);
	}

	50% {
		opacity: 1;
		transform: translate(0, 0px);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0px);
	}
}

@-webkit-keyframes fadeIn-header {
	0% {
		opacity: 0;
		transform: translate(-40px, 0px);
	}

	10% {
		opacity: 0;
		transform: translate(-40px, 0px);
	}

	50% {
		opacity: 1;
		transform: translate(0, 0px);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0px);
	}
}

/* buger nav */
.burger-nav {
	display: none;
	position: fixed;
	z-index: 10001;
	width: 30px;
	height: 30px;
	top: 35px;
	left: 50px;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.burger-nav .icon-left {
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	position: absolute;
	height: 1px;
	width: 10px;
	top: 15px;
	left: 5px;
	background-color: #333;
}

.burger-nav .icon-left:before {
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	position: absolute;
	width: 10px;
	height: 1px;
	background-color: #333;
	content: "";
	top: -8px;
}

.burger-nav .icon-left:after {
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	position: absolute;
	width: 10px;
	height: 1px;
	background-color: #333;
	content: "";
	top: 8px;
}

.burger-nav .icon-left:hover {
	cursor: pointer;
}

.burger-nav .icon-right {
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	position: absolute;
	height: 1px;
	width: 10px;
	top: 15px;
	background-color: #333;
	left: 15px;
}

.burger-nav .icon-right:before {
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	position: absolute;
	width: 10px;
	height: 1px;
	background-color: #333;
	content: "";
	top: -8px;
}

.burger-nav .icon-right:after {
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	position: absolute;
	width: 10px;
	height: 1px;
	background-color: #333;
	content: "";
	top: 8px;
}

.burger-nav.open {
	display: block;
}

.burger-nav.open .icon-left {
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	background: transparent;
}

.burger-nav.open .icon-left:before {
	-webkit-transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	transform: rotateZ(45deg) scaleX(1.4) translate(2px, 2px);
	background-color: #eee;
}

.burger-nav.open .icon-left:after {
	-webkit-transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	transform: rotateZ(-45deg) scaleX(1.4) translate(2px, -2px);
	background-color: #eee;
}

.burger-nav.open .icon-right {
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	background: transparent;
}

.burger-nav.open .icon-right:before {
	-webkit-transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	transform: rotateZ(-45deg) scaleX(1.4) translate(-2px, 2px);
	background-color: #eee;
}

.burger-nav.open .icon-right:after {
	-webkit-transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	transform: rotateZ(45deg) scaleX(1.4) translate(-2px, -2px);
	background-color: #eee;
}

.burger-nav:hover {
	cursor: pointer;
}

nav .nav-sp {
	display: none;
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: -100000;
	-webkit-transition: all ease 0s;
	-o-transition: all ease 0s;
	-ms-transition: all ease 0s;
	transition: all ease 0s;
}

nav .nav-sp::before {
	content: "";
	opacity: 0;
	width: 120%;
	height: 120%;
	position: absolute;
	top: -10%;
	left: -10%;
	background: rgba(0, 0, 0, 0.65);
	-webkit-transition: all ease 0.6s;
	-moz-transition: all ease 0.6s;
	-o-transition: all ease 0.6s;
	-ms-transition: all ease 0.6s;
	transition: all ease 0.6s;
}

nav .nav-sp::after {
	content: "";
	opacity: 0;
	width: 120%;
	height: 120%;
	position: absolute;
	top: -10%;
	left: -10%;
	z-index: -1;
	background: url("../img/back_sp.png") no-repeat center;
	-webkit-transition: all ease 0.6s;
	-moz-transition: all ease 0.6s;
	-o-transition: all ease 0.6s;
	-ms-transition: all ease 0.6s;
	transition: all ease 0.6s;
	background-size: cover;
}

nav .nav-sp.open {
	z-index: 10000;
	overflow: hidden;
}

nav .nav-sp.open,
nav .nav-sp.open .galle-logo,
nav .nav-sp.open .nav li {
	display: block;
}

nav .nav-sp.open .nav-sns-sp {
	display: flex;
}

nav .nav-sp.close .galle-logo,
nav .nav-sp.close .nav li,
nav .nav-sp.close .nav-sns-sp {
	display: none;
}

nav .nav-sp.open,
nav .nav-sp.open::before,
nav .nav-sp.open::after {
	opacity: 1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

nav .nav-sp .galle-logo {
	display: none;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

nav .nav-sp .nav {
	font-family: "Abel", sans-serif;
	letter-spacing: 0.2em;
	font-weight: normal;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 35px;
	margin-top: 50px;
	opacity: 0;
	-webkit-transition: all ease 1s;
	-o-transition: all ease 1s;
	-moz-transition: all ease 1s;
	-ms-transition: all ease 1s;
	transition: all ease 1s;
}

nav .nav-sp.open .nav {
	margin-top: 0;
	opacity: 1;
}

nav .nav-sp .nav li {
	display: none;
}

nav .nav-sp .nav a {
	color: #bbb;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}

nav .nav-sp .nav a.active {
	color: #fff;
}

.nav-sns-sp {
	display: none;
	position: absolute;
	right: 50px;
	bottom: 45px;
}

.nav-sns-sp .line,
.nav-sns-sp .instagram,
.nav-sns-sp .facebook,
.nav-sns-sp .youtube {
	color: #bbb;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}

nav .nav-sp .nav a:hover,
.nav-sns-sp .line:hover,
.nav-sns-sp .instagram:hover,
.nav-sns-sp .facebook:hover,
.nav-sns-sp .youtube:hover {
	color: #fff;
}

/* slider-top */
.slider {
	margin: 100px auto;
	width: 90vw;
	opacity: 0;
	transition: 0s;
}

.slick-initialized {
	opacity: 1;
}

.slide {
	position: relative;
}

.slide__link {
	color: #fff;
	text-align: center;
	cursor: unset;
}

.slide img {
	height: 75vh;
	width: 90vw;
	width: auto\9;
	margin: 0 auto;
	object-fit: cover;
}

.slide__content-wrap {
	left: 50%;
	position: absolute;
	top: 50%;
}

.slide__content {
	display: block;
	opacity: 0;
	transform: translateY(-50%, 20%);
	transition: 0.3s;
}

.slide__content.on {
	opacity: 1;
	transform: translate(-50%, -50%);
	transition: 0.3s;
}

.slide__title {
	font-size: 48px;
	font-family: IPAex, sans-serif;
	font-weight: 300;
	font-style: normal;
}

/* slick setting */
.slick-prev::before,
.slick-next::before {
	color: #000;
}

/* scroll */
.scroll {
	position: absolute;
	left: 26px;
	bottom: 147px;
}

.scroll span {
	position: absolute;
	font-size: 1em;
	opacity: 0.4;
	letter-spacing: 0.2em;
	text-align: center;
	transform: rotate(-90deg);
}

.scroll svg {
	width: 25px;
	-webkit-animation: sdb 4s infinite;
	animation: sdb 4s infinite;
	top: 75px;
	position: absolute;
	left: 23px;
}

.scroll-icn {
	fill: #727171;
}

/* bg-color */
.content-wrapper {
	height: 100%;
}

.content-bg {
	background: #ffefef;
	position: relative;
	height: 100%;
	width: 90vw;
	margin: auto;
	padding: -100px;
}

.content-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

/* about area */
#about-us {
	width: 80vw;
	margin: 0 auto;
	background: #f5b2b2;
	text-align: center;
	box-sizing: border-box;
	padding: 100px 50px;
	opacity: 1;
	top: 7vw;
	position: relative;
}

.about-contents h2 {
	font-family: "Abel", sans-serif;
	font-weight: 800;
	font-size: 40px;
	letter-spacing: 0.6em;
	line-height: 1em;
	text-align: center;
	color: #fff;
	text-shadow: 3px 3px #cececece;
	opacity: 0.95;
}

.circle {
	display: inline-flex;
	justify-content: space-around;
	align-items: center;
	border-radius: 50%;
	flex-flow: column wrap;
	vertical-align: top;
	width: 180px;
	height: 180px;
	color: #fff;
	border: 1px solid #fff;
	margin: 7%;
}

.circle-txt {
	font-size: 16px;
}

h1 {
	font-size: 16px;
	color: #fff;
	padding: 50px;
}

.text {
	font-size: 16px;
	color: #fff;
	padding-top: 15px;
}

#item {
	margin-top: 12em;
	position: relative;
	top: 15vh;
	padding-bottom: 25vh;
}

.item-contents {
	display: flex;
	margin: auto;
	position: relative;
}

.item-contents img {
	height: 75vh;
	width: 80vw;
	width: auto\9;
	margin: 0 auto;
	object-fit: cover;
}

#item .item-right {
	position: absolute;
	bottom: 24%;
	width: 40vw;
	height: 50%;
	right: 0%;
	background-color: #fff;
	text-align: center;
	opacity: 0.7;
}

#item .item-right .item-txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

#item .item-contents div {}

#item .item-contents h2 {
	font-family: "Abel", sans-serif;
	font-weight: 700;
	font-size: 30px;
	letter-spacing: 0.6em;
	/* line-height: 1em; */
	text-align: center;
	/* top: 11px; */
}

#item .item-contents h3 {
	font-size: 16px;
	letter-spacing: 0.7em;
}

.items-bg {
	padding-bottom: 12vh;
}

#body-wrapper {
	width: 100%;
	margin: 0 auto;
}

.item-box {
	width: 100%;
	margin: 7em auto;
	max-width: 80vw;
	position: relative;
	background: #fff;
	text-align: right;
}

.item-box .box-text {
	top: 50%;
	box-sizing: border-box;
	transform: translateY(-50%);
	position: absolute;
	text-align: center;
	width: 40vw;
}

.item-pict img {
	object-fit: cover;
	width: 40vw;
	height: 100%;
}

.item-pict {
	height: 500px;
}

.item-box .box-text h3 {
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.2em;
	/* line-height: 1em; */
	text-align: center;
	opacity: 0.8;
}

.item-box .box-text p {
	padding: 40px;
}

.btn {
	display: inline-block;
	width: 90px;
	text-align: center;
	background-color: #229473;
	border: 2px solid #229473;
	font-size: 16px;
	color: #229473;
	text-decoration: none;
	font-weight: bold;
	padding: 10px 24px;
	/* border-radius: 4px; */
	position: relative;
	margin: 5px;
}

.btn span {
	position: relative;
	z-index: 1;
}

.btn::before,
.btn::after {
	content: "";
	display: block;
	background-color: #fff;
	width: 51%;
	height: 100%;
	position: absolute;
	top: 0;
	transition: 0.2s;
}

.btn::before {
	left: 0;
}

.btn::after {
	right: 0;
}

.btn:hover:before,
.btn:hover:after {
	width: 0;
	background-color: #fff;
}

.btn:hover {
	color: #fff;
}

#reform {}

.reform-bg {
	background: #ffefef;
	position: relative;
	padding-bottom: 6vw;
	width: 90vw;
	margin: auto;
}

.reform-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.reform-contents {
	width: 80vw;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
	position: relative;
	padding-bottom: 5vw;
}

.reform-contents img {
	height: 90vh;
	width: 80vw;
	width: auto\9;
	/* margin: 0 auto; */
	object-fit: cover;
	left: 112px;
	/* padding-left: 67%; */
}

.reform-contents .reform-left {
	position: absolute;
	bottom: 19.5%;
	width: 40vw;
	height: 90vh;
	background-color: #fff;
	top: 0;
	opacity: 0.8;
}

.reform-contents .reform-left h2 {
	font-family: "Abel", sans-serif;
	font-weight: 700;
	font-size: 30px;
	letter-spacing: 0.6em;
	/* line-height: 1em; */
	text-align: center;
	/* top: 11px; */
	/* margin-top: 5%; */
}

.reform-contents .reform-left h3 {
	font-size: 16px;
	letter-spacing: 0;
	opacity: 0.7;
}

.reform-contents .reform-left p {
	padding-top: 50px;
	line-height: 3em;
	text-align: center;
	padding: 50px;
	text-align: left;
}

.reform-txt p {
	text-align: left;
	font-size: 14px;
	padding-bottom: 10px;
}

.reform-contents .reform-left .reform-txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.float-item {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 50px;
	padding-bottom: 6vw;
}

.reform1 {
	width: 250px;
	height: 250px;
	transform: rotate(18deg);
	box-shadow: 0px 4px 7px #ccc;
	z-index: 1;
	object-fit: cover;
}

.reform2 {
	width: 250px;
	height: 250px;
	box-shadow: 0px 4px 7px #ccc;
	z-index: 2;
	object-fit: cover;
}

.reform3 {
	width: 250px;
	height: 250px;
	transform: rotate(-12deg);
	box-shadow: 0px 4px 7px #ccc;
	z-index: 3;
	object-fit: cover;
}

#repaired {
	position: relative;
}

.repaired-bg {
	background: #ffefef;
	position: relative;
	padding-bottom: 25vh;
	width: 90vw;
	margin: auto;
}

.repaired-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.repaired-contents {
	display: flex;
	margin: auto;
	position: relative;
}

.repaired-contents img {
	height: 75vh;
	width: 80vw;
	width: auto\9;
	margin: 0 auto;
	object-fit: cover;
}

#repaired .repaired-right {
	position: absolute;
	bottom: 24%;
	width: 40vw;
	height: 50%;
	right: 0%;
	background-color: #fff;
	text-align: center;
	opacity: 0.8;
}

#repaired .repaired-right h2 {
	font-family: "Abel", sans-serif;
	font-weight: 700;
	font-size: 36px;
	letter-spacing: 0.6em;
	/* line-height: 1em; */
	text-align: center;
	/* top: 11px; */
}

#repaired .repaired-right .repaired-txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

#repaired .repaired-right .repaired-txt h3 {
	font-size: 16px;
	opacity: 0.7;
	letter-spacing: 0.7em;
}

.repaired-inner {
	height: 850px;
	width: 80vw;
	width: auto\9;
	margin: 0 auto;
	background-color: #fff;
	margin-top: 25vh;
	text-align: center;
	position: relative;
}

.repaired-inner .inner-txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.repaired-inner .inner-txt h3 {
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.3em;
	/* line-height: 1em; */
	text-align: center;
	opacity: 0.8;
}

.repaired-inner .inner-txt hr {
	display: block;
	width: 60%;
	height: 1px;
	background-color: #229473;
	border: 0;
	margin: 1px auto;
	opacity: 0.4;
}

.repaired-inner .inner-txt p {
	padding: 50px;
	font-size: 16px;
	font-weight: 100;
	line-height: 3em;
	padding-left: 15em;
	padding-right: 15em;
	text-align: left;
}

.inner-image img {
	width: 600px;
	height: 300px;
	object-fit: cover;
	padding-bottom: 20px;
}

#ordermade {
	position: relative;
}

.ordermade-bg {
	background: #ffefef;
	position: relative;
	padding-bottom: 6vw;
	width: 80%;
	margin: auto;
}

.ordermade-content {
	display: flex;
	margin: auto;
	position: relative;
}

.ordermade-content img {
	height: 75vh;
	width: 80vw;
	width: auto\9;
	margin: 0 auto;
	object-fit: cover;
}

#ordermade .ordermade-left {
	position: absolute;
	bottom: 0%;
	width: 35vw;
	height: 50%;
	left: 0%;
	background-color: #f5b2b2;
	text-align: center;
}

#ordermade .ordermade-left .ordermade-txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	color: #fff;
}

#ordermade .ordermade-left h2 {
	font-family: "Abel", sans-serif;
	font-weight: 700;
	font-size: 36px;
	letter-spacing: 0.6em;
	/* line-height: 1em; */
	text-align: center;
	/* top: 11px; */
	color: #fff;
}

.ordermade-inner {
	height: 800px;
	width: 60vw;
	width: auto\9;
	margin: 0 auto;
	background-color: #fff;
	text-align: center;
	position: relative;
}

.ordermade-inner .inner-txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.ordermade-inner .inner-txt h3 {
	padding: 40px;
	font-size: 20px;
	font-weight: 100;
}

.ordermade-inner .inner-txt p {
	padding: 40px;
	font-size: 16px;
	font-weight: 100;
	line-height: 3em;
}

.inner-image-ordermade img {
	width: 350px;
	height: 200px;
	object-fit: cover;
	padding-bottom: 40px;
}

.ordermade-inner-bg {
	background: #ffefef;
	position: relative;
	padding-bottom: 6vw;
	width: 80%;
	margin: auto;
}

#bridal {
	position: relative;
}

.bridal-bg {
	background: #ffefef;
	position: relative;
	width: 90vw;
	margin: auto;
}

.bridal-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.bridal-content {
	display: flex;
	margin: auto;
	position: relative;
	width: 80vw;
}

.bridal-content img {
	height: 75vh;
	width: 80vw;
	width: auto\9;
	/* margin: 0 auto; */
	object-fit: cover;
	padding-left: -10%;
}

#bridal .bridal-right {
	position: absolute;
	width: 30vw;
	height: 50%;
	background-color: #ffff;
	text-align: center;
	/* top: 0; */
	bottom: 25%;
	left: 0;
	opacity: 0.8;
}

#bridal .bridal-right .bridal-txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.bridal-txt h3 {
	font-size: 16px;
	opacity: 0.7;
	letter-spacing: 0.7em;
}

#bridal .bridal-right h2 {
	font-family: "Abel", sans-serif;
	font-weight: 700;
	font-size: 36px;
	letter-spacing: 0.6em;
	/* line-height: 1em; */
	text-align: center;
	/* top: 11px; */
}

.bridal-inner {
	height: 800px;
	width: 80vw;
	width: auto\9;
	margin: 0 auto;
	background-color: #fff;
	text-align: center;
	position: relative;
	margin-top: 25vh;
}

.bridal-inner .inner-txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.bridal-inner .inner-txt h3 {
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.6em;
	/* line-height: 1em; */
	text-align: center;
}

.bridal-inner .inner-txt p {
	padding: 40px;
	font-size: 16px;
	font-weight: 100;
	line-height: 3em;
}

.inner-image-bridal {}

.inner-image-bridal img {
	width: 600px;
	height: 350px;
	object-fit: cover;
	padding-bottom: 50px;
}

#bridal .btn {
	/* margin-bottom: 40px; */
}

#history {}

.history-bg {
	background: #ffefef;
	position: relative;
	width: 90vw;
	margin: auto;
}

.history-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.history-page-bg {
	background: #ffefef;
	position: relative;
	height: 100%;
	width: 90vw;
	margin: auto;
	padding: -100px;
	padding-bottom: 12vh;
}

.history-page-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.history-contents {
	width: 80vw;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
	padding-top: 25vh;
	position: relative;
	padding-bottom: 5vh;
}

.history-contents img {
	height: 90vh;
	width: 80vw;
	width: auto\9;
	/* margin: 0 auto; */
	object-fit: cover;
	/* padding-left: 67%; */
}

.history-contents .history-left {
	position: absolute;
	/* bottom: -9%; */
	bottom: 19.5%;
	width: 40vw;
	height: 90vh;
	/* right: 81%; */
	/* top: 130px; */
	background-color: #fff;
	/* text-align: center; */
	top: 25vh;
	opacity: 0.7;
	/* right: 0; */
	/* left: 4%; */
	/* bottom: 0; */
	/* margin: auto; */
	/* transform: translateX(-50%) translateY(-50%); */
}

.history-contents .history-left h2 {
	font-family: "Abel", sans-serif;
	font-weight: 700;
	font-size: 30px;
	letter-spacing: 0.6em;
	/* line-height: 1em; */
	text-align: center;
	/* top: 11px; */
	margin-top: 12%;
}

.history-contents .history-left h3 {
	font-size: 16px;
	letter-spacing: 0.7em;
}

.history-contents .history-left p {
	padding-top: 50px;
	line-height: 3em;
	text-align: center;
	padding-bottom: 50px;
	padding-left: 7em;
	padding-right: 7em;
	text-align: left;
}

.history-txt p {
	text-align: left;
	font-size: 14px;
	padding-bottom: 10px;
}

.history-contents .history-left .history-txt {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.history-txt h3 {
	font-size: 16px;
	opacity: 0.7;
	letter-spacing: 0.7em;
}

.his {
	font-size: 16px;
	letter-spacing: 0.3em;
}

#map {
	height: 400px;
	width: 60vw;
	margin: auto;
}

.gmap {
	width: 80vw;
	width: auto\9;
	margin: 0 auto;
	background-color: #fff;
	text-align: center;
	position: relative;
}

.gmap-inner {
	padding: 6vw;
}

.gmap-inner h2 {
	font-family: "Abel", sans-serif;
	font-weight: 700;
	font-size: 36px;
	letter-spacing: 0.5em;
	/* line-height: 1em; */
	text-align: center;
	/* top: 11px; */
}

#news {
	position: relative;
}

.news-bg {
	background: #ffefef;
	position: relative;
	padding-bottom: 25vh;
	width: 90vw;
	margin: auto;
}

.news-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.news-contents {
	display: inline-block;
	padding-bottom: 15vh;
	position: relative;
}

.news-inner {
	width: 80vw;
	width: auto\9;
	margin: 0 auto;
	background-color: #fff;
	text-align: center;
	position: relative;
}

.news-bg-archive {
	background: #ffefef;
	position: relative;
	height: 100%;
	width: 90vw;
	margin: auto;
	padding: -100px;
	padding-bottom: 25vh;
}

.news-bg-archive:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.news-inner-archive {
	width: 80vw;
	width: auto\9;
	margin: 0 auto;
	background-color: #fff;
	text-align: center;
	position: relative;
	top: 6em;
}

.news-inner-txt {
	display: block;
	width: 100%;
	height: auto;
	max-width: 1380px;
	margin: 0 auto;
	padding: 50px 0px;
}

.news-inner-txt h2 {
	font-family: "Abel", sans-serif;
	font-weight: 700;
	font-size: 36px;
	letter-spacing: 0.5em;
	/* line-height: 1em; */
	text-align: center;
	/* top: 11px; */
}

.inner-txt {
	display: block;
	width: 90%;
	height: auto;
	max-width: 1380px;
	margin: 0 auto;
	padding: 50px 0px;
}

.inner-txt h2 {
	font-family: "Abel", sans-serif;
	font-weight: 700;
	font-size: 36px;
	letter-spacing: 0.5em;
	/* line-height: 1em; */
	text-align: center;
	/* top: 11px; */
}

.news-box {
	width: 65%;
	margin: 50px auto 0;
	/* border-bottom: 1px solid #ddd;  */
}

#news dl {
	justify-content: center;
	-webkit-justify-content: center;
}

#news dl a {
	padding: 30px;
	width: 100%;
	box-sizing: border-box;
	display: flex;
}

#news dl dt {
	font-weight: 700;
	color: grey;
}

#news dl dd {
	margin-left: 100px;
	margin-top: 3px;
	line-height: 1.4;
	text-align: left;
}

.box-inner {
	width: 100%;
	background: #fff;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
}

.box-inner2 {
	border-top: 1px solid #ddd;
}

#sns {
	width: 90vw;
	background: linear-gradient(#fff 50%, rgba(255, 255, 255, 0) 50%);
	margin: 0 auto;
}

#sns .sns-inner {
	width: 80vw;
	width: auto\9;
	margin: 0 auto;
	background-color: #fff;
	text-align: center;
	position: relative;
}

.sns-area {
	width: 90vw;
	margin: 0 auto;
}

.sns-area .nav-sns {
	display: flex;
	bottom: 45px;
	width: 100px;
	margin: 50px auto 0;
}

#instagram-gallery {
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 8vh;
	padding-top: 8vh;
}

#instagram-gallery li {
	width: 33%;
	display: block;
	position: relative;
}

#instagram-gallery li img {
	max-width: 100%;
	height: auto;
	display: block;
}

.sns-bg {
	background: #ffefef;
	position: relative;
	padding-bottom: 25vh;
	width: 90vw;
	margin: auto;
}

.sns-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.insta-sns {
	position: absolute;
	right: 43.5%;
	display: flex;
	bottom: 48px;
	-webkit-animation: fadeIn-header 1.7s 1 ease forwards;
	animation: fadeIn-header 1.7s 1 ease forwards;
}

#sns .instagram,
.facebook,
.line,
.youtube {
	font-size: 1.4em;
	padding: 7px;
	color: #7f7f7f;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}

footer {
	display: table;
	width: 95%;
	height: 100%;
	padding: 50px;
	box-sizing: border-box;
	font-family: "Abel", sans-serif;
	color: #777;
	padding-left: 100px;
}

.footer-nav {
	font-size: 0.9rem;
	float: left;
	display: flex;
}

.footer-nav li:nth-child(1) {
	margin-right: 50px;
}

.footer-nav li svg {
	width: 100px;
	fill: #777;
}

footer a {
	display: block;
	padding-top: 25px;
}

footer li:nth-child(1) a {
	padding-top: 0;
}

.footer-nav li {
	margin-right: 30px;
}

footer p {
	float: right;
	font-size: 0.8rem;
	display: block;
	padding-top: 25px;
}

.fadein {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s;
}

#sns .nav-sns {
	opacity: 1;
}

#sns .nav-sns {
	position: absolute;
	right: 44.5%;
	display: flex;
	bottom: 48px;
	-webkit-animation: fadeIn-header 1.7s 1 ease forwards;
	animation: fadeIn-header 1.7s 1 ease forwards;
}

#sns .instagram,
.facebook,
.line,
.youtube {
	font-size: 1.4em;
	padding: 7px;
	color: #7f7f7f;
	-webkit-transition: all ease 0.4s;
	-moz-transition: all ease 0.4s;
	-o-transition: all ease 0.4s;
	-ms-transition: all ease 0.4s;
	transition: all ease 0.4s;
}

#sns .icon-line:before {
	content: "\e900";
}

#sns .icon-instagram:before {
	content: "\ea92";
}

#sns .icon-facebook:before {
	content: "\ea91";
}

#sns .icon-youtube:before {
	content: "\e902";
}

.nav-sns-area {
	width: 100%;
	margin: auto;
}

.design-01 {
	width: 26vw;
	position: absolute;
	z-index: 99999;
	left: -8vw;
	top: 69vh;
	transform: rotate(30deg);
}

.design-02 {
	width: 40vw;
	position: absolute;
	z-index: 99999;
	/* left: 61em; */
	top: 69vh;
	transform: rotate(45deg);
	right: -14vw;
}

.design-03 {
	width: 30vw;
	position: absolute;
	z-index: 99999;
	/* left: 31em; */
	transform: rotate(45deg);
	right: -8vw;
	bottom: -20vh;
}

.design-04 {
	width: 36vw;
	position: absolute;
	z-index: 99999;
	left: -13vw;
	/* top: 28em; */
	transform: rotate(24deg);
}

.design-05 {
	width: 42vw;
	position: absolute;
	z-index: 99999;
	/* left: 55em; */
	right: -13vw;
	top: 65vh;
	transform: rotate(24deg);
}

.design-06 {

	width: 30vw;
	position: absolute;
	z-index: 99999;
	left: 6vw;
	bottom: -15vh;
	transform: rotate(24deg);
}

.design-07 {
	width: 30vw;
	position: absolute;
	z-index: 99999;
	/* left: 52em; */
	right: -6vw;
	top: -13vh;
	transform: rotate(24deg);
}

.design-08 {
	width: 38vw;
	position: absolute;
	z-index: 99999;
	left: -18vw;
	top: -15vh;
	transform: rotate(24deg);
}

.design-09 {
	width: 30vw;
	position: absolute;
	z-index: 99999;
	right: -8vw;
	top: 5vh;
	transform: rotate(24deg);
}

#map {
	margin: 3vw auto;
}

.map-box {
	width: 90%;
	margin: 3vw auto 0;
	/* border-bottom: 1px solid #ddd; */
}

.map-inner {
	width: 100%;
	background: #fff;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
}

.map-inner dl {
	padding: 30px;
	width: 100%;
	box-sizing: border-box;
	display: flex;
}

.map-inner dl dd {
	margin-left: auto;
	margin-top: 3px;
	line-height: 1.4;
	text-align: end;
}

.item-logo {
	width: 80%;
	height: 100%;
	margin: 0 auto;
	display: block;
	padding-top: 20%;
	vertical-align: middle;
}

figure {
	overflow: hidden;
	position: relative;
}

figcaption {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 156, 109, 0.5);
	-webkit-transition: 0.3s;
	transition: 0.3s;
	opacity: 0;
}

figure:hover figcaption {
	opacity: 1;
	transition: all 0.6s ease;
}

figcaption p {
	color: #fff;
	font-weight: 400;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align: center;
	width: 100%;
	font-size: 14px;
}

.access-bg {
	background: #ffefef;
	position: relative;
	padding-bottom: 5em;
	width: 90vw;
	margin: auto;
}

.access-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.map-bg {
	background: #ffefef;
	position: relative;
	padding-bottom: 10vh;
	width: 90vw;
	margin: auto;
}

.map-bg:before {
	left: 50%;
	width: 50%;
	height: 100%;
	content: "";
	position: absolute;
	background: #f5b2b2;
	opacity: 0.1;
}

.news-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.news-box li {
	width: 45%;
	margin-bottom: 5%;
	box-sizing: border-box;
	text-align: left;
	opacity: 1;
	background: #fff;
	box-sizing: border-box;
}

.news-box .news-img img {
	height: 280px;
	width: 100%;
	vertical-align: top;
}

.object-fit-img {
	object-fit: contain;
	max-width: 100%;
	height: auto;
	margin: auto;
	display: block;
}

.news-info {
	padding: 16px 16px 30px;
}

.news-info .date {
	color: #fff;
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 10px;
	padding: 0 5px;
	font-size: 0.8rem;
	border-radius: 3px;
	background: #229473;
}

.news-info .category {
	color: #229473;
	display: inline-block;
	margin-bottom: 10px;
	padding: 0 5px;
	font-size: 0.8rem;
	border: 1px solid #229473;
	border-radius: 3px;
}

.news-info .news-title {
	margin-bottom: 10px;
	font-weight: 600;
	line-height: 1.5;
	font-size: 1.2rem;
}

.news-info .news-description {
	font-size: 1rem;
}

.youtube-movie {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.Pagination {
	display: flex;
	justify-content: center;
}

.Pagination-Item:hover {
	color: #fff;
	/* マウスホバー時の文字色 */
	background: #5bc8ac;
	/* マウスホバー時の背景色 */
}

.Pagination-Item {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 10px 15px 10px 15px;
	text-decoration: none;
	width: auto;
	color: #fff;
	/* 通常の文字色 */
	background: #229473;
	/* 通常の背景色 */
}

.pagination .current {
	padding: 10px 15px 10px 15px;
	color: #47bea0;
	/* 現在のページの文字色 */
	background: #f9d635;
	/* 現在のページの背景色 */
}

@media screen and (min-width: 768px) {
	.Pagination-Item {
		margin-left: 16px;
		width: 40px;
		height: 40px;
		font-size: 24px;
	}
}

.Pagination-Item.isActive {
	border: none;
	background: #5bc8ac;
	color: #fff;
}

.sns-button-wrap {
	display: flex;
	justify-content: center;
}

.sns-button {
	color: #ffffff;
	width: 25%;
	text-align: center;
	padding: 0.5em 0;
}

.sns-twitter {
	background: #55acee;
}

.sns-facebook {
	background: #3b5998;
}

.sns-pocket {
	background: #ef3f56;
}

.sns-line {
	background: #1dcd00;
}

.sns-hatebu {
	background: #00a5de;
}

.gmnoprint {
	display: none;
}