@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');
/*--------hover--------*/
a {
	-webkit-transition: all 0.7s;
	-moz-transition: all 0.7s;
	-ms-transition: all 0.7s;
	-o-transition: all 0.7s;
	transition: all 0.7s;
	opacity: 1;
	color: #221815;
	text-decoration: none;
}
a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}
/*--------flexBox--------*/
.flexBox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
/*/ LP /////////////////////////////////////////////////////*/
body {
	margin: 0;
	padding: 0;
	color: #000;
	font-family: 'Roboto', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 10px;
	line-height: 1.7;
	letter-spacing: 1.4pt;
	word-break: break-all;
	font-feature-settings: "palt";
}
img {
	width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
/* ------------------------------------------------------------

	PC	
============================================================ */
article {
	overflow: hidden;
}
section {
	position: relative;
	height: 100vh;
	margin-bottom: 10%;
}
h1 {
	width: 10%;
	position: absolute;
	top: 50%;
	left: 25%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
h2 {
	font-size: 26px;
	font-weight: 700;
}
em {
	font-size: 18px;
	font-weight: 700;
	vertical-align: sub;
}
.link,
.text {
	z-index: 999;
}
.link em {
	font-size: 12px;
}
.link a span {
	color: #fff;
	padding: 2px 10px;
	background: #000;
	text-shadow: none;
}
#main p.image {
	width: 32.5%;
	position: absolute;
	top: 50%;
	right: 15%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p01 p.image,
#p15 p.image {
	width: 80%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p01 p.text {
	position: absolute;
	bottom: 5%;
	left: 5%;
	text-shadow: 1px 1px 2px #fff, -1px 1px 2px #fff, 1px -1px 2px #fff, -1px -1px 2px #fff;
}
#p02 > p.image,
#p14 > p.image {
	width: 35%;
	position: absolute;
	top: 50%;
	left: 12.5%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p02 div {
	width: 25%;
	position: absolute;
	top: 50%;
	right: 12.5%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p02 div p.image,
#p14 div p.image {
	width: 45%;
	margin: 2.5%;
}
#p02 p.link {
	position: absolute;
	bottom: 5%;
	right: 6%;
}
#p03 p.image:nth-child(1),
#p09 p.image:nth-child(1) {
	width: 27.5%;
	position: absolute;
	top: 50%;
	left: 15%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p03 p.image:nth-child(2),
#p09 p.image:nth-child(2) {
	width: 35%;
	position: absolute;
	top: 50%;
	right: 10%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p03 p.link {
	position: absolute;
	bottom: 5%;
	left: 11%;
}
#p04 {
	margin: 15% 0;
}
#p04 p.image:nth-child(1),
#p07 p.image:nth-child(1) {
	width: 35%;
	position: absolute;
	left: 7.5%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p04 p.image:nth-child(2),
