@charset "utf-8";

/* ----------------------------------------------------------------
Reset
----------------------------------------------------------------- */

body,div,dl,dt,dd,ul,li,h1,h2,h3,h4,h5,h6,p,a { margin: 0; padding: 0; }
img { border: 0; }
li,dt,dd { list-style: none; }

/* ----------------------------------------------------------------
Common
----------------------------------------------------------------- */

html {
font-size: 62.5%;
}

body {
text-align: center;
color: #fff;
background: #111;
font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
font-size: 1.4rem;
line-height: 3rem;
margin: 0 auto;
}

a:link, a:visited {
color: #444;
text-decoration: none;
}

a:active, a:hover {
color: #999;
text-decoration: none;
}

.sp { display: none; }

/* ----------------------------------------------------------------
Hero
----------------------------------------------------------------- */

#hero {
position: relative;
width: 100%;
margin: 0 auto;
box-sizing: border-box;
background: #fff;
}

#hero img {
width: 100%;
}

#hero1 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
background: #fff;
}

#hero1 img {
width: 100%;
}

#hero10 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
background: #fff;
}

#hero10 img {
width: 100%;
}

#hero2 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
background: #fff;
}

#hero2 img {
width: 100%;
}

#hero3 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
background: #fff;
}

#hero3 img {
width: 100%;
}


#hero4 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
}

#hero4 img {
width: 100%;
}


#hero5 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
}

#hero5 img {
width: 100%;
}


#hero6 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
}

#hero6 img {
width: 100%;
}


#hero7 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
}

#hero7 img {
width: 100%;
}


#hero8 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
}

#hero8 img {
width: 100%;
}

#hero9 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
background: #fff;
}

#hero9 img {
width: 100%;
}


#hero13 {
position: relative;
width: 100%;
margin: 100 ;
box-sizing: border-box;
}

#hero13 img {
width: 100%;
}
/* ----------------------------------------------------------------
Intro
----------------------------------------------------------------- */

#intro {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro h3 {
font-size: 1.5rem;
line-height: 2rem;
letter-spacing: 0.05rem;
margin: 0 auto 10px auto;
}

#intro h2 {
font-size: 3rem;
line-height: 4rem;
letter-spacing: 0.05rem;
margin: 0 auto 50px auto;
}

#intro p {
margin: 0 auto 15px auto;
}

#intro .link {
margin: 50px auto 0 auto;
}

#intro1 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro1 p {
margin: 0 auto 15px auto;
}

#intro11 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro11 p {
margin: 0 auto 15px auto;
}

#intro12 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro12 p {
margin: 0 auto 15px auto;
}

#intro2 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro2 p {
margin: 0 auto 15px auto;
}


#intro3 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro3 p {
margin: 0 auto 15px auto;
}


#intro4 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro4 p {
margin: 0 auto 15px auto;
}


#intro5 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro5 p {
margin: 0 auto 15px auto;
}


#intro6 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro6 p {
margin: 0 auto 15px auto;
}

#intro7 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro7 p {
margin: 0 auto 15px auto;
}


#intro8 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro8 p {
margin: 0 auto 15px auto;
}


#intro9 {
width: 100%;
background: #111;
margin: 0 auto;
padding: 90px 0;
}

#intro9 p {
margin: 0 auto 15px auto;
}
/* ----------------------------------------------------------------
Main
----------------------------------------------------------------- */

#main {
width: 100%;
background: #fff
background-size: contain;
margin: 0 auto;
padding: 90px 0 15px 0;
}

#main #wrapper {
width: 90%;
max-width: 1000px;
text-align: left;
margin: 0 auto;
}

p {
font-size: 1.3rem;
line-height: 2.2rem;
}

img {
vertical-align: top;
}

/* ----------------------------------------------------------------
link
----------------------------------------------------------------- */

.link {
margin: 0 auto 75px auto;
}

.link p {
max-width: 500px;
font-style: italic;
font-size: 2rem;
line-height: 2rem;
letter-spacing: 0.05rem;
font-weight: bold;
margin: 0 auto 15px auto;
border: 2px solid #fff;
box-sizing: border-box;
}

.link p a {
position: relative;
display: block;
padding: 20px 0;
}

.link p a:before {
content: '';
position: absolute;
top: 0;
left: 15px;
bottom: 0;
margin: auto;
width: 6px;
height: 6px;
border: 0;
border-top: solid 3px #fff;
border-right: solid 3px #fff;
transform: rotate(45deg);
}

.link p a:link, .link p a:visited {
color: #fff;
background: #111;
text-decoration: none;
}

.link p a:active, .link p a:hover {
color: #fff;
background: #333;
text-decoration: none;
}

/* ----------------------------------------------------------------
title
----------------------------------------------------------------- */

.title {
margin: 0 auto 90px auto;
}

.title h3 {
color: #ffda0e;
font-style: italic;
font-size: 2.3rem;
line-height: 3.2rem;
margin: 0 auto 10px auto;
}

.title h2 {
color: #ffda0e;
font-style: italic;
font-size: 5.6rem;
line-height: 5.6rem;
letter-spacing: 0.05rem;
margin: 0 auto 50px auto;
}

/* ----------------------------------------------------------------
Look
----------------------------------------------------------------- */

article {
position: relative;
width: 100%;
text-align: center;
}

.item {
width: 100%;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
margin: 0 auto 100px auto;
}

.item .photo {
position: relative;
width: 47%;
background: #fff;
padding: 8px;
box-sizing: border-box;
}

.item .photo img {
box-sizing: border-box;
}

.item .text {
position: relative;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-align-items: center;
align-items: center;
width: 47%;
background: #fff;
opacity: 0.9;
text-align: left;
padding: 0 7%;
box-sizing: border-box;
}

.photo img {
width: 100%;
}

/* ----------------------------------------------------------------
Item
----------------------------------------------------------------- */

.item .inner {
width: 100%;
}

.item .text h2 {
text-align: center;
color: #111;
font-size: 1.8rem;
font-weight: bold;
font-style: italic;
margin-bottom: 20px;
}

.item .text p {
color: #111;
font-size: 1.3rem;
line-height: 2.6rem;
}

.item.box p:nth-of-type(2) {
font-size: 1.1rem;
line-height: 1.8rem;
margin-top: 20px;
}

.item .text .check p {
text-align: center;
}

.check {
margin-top: 30px;
}

.check p {
display: block;
width: 100%;
font-style: italic;
font-size: 2rem;
line-height: 2rem;
letter-spacing: 0.05rem;
font-weight: bold;
margin: 0 auto 15px auto;
box-sizing: border-box;
}

.check p a {
position: relative;
display: block;
padding: 12px 0;
}

.check p a:before {
content: '';
position: absolute;
top: 0;
left: 15px;
bottom: 0;
margin: auto;
width: 6px;
height: 6px;
border: 0;
border-top: solid 3px #fff;
border-right: solid 3px #fff;
transform: rotate(45deg);
}

.check p a:link, .check p a:visited {
color: #fff;
background: #111;
text-decoration: none;
}

.check p a:active, .check p a:hover {
color: #fff;
background: #333;
text-decoration: none;
}

.white-line {
  border: none;
  border-top: 1px solid #fff;
  margin: 50px 0; /* 上下の余白 */
}


.fade-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 横2列 */
  width: 100%;
  height: 100vh; /* 全画面表示 */
  overflow: hidden;
  position: relative;
}

.pair {
  grid-column: 1 / -1; /* グリッド全体を覆う */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.pair.active {
  opacity: 1;
  z-index: 1;
}

.pair img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

