@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%;
}

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

#hero2 img {
width: 100%;
}

/* ----------------------------------------------------------------
Intro
----------------------------------------------------------------- */

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

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

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

#intro h2 {
font-style: italic;
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;
}

/* ----------------------------------------------------------------
Main
----------------------------------------------------------------- */

#main {
width: 100%;
background: #000 url("../image/background.jpg") repeat-y;
background-size: contain;
margin: 0 auto;
padding: 90px 0 15px 0;
}

#main2 {
width: 100%;
background: #000 url("../image/background2.jpg") repeat-y;
background-size: contain;
margin: 0 auto;
padding: 90px 0 15px 0;
}

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

.wrapper2 {
  display: flex;
  justify-content: center;
	  margin-top: 10px;/* 横方向の中央揃え */
}


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



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

p2 {
font-size: 1.3rem;
line-height: 1.2rem;
}

img {
vertical-align: top;
}

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

.link {
margin: 0 auto 0px 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.6rem;
line-height: 2.6rem;
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: #111;
padding: 8px;
box-sizing: border-box;
}

.item .photo img {
border: 5px solid #fff;
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: 5px;
}

.item .text h3 {
text-align: center;
color: #111;
font-size: 1.5rem;
font-weight: bold;
font-style: italic;
margin-bottom: 30px;
}

.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;
}

.item .text p2 {
color: #111;
font-size: 1.0rem;
line-height: 0.2rem;
}


.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 常に2列 */
  gap: 20px; /* 列間の余白 */
}

.two-columns div {
  text-align: left;       /* 左揃え */
  color: #000000;         /* 文字色（ここを好きな色に） */
  font-size: 12px; 
line-height: 1.4;      /* 文字サイズ（px, em, remで指定可） */
}


.wrapper {
  display: flex;
  justify-content: center;
	  margin-top: 10px;/* 横方向の中央揃え */
}



.item .text h4 {
text-align: center;
color: #111;
font-size: 1.4rem;
font-weight: bold;
font-style: italic;
margin-bottom: 5px;
}


.link2 {
margin: 0 auto 0px auto;
}

.link2 p {
display: block;
font-style: italic;
font-size: 1.4rem;
line-height: 1.4rem;
letter-spacing: 0.05rem;
font-weight: bold;
margin: 0 auto 15px auto;
border: 2px solid #fff;
box-sizing: border-box;
}

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

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

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

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