#p07 p.image:nth-child(2) {
	width: 35%;
	position: absolute;
	right: 7.5%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p04 p.link {
	position: absolute;
	bottom: 0%;
	right: 10%;
}
#p05 {
	background: url(../images/image12.jpg) center center;
	background-size: cover;
	background-attachment: fixed;
}
#p05 p.link {
	position: absolute;
	bottom: 5%;
	left: 5%;
	text-shadow: 1px 1px 2px #999, -1px 1px 2px #999, 1px -1px 2px #999, -1px -1px 2px #999;
}
#p05 p.link a {
	color: #fff;
}
#p06 div {
	width: 90%;
	position: absolute;
	top: 50%;
	left: 5%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p06 div p.image {
	width: 22.5%;
}
#p06 p.link {
	position: absolute;
	bottom: 15%;
	right: 5%;
}
#p07 {
	margin: 0 0 15%;
}
#p07 p.link {
	position: absolute;
	bottom: -5%;
	right: 10%;
}
#p08 p.image,
#p13 p.image,
#p22 p.image {
	width: 80%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p08 p.link {
	position: absolute;
	bottom: 5%;
	right: 5%;
}
#p09 p.link {
	position: absolute;
	bottom: 5%;
	left: 15%;
}
#p10 p.image {
	width: 30%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	text-align: center;
}
#p10 p.image img {
	margin-bottom: 50px;
}
#p11 {
	background: url(../images/image23.jpg) center center;
	background-size: cover;
	background-attachment: fixed;
}
#p11 div {
	position: absolute;
	top: 50%;
	left: 6.5%;
	-webkit-transform: translate(0%, -50%); /* Safari用 */
	transform: translate(0%, -50%);
	text-align: center;
}
#p11 div h2 {
	margin-bottom: 20px;
}
#p12 p.image:nth-child(1) {
	width: 35%;
	position: absolute;
	top: 50%;
	left: 7.5%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p12 p.image:nth-child(2) {
	width: 35%;
	position: absolute;
	top: 50%;
	right: 7.5%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p12 p.text {
	width: 20%;
	position: absolute;
	bottom: -2.5%;
	left: 5%;
}
#p12 div.box01 {
	width: 27.5%;
	position: absolute;
	top: -2.5%;
	left: 20%;
}
#p12 div.box01 p {
	width: 47.5%;
}
#p12 p.box02 {
	position: absolute;
	top: -2.5%;
	right: 5%;
}
#p13 div.link {
	position: absolute;
	bottom: 0%;
	right: 5%;
}
#p13 div.link p {
	margin-top: 40px;
}
#p14 div {
	width: 30%;
	position: absolute;
	top: 6.5%;
	right: 12.5%;
}
#p14 p.text {
	width: 20%;
	position: absolute;
	top: 70%;
	right: 27.5%;
}
#p14 p.link {
	position: absolute;
	top: 70%;
	right: 7.5%;
}
#p15 p.text {
	width: 25%;
	position: absolute;
	top: 81%;
	left: 5%;
}
#p15 p.link {
	position: absolute;
	top: 81%;
	left: 35%;
}
#p16 {
	background: url(../images/image33.jpg) center center;
	background-size: cover;
	background-attachment: fixed;
}
#p16 > p.image {
	left: 6%;
}
#p16 p.text {
	width: 35%;
	position: absolute;
	top: 5%;
	right: 2.5%;
}
#p16 div.link {
	width: 28%;
	position: absolute;
	bottom: 5%;
	left: 2.5%;
}
#p16 div.link p {
	margin-top: 40px;
}
#p17 div.flexBox > div.flexBox {
	width: 45%;
	margin: 0 2.5%;
}
#p17 div.flexBox > div.box01 {
	width: 60%;
	margin: 2.5%;
}
#p17 div.flexBox > div .link {
	width: 30%;
}
#p17 div.flexBox > div .link p {
	margin-bottom: 40px;
}
#p17 div.flexBox > div .box01 p {
	width: 45%;
	margin: 2.5%;
}
#p18 {
	background: #001827;
	color: #fff;
}
#p18 div {
	width: 140px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	text-align: center;
}
#p18 div p {
	margin-bottom: 20px;
}
#p19 > p.image {
	width: 30%;
	position: absolute;
	top: 10%;
	left: 14%;
}
#p19 p.text {
	width: 20%;
	position: absolute;
	top: 69%;
	left: 3%;
}
#p19 div.link {
	width: 27.5%;
	position: absolute;
	top: 69%;
	left: 28%;
}
#p19 div {
	width: 15%;
	position: absolute;
	top: 10%;
	right: 15%;
}
#p19 div.box01 {
	position: absolute;
	top: 50%;
	right: 3%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p19 div.box01 p {
	margin: 20px 0;
}
#p19 div.box02 {
	position: absolute;
	top: 50%;
	left: 67%;
	-webkit-transform: translate(0, -50%); /* Safari用 */
	transform: translate(0, -50%);
}
#p19 div.box02 p {
	margin: 40px 0;
}
#p20 {
	margin-bottom: 20%;
}
#p20 div.flexBox {
	width: 90%;
	margin: 0 auto;
}
#p20 div.flexBox > div {
	width: 45%;
	margin: 2.5%;
	position: relative;
}
#p20 div.flexBox > div p.image {
	width: 60%;
}
#p20 div.flexBox > div p.link {
	position: absolute;
	bottom: 0;
	left: 65%;
}
#p21 {
	margin-bottom: 30%;
}
#p21 p.text {
	width: 90%;
	position: absolute;
	top: -7.5%;
	left: 5%;
}
#p21 > div.flexBox {
	width: 90%;
	margin: 0 auto;
}
#p21 > div.flexBox > div {
	width: 45%;
	margin: 2.5%;
}
#p21 > div.flexBox > div p.image {
	margin: 2.5%;
	width: 100%;
}
#p21 > div.flexBox > div p {
	margin: 2.5%;
	width: 45%;
}
#p22 div.box01 {
	width: 22.5%;
	position: absolute;
	bottom: -5%;
	left: 5%;
}
#p22 div.box02 {
	position: absolute;
	bottom: -5%;
	right: 5%;
}
#p22 div.box02 p {
	margin-top: 40px;	
}
#p23 {
	margin-bottom: 35%;
}
#p23 > div.flexBox {
	width: 80%;
	margin: 0 auto;
}
#p23 > div.flexBox > div {
	width: 40%;
	margin: 2.5%;
}
#p23 > div.flexBox > div p.image,
#p23 > div.flexBox > div p.text{
	margin-bottom: 40px;
}
#p24 {
  position:relative;
  width: 70%;
  margin: 0 auto;
}
#p24 iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 80%;
}


