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

.pc { display: none; }

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

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

#hero img {
width: 100%;
}

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

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

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

#intro h2 {
width: 94%;
font-style: italic;
font-size: 1.6rem;
line-height: 2.2rem;
letter-spacing: 0.05rem;
margin: 0 auto 30px auto;
}

#intro p {
text-align: left;
width: 90%;
margin: 0 auto;
margin: 0 auto 10px auto;
}

#intro p br {
display: none;
}

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

#intro .link p {
text-align: center;
}

#intro2 .link {
margin: 30px auto 0 auto;
}

#intro2 .link p {
text-align: center;
}
/* ----------------------------------------------------------------
Main
----------------------------------------------------------------- */

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

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

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

img {
vertical-align: top;
}

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

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

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

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

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

.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 60px auto;
}

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

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

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

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

.item {
width: 100%;
margin: 0 auto 80px auto;
}

.item.box {
width: 100%;
margin: 0 auto 60px auto;
}

.item .photo {
position: relative;
width: 100%;
background: #111;
padding: 8px;
box-sizing: border-box;
margin: 0 auto 30px auto;
}

.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: 100%;
background: #fff;
opacity: 0.9;
text-align: left;
padding: 25px;
box-sizing: border-box;
}

.photo img {
width: 100%;
}

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

.item .inner {
width: 100%;
}

.item .text h2 {
text-align: center;
color: #111;
font-size: 1.6rem;
font-weight: bold;
font-style: italic;
padding: 10px 0 20px 0;
}

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

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

.check {
margin-top: 20px;
}

.check p {
text-align: center;
display: block;
width: 100%;
font-style: italic;
font-size: 2rem;
line-height: 2rem;
letter-spacing: 0.05rem;
font-weight: bold;
margin: 0 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: 10px;
bottom: 0;
margin: auto;
width: 5px;
height: 5px;
border: 0;
border-top: solid 2px #fff;
border-right: solid 2px #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;
}




.wrapper {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 常に2列 */
  gap: 20px;
  max-width: 800px;
}

.two-columns > div {
  text-align: left;
  color: #333;
  font-size: 12px;
  line-height: 1.4;
	
}

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

#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;/* 横方向の中央揃え */
}

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

#hero2 img {
width: 100%;
}

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


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

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

#intro2 h3 {
width: 94%;
font-style: italic;
font-size: 1.3rem;
line-height: 2rem;
letter-spacing: 0.05rem;
margin: 0 auto 10px auto;
}

#intro2 h2 {
width: 94%;
font-style: italic;
font-size: 1.6rem;
line-height: 2.2rem;
letter-spacing: 0.05rem;
margin: 0 auto 30px auto;
}

#intro2 p {
text-align: left;
width: 90%;
margin: 0 auto;
margin: 0 auto 10px auto;
}

#intro2 p br {
display: none;
}