footer {
	padding: 30px 0;
	font-size: 12px;
	text-align: center;
	border-top: 1px solid #ccc;
}
/*--------ボタン--------*/
.btn {
	max-width: 400px;
	position: absolute;
	bottom: 130px;
	left: 50%;
	-webkit-transform: translate(-50%, 0); /* Safari用 */
	transform: translate(-50%, 0);
}


@media screen and (max-width : 640px) {
section {
    margin-bottom: 0;
}
h1 {
	width: 25%;
    top: 7.5%;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}
#main p.image {
    width: 75%;
    top: 32.5%;
    right: 12.5%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p01 p.image,
#p15 p.image {
    width: 90%;
    top: 10%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p01 p.text {
	width: 90%;
	bottom: 10%;
}
#p02 > p.image,
#p14 > p.image {
    width: 70%;
    top: 0;
    left: 0;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p02 div {
    width: 47.5%;
    top: 60%;
    right: 2.5%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p02 p.link {
	width: 42.5%;
    bottom: 2.5%;
    right: 53%;
}
#p03 p.image:nth-child(1),
#p09 p.image:nth-child(1) {
    width: 42.5%;
    top: 45%;
    left: 0;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p03 p.image:nth-child(2),
#p09 p.image:nth-child(2) {
    width: 52.5%;
    top: 10%;
    right: 2.5%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p03 p.link {
	width: 90%;
    bottom: 10%;
    left: 5%;
}
#p04 {
	margin: 0;
}
#p04 p.image:nth-child(1),
#p07 p.image:nth-child(1) {
    width: 55%;
    left: 2.5%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p04 p.image:nth-child(2),
#p07 p.image:nth-child(2) {
    width: 55%;
    right: 2.5%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p04 p.link,
#p07 p.link {
	width: 37.5%;
    bottom: 2.5%;
    right: 2.5%;
}
#p05 {
    background: url(../images/image12.jpg) center right 20%;
    background-size: cover;
    height: 450px;
	margin: 15% 0;
}
#p05 p.link {
	text-shadow: none;
}
#p06 div {
	top: 40%;
}
#p06 div p.image {
    width: 45%;
	margin: 2.5%;
}
#p06 p.link {
	width: 90%;
    bottom: 15%;
    right: 5%;
}
#p07 {
	margin: 0;
}
#p08 {
	height: 400px;
}
#p08 p.image,
#p13 p.image,
#p22 p.image {
    width: 90%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p08 p.image {
	top: 20%;
}
#p08 p.link {
	width: 90%;
    bottom: 5%;
    right: 5%;
}
#p09 p.link {
	width: 90%;
    bottom: 10%;
    left: 5%;
}
#p10 p.image {
    width: 65%;
    top: 2.5%;
    left: 17.5%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}
#p10 p.image img {
    margin-bottom: 20px;
}
#p11 {
    background: url(../images/image23.jpg) center right 10%;
    background-size: cover;
}
#p11 div {
	width: 90%;
    left: 5%;
	text-shadow: 1px 1px 2px #fff, -1px 1px 2px #fff, 1px -1px 2px #fff, -1px -1px 2px #fff;
}
#p12 {
	margin-bottom: 15%;
}
#p12 p.image:nth-child(1) {
    width: 47.5%;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}
#p12 p.image:nth-child(2) {
    width: 47.5%;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}
#p12 p.text {
    width: 50%;
    bottom: -4%;
    left: 5%;
}
#p12 div.box01 {
    width: 90%;
    top: 5%;
    left: 5%;
}
#p12 p.box02 {
    top: 72.5%;
    right: 5%;
}
#p13 p.image {
    top: 5%;
}
#p13 div.link {
	width: 90%;
    bottom: 5%;
    right: 5%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
#p14 > p.image {
    top: 5%;
}
#p14 div {
    width: 25%;
    top: 5%;
    right: 2.5%;
}
#p14 div p.image {
    width: 100%;
    margin: 5%;
}
#p14 p.text {
    width: 47.5%;
    top: 65%;
    right: 47.5%;
}
#p14 p.link {
	width: 35%;
    top: 65%;
    right: 5%;
}
#p15 p.text {
    width: 90%;
    top: 41%;
    left: 5%;
}
#p15 p.link {
    top: 70%;
    left: 5%;
}
#p16 {
	background: url(../images/image33.jpg) center center;
	background-size: cover;
}
#p16 p.text {
    width: 90%;
    top: 2.5%;
    right: 5%;
}
#p16 div.link {
    width: 90%;
    bottom: 5%;
    left: 5%;
}
#p17 {
	padding: 10% 0 0;
	height: auto;
}
#p17 div.link.box01 {
	width: 90%;
    bottom: 0;
    left: 5%;
}
#p17 div.flexBox > div.flexBox {
    width: 90%;
    margin: 0 5% 5%;
}
#p17 div.flexBox > div .link {
	width: 90%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
}
#p17 div.flexBox > div .link p {
	margin-bottom: 30px;
}
#p17 div.flexBox > div.box01 {
    width: 100%;
	margin: 0;
}
#p17 div.flexBox > div .box01 p {
    width: 32.5%;
    margin: 0 0 2.5%;
}
#p19 {
	margin-bottom: 95%;
}
#p19 > p.image {
    width: 70%;
    top: 27.5%;
    left: 15%;
}
#p19 p.text {
    width: 90%;
    top: 5%;
    left: 5%;
}
#p19 div.link {
    width: 90%;
    top: 60%;
    left: 5%;
}
#p19 div.box01 {
	width: 90%;
    top: 85%;
    right: 5%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
#p19 div.box01 p,
#p19 div.box02 p {
	width: 30%;
	margin: 0;
}
#p19 div.box02 {
	width: 90%;
    top: 102.5%;
    left: 5%;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: space-between;
}
#p20 {
	height: auto;
}
#p20 div.flexBox > div {
    width: 100%;
    margin: 2.5%;
    position: relative;
}
#p20 div.flexBox > div p.image {
    width: 50%;
}
#p20 div.flexBox > div p.link {
    left: 55%;
}
#p21 {
	height: auto;
	margin-bottom: 10%;
}
#p21 p.text {
    top: -10%;
}
#p21 > div.flexBox {
    width: 90%;
    margin: 60% auto 0;
}
#p21 > div.flexBox > div {
    width: 100%;
    margin: 2.5%;
}
#p21 > div.flexBox > div p.image {
	margin: 0 0 10px;
}
#p22 {
	margin-bottom: 30%;
}
#p22 p.image {
    top: 7.5%;
}
#p22 div.box01 {
    width: 47.5%;
    bottom: 0;
    left: 5%;
}
#p22 div.box01 p {
    margin-top: 40px;
}
#p22 div.box02 {
    width: 47.5%;
    bottom: 0;
    right: 5%;
}
#p23 {
	height: auto;
	margin-bottom: 15%;
}
#p23 > div.flexBox {
    width: 90%;
    margin: 0 auto;
}
#p23 > div.flexBox > div {
    width: 100%;
    margin: 0 0 60px;
}
#p23 > div.flexBox > div p.image {
	width: 60%;
	margin: 0 auto 40px;
}
#p24 {
	width: 90%;
	height: 280px;
}
.flex-container {
  -webkit-flex-direction: column-reverse; /* Safari */
  flex-direction:         column-reverse;
}
}
