@charset "utf-8";

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 Body
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
body {
	overflow: hidden;
	font-size: 100%;
	word-wrap: break-word;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: none;
}
a {
	color: #000;
	text-decoration: none;
}
a:hover {
	color: #06C;
	text-decoration: none;
	opacity: 1;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
}
.sp, .nobr {
	display: none!important;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 Common
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
main {
	width: 100%;
	display: block;
}
.home {
	background: #fcfbf0;
}

/*-- メインビジュアル --*/
nav {
	position: absolute;
	width: 35%;
	top: 60px;
	right: 0;
	display: block;
	z-index: 10000;
}
nav ul.menu {
	width: 100%;
	clear: both;
}
nav ul.menu li {
	width: 100%;
	display: block;
}
nav ul.menu li+li {
	margin-top: 10px;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 メインビジュアル
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.mainVisual {
	position: relative;
	width: 100vw;
	height: 100vh;
	display: block;
}
.mainVisual img.mainImg {
	width: 100vw;
	height: 100vh;
	display: block;
	object-fit: cover;
	object-position: 50% 50%;
}
.mainVisual img.logoOHO {
	position: absolute;
	width: 15%;
	top: 10px;
	left: 10px;
}
.mainVisual h1 {
	position: absolute;
	top: 15px;
	right: 110px;
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: right;
}
.mainVisual img.mainCopy {
	position: absolute;
	width: 40%;
	top: 7%;
	left: calc(50% - 30%);
}
.mainVisual img.coming_soon {
	position: absolute;
	width: 50%;
	top: 10%;
	left: calc(50% - 25%);
}
.mainVisual a.btnInsta,
.mainVisual a.btnTwitter {
	position: absolute;
    width: 30px;
    height: 30px;
	top: 10px;
	display: block;
}
.mainVisual a.btnInsta {
	right: 24px;
}
.mainVisual a.btnTwitter {
	right: 64px;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 ワークショップ
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.minna {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: stretch;
		align-items: center;
		flex-wrap: wrap;
	padding: 20px 0 80px;
	box-sizing: border-box;
}
.minna .block {
	width: 90%;
	display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
    margin: 0 auto;
    padding: 40px 0;
	box-sizing: border-box;
}
.minna img.title {
	width: 60%;
	display: block;
    margin: 0 auto;
}
.minna .minnaRead {
	width: 100%;
	display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
    padding: 40px 0;
	font-size: 1.6em;
	font-weight: bold;
	line-height: 1.6em;
	text-align: center;
}
.minna .minnaPhoto {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: flex-start;
		/*flex-wrap: wrap;*/
	box-sizing: border-box;
}
.minna .minnaPhoto img {
	width: 100%;
    display: block;
}
.minna .minnaInfo {
	width: 90%;
	display: flex;
		justify-content: center;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
    margin: 0 auto;
    padding: 10px 0;
    border-top: solid 5px #b68def;
    border-bottom: solid 5px #b68def;
	box-sizing: border-box;
}
.minna .minnaInfo div {
	width: 100%;
    display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	box-sizing: border-box;
}
.minna .minnaInfo div dl {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: flex-start;
		align-items: flex-start;
    padding: 10px 0;
}
.minna .minnaInfo div dl dt {
	width: 20%;
    max-width: 100px;
    height: 30px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1em;
	text-align: center;
    color: #fff;
    background: #b68def;
}
.minna .minnaInfo div dl dd {
	width: 80%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
        flex-wrap: wrap;
    padding: 0 10px;
	font-size: 1.6em;
	font-weight: bold;
	line-height: 1.6em;
    box-sizing: border-box;
}
.minna .minnaInfo div dl dd span {
	display: inline-block;
	font-size: 0.8em;
	font-weight: normal;
}
.minna .minnaInfo div dl dd a.btnMap {
	width: 100px;
    height: 28px;
	display: inline-block;
    margin-left: 10px;
	font-size: 0.6em;
	font-weight: normal;
	line-height: 28px;
    text-align: center;
    color: #fff;
    background: #333;
}
.minna .minnaInfo div dl dd a.btnMap:hover {
	transition: all 200ms;
    opacity: 0.7;
}
.minna img.landscape,
.movie img.landscape {
	position: absolute;
	width: 100%;
	bottom: 0;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 ムービー
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.movie {
	position: relative;
	width: 100%;
	display: flex;
		justify-content: flex-end;
		align-content: stretch;
		align-items: center;
		flex-wrap: wrap;
	padding: 40px 0 80px;
	box-sizing: border-box;
}
.movie .block {
	width: 100%;
	display: block;
	margin: 0 auto 0;
}
.movie .block h2 {
	width: 100%;
	display: block;
	margin: 0 auto 20px;
}
.movie .block h2 img {
	height: 40px;
	display: block;
	margin: 0 auto;
}
.movie .block h2 img.h80 {
	height: 70px;
	display: block;
	margin: 0 auto;
}
.movie .block p {
	width: 100%;
	display: block;
    margin: 20px 0;
	font-size: 1.8em;
	font-weight: bold;
	line-height: 1.4em;
	text-align: center;
}
.movie .youtube {
	position: relative;
	width: 80%;
	height: 0px;
	margin: 0 auto;
	padding-bottom: 45%;
}
.movie .youtube iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.movie .coming_soon {
	position: relative;
	width: 480px;
	height: 270px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 0 auto;
	font-size: 2em;
	line-height: 1em;
	color: #FFF;
	border: solid 1px #FFF;
	box-sizing: border-box;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 ピックアッププロジェクト
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.pickup {
	width: 100%;
	clear: both;
	padding: 40px 0;
	box-sizing: border-box;
}
.pickup h2 {
	width: 100%;
	display: block;
	align-self: flex-start;
	margin: 0 auto 20px;
}
.pickup h2 img {
	height: 30px;
	display: block;
	margin: 0 auto;
}
.pickup section {
	position: relative;
	width: 90%;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin: 0 auto;
}
.pickup section .pickupMap {
	position: relative;
	width: 620px;
	height: 640px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
	margin: 0 auto 60px;
	/*background: url("../images/map_bg.png") no-repeat center center;
	background-size: 620px 640px;*/
}
.pickup section .pickupMap area:focus {
	outline: none;
}
.pickup section .pickupMap_sp {
	display: none;
}
.pickup section .pickupMap area.pos_osaka:hover {
	position: absolute;
	width: 151px;
	height: 219px;
	top: calc(50% - 19.4%);
	left: calc(50% - 19.1%);
	display: block;
	z-index: 2000;
	background: url("../images/map_osaka.png") no-repeat center center;
	background-size: contain;
}
.pickup section .pickupMap area.pos_hyogo:hover {
	position: absolute;
	width: 277px;
	height: 471px;
	top: calc(50% - 50.2%);
	left: calc(50% - 48.7%);
	display: block;
	background: url("../images/map_hyogo.png") no-repeat center center;
	background-size: contain;
}
.pickup section .pickupMap area.pos_kyoto:hover {
	position: absolute;
	width: 268px;
	height: 298px;
	top: calc(50% - 49.7%);
	left: calc(50% - 25.9%);
	display: block;
	z-index: 1000;
	background: url("../images/map_kyoto.png") no-repeat center center;
	background-size: contain;
}
.pickup section .pickupMap area.pos_shiga:hover {
	position: absolute;
	width: 154px;
	height: 244px;
	top: calc(50% - 45.2%);
	left: calc(50% + 5.35%);
	display: block;
	background: url("../images/map_shiga.png") no-repeat center center;
	background-size: contain;
}
.pickup section .pickupMap area.pos_nara:hover {
	position: absolute;
	width: 154px;
	height: 244px;
	top: calc(50% - 5.7%);
	left: calc(50% - 2.5%);
	display: block;
	background: url("../images/map_nara.png") no-repeat center center;
	background-size: contain;
}
.pickup section .areaMap {
	position: relative;
	width: 100%;
	max-width: 1000px;
	display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	margin: 0 auto;
}
.pickup section .areaMap .areaTitle {
	width: 120px;
	height: 120px;
	display: block;
	object-fit: contain;
	object-position: 50% 50%;
	font-family: 'object-fit: contain; object-position: 50% 50%;';
}
.pickup section .osaka {
	width: 100%;
	height: 740px;
	background: url("../images/osaka_map.png") no-repeat center center;
	background-size: 466px 681px;
}
.pickup section .hyogo {
	width: 100%;
	height: 700px;
	background: url("../images/hyogo_map.png") no-repeat center center;
	background-size: 444px 659px;
}
.pickup section .kyoto {
	width: 100%;
	height: 560px;
	background: url("../images/kyoto_map.png") no-repeat center center;
	background-size: 423px 471px;
}
.pickup section .shiga {
	width: 100%;
	height: 560px;
	background: url("../images/shiga_map.png") no-repeat center center;
	background-size: 320px 509px;
}
.pickup section .nara {
	width: 100%;
	height: 560px;
	background: url("../images/nara_map.png") no-repeat center center;
	background-size: 306px 485px;
}
.pickup section .areaMap a {
	position: absolute;
	width: 40px;
	height: 40px;
	display: flex;
		justify-content: center;
		align-content: center;
		align-items: center;
    overflow: visible;
    font: bold 2em/1em Arial, Helvetica, "sans-serif";
    color: #000;
    border-radius: 20px;
    background: #feee2e;
    filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.2));
	transition: all 100ms;
}
.pickup section .areaMap a:hover {
	z-index: 10000;
    color: #000;
    background: #fff;
	transition: all 100ms;
}
.pickup section .areaMap a .NN,
.pickup section .areaMap a .NE,
.pickup section .areaMap a .EE,
.pickup section .areaMap a .ES,
.pickup section .areaMap a .SS,
.pickup section .areaMap a .SW,
.pickup section .areaMap a .WW,
.pickup section .areaMap a .WN {
  position: absolute;
  width: 10px;
  height: calc(40px / 2);
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  background: #feee2e;
}
.pickup section .areaMap a:hover .NN,
.pickup section .areaMap a:hover .NE,
.pickup section .areaMap a:hover .EE,
.pickup section .areaMap a:hover .ES,
.pickup section .areaMap a:hover .SS,
.pickup section .areaMap a:hover .SW,
.pickup section .areaMap a:hover .WW,
.pickup section .areaMap a:hover .WN {
  background: #fff;
  transition: all 100ms;
}
.pickup section .areaMap a .NN {
  top: -15px;
  left: calc(50% - 5px);
}
.pickup section .areaMap a .NE {
  top: -7px;
  right: calc(-3px);
  transform: rotate(45deg);
}
.pickup section .areaMap a .EE {
  top: calc(50% - 10px);
  right: calc(-10px);
  transform: rotate(90deg);
}
.pickup section .areaMap a .ES {
  bottom: -7px;
  right: calc(-3px);
  transform: rotate(135deg);
}
.pickup section .areaMap a .SS {
  bottom: -15px;
  left: calc(50% - 5px);
  transform: rotate(180deg);
}
.pickup section .areaMap a .SW {
  bottom: -7px;
  left: calc(-3px);
  transform: rotate(225deg);
}
.pickup section .areaMap a .WW {
  top: calc(50% - 10px);
  left: calc(-10px);
  transform: rotate(270deg);
}
.pickup section .areaMap a .WN {
  top: -7px;
  left: calc(-3px);
  transform: rotate(315deg);
}

/*大阪地図*/
.pickup section .areaMap a.osaka_p1 {
	top: calc(50% - 145px);
	left: calc(50% + 76px);
}
.pickup section .areaMap a.osaka_p2 {
	top: calc(50% - 98px);
	left: calc(50% + 45px);
}
.pickup section .areaMap a.osaka_p3 {
	top: calc(50% - 19px);
	left: calc(50% + 131px);
}
.pickup section .areaMap a.osaka_p4 {
	top: calc(50% + 65px);
	left: calc(50% + 38px);
}
.pickup section .areaMap a.osaka_p5 {
	top: calc(50% + 28px);
	left: calc(50% + 140px);
}
.pickup section .areaMap a.osaka_p6 {
	top: calc(50% + 117px);
	left: calc(50% + 63px);
}
.pickup section .areaMap a.osaka_p7 {
	top: calc(50% + 18px);
	left: calc(50% + 85px);
}
.pickup section .areaMap a.osaka_p8 {
	top: calc(50% + 103px);
	left: calc(50% - 28px);
}
.pickup section .areaMap a.osaka_p9 {
	top: calc(50% - 64px);
	left: calc(50% + 143px);
}
.pickup section .areaMap a.osaka_p10 {
	top: calc(50% + 93px);
	left: calc(50% + 163px);
}
.pickup section .areaMap a.osaka_p11 {
	top: calc(50% - 122px);
	left: calc(50% + 146px);
}
.pickup section .areaMap a.osaka_p12 {
	top: calc(50% - 57px);
	left: calc(50% - 25px);
}
.pickup section .areaMap a.osaka_p13 {
	top: calc(50% + 25px);
	left: calc(50% + 12px);
}
.pickup section .areaMap a.osaka_p14 {
	top: calc(50% - 64px);
	left: calc(50% + 18px);
}
.pickup section .areaMap a.osaka_p15 {
	top: calc(50% + 165px);
	left: calc(50% + 10px);
}
.pickup section .areaMap a.osaka_p16 {
	top: calc(50% - 0px);
	left: calc(50% - 25px);
}
.pickup section .areaMap a.osaka_p17 {
	top: calc(50% - 50px);
	left: calc(50% + 70px);
}

/*兵庫地図*/
.pickup section .areaMap a.hyogo_p1 {
	top: calc(50% + 28px);
	left: calc(50% + 133px);
}
.pickup section .areaMap a.hyogo_p2 {
	top: calc(50% + 123px);
	left: calc(50% + 7px);
}
.pickup section .areaMap a.hyogo_p3 {
	top: calc(50% + 88px);
	left: calc(50% - 60px);
}
.pickup section .areaMap a.hyogo_p4 {
	top: calc(50% - 12px);
	left: calc(50% - 6px);
}
.pickup section .areaMap a.hyogo_p5 {
	top: calc(50% + 175px);
	left: calc(50% - 46px);
}
.pickup section .areaMap a.hyogo_p6 {
	top: calc(50% + 78px);
	left: calc(50% + 94px);
}
.pickup section .areaMap a.hyogo_p7 {
	top: calc(50% + 44px);
	left: calc(50% + 47px);
}
.pickup section .areaMap a.hyogo_p8 {
	top: calc(50% + 138px);
	left: calc(50% + 68px);
}
.pickup section .areaMap a.hyogo_p9 {
	top: calc(50% + 263px);
	left: calc(50% - 24px);
}
.pickup section .areaMap a.hyogo_p10 {
	top: calc(50% + 46px);
	left: calc(50% + 186px);
}
.pickup section .areaMap a.hyogo_p11 {
	top: calc(50% + 105px);
	left: calc(50% + 145px);
}
.pickup section .areaMap a.hyogo_p12 {
	top: calc(50% + 5px);
	left: calc(50% - 65px);
}

/*京都地図*/
.pickup section .areaMap a.kyoto_p1 {
	top: calc(50% + 40px);
	left: calc(50% + 92px);
}
.pickup section .areaMap a.kyoto_p2 {
	top: calc(50% - 40px);
	left: calc(50% - 40px);
}

/*滋賀地図*/
.pickup section .areaMap a.shiga_p1 {
	top: calc(50% + 36px);
	left: calc(50% - 56px);
}

/*奈良地図*/
.pickup section .areaMap a.nara_p1 {
	top: calc(50% - 216px);
	left: calc(50% - 45px);
}

.pickup section ul.proList {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	margin: 0 auto 80px;
}
.pickup section .center {
	justify-content: center !important;
}
.pickup section ul.proList li {
	width: 30%;
	max-width: 320px;
	display: block;
	margin: 10px 1%;
	background: #FFF;
}
.pickup section ul.proList li img {
	background: #feee2e;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
 プロジェクト（詳細）
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#project .slideBlock {
	position: relative;
	width: 100%;
	clear: both;
	padding-bottom: 120px;
}
#project ul.slide {
	width: 100%;
	height: 42vh;
	clear: both;
}
#project ul.slide li.cover,
#project ul.slide li.contain {
	position: relative;
	width: 100%;
	height: 42vh;
	overflow: visible;
	margin-bottom: 120px;
	background-repeat: no-repeat;
	background-position: center;
	background-color: #222;
}
#project ul.slide li.cover {
	background-size: cover;
}
#project ul.slide li.contain {
	background-size: contain;
}
#project ul.slide li.cover .caption,
#project ul.slide li.contain .caption {
	position: absolute;
	width: 90%;
	height: 120px;
	bottom: -120px;
	right: calc(50% - 45%);
	display: flex;
		justify-content: flex-end;
		align-content: stretch;
		align-items: flex-start;
		flex-wrap: wrap;
	z-index: 20000;
	padding: 10px 0;
	box-sizing: border-box;
}
#project ul.slide li.cover .caption p,
#project ul.slide li.contain .caption p {
	width: 100%;
	display: block;
	font-size: 1.1em;
	line-height: 1.6em;
}
#project ul.slide li.cover .caption p span.bigger,
#project ul.slide li.contain .caption p span.bigger {
	display: inline-block;
	margin: 0 5px;
	font-size: 1.4em;
	line-height: 1em;
}
#project ul.slide li.cover .caption span,
#project ul.slide li.contain .caption span {
	display: block;
	align-self: flex-end;
	margin-top: 10px;
	font-size: 0.9em;
	line-height: 1em;
}
#project .slideBlock .down {
	display: none;
}

/* Arrows */
.slick-prev,
.slick-next {
	position: absolute;
	width: 40px;
	height: 40px;
	top: 50%;
		-webkit-transform: translate(0, -50%);
		-ms-transform: translate(0, -50%);
		transform: translate(0, -50%);
	display: block;
	z-index: 10000;
	padding: 0;
	font-size: 0px;
	line-height: 0px;
	color: transparent;
	cursor: pointer;
	border: none;
	outline: none;
	background: transparent;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	outline: none;
	color: transparent;
	background: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
	opacity: 1; }
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
	opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
	font-family: "slick";
	font-size: 40px;
	line-height: 1;
	color: #CCC;
	opacity: 0.75;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}
.slick-prev {
	left: 10px;
}
[dir="rtl"] .slick-prev {
	left: auto;
	right: 10px;
}
.slick-prev:before {
	content: "←";
}
[dir="rtl"] .slick-prev:before {
	content: "→";
}
.slick-next {
	right: 10px;
}
[dir="rtl"] .slick-next {
	left: 10px;
	right: auto;
}
.slick-next:before {
	content: "→";
}
[dir="rtl"] .slick-next:before {
	content: "←";
}

/* Dots */
#project .slick-dotted.slick-slider {
	margin: 0;
}
#project .slick-dots {
	position: absolute;
	width: 100%;
	height: 5px;
	bottom: 20px;
	left: 0;
	display: block;
	margin: 0;
	text-align: center;
	list-style: none;
}
#project .slick-dots li {
	position: relative;
	width: 50px;
	height: 3px;
	display: inline-block;
	margin: 0 2px;
	padding: 0;
	cursor: pointer;
}
#project .slick-dots li button {
    width: 50px;
	height: 3px;
	display: block;
	font-size: 0;
    line-height: 0;
    cursor: pointer;
    border: 0;
    outline: none;
	background: #EEE;
	opacity: 1;
}
#project .slick-dots li button:hover,
#project .slick-dots li button:focus {
    outline: none;
	background: #FFF;
	opacity: 1;
}
#project .slick-dots li button:hover:before,
#project .slick-dots li button:focus:before {
    background: #feee2e;
	opacity: 1;
}
#project .slick-dots li button:before {
    position: absolute;
	width: 50px;
	height: 3px;
	top: 0;
    left: 0;
	font-family: 'slick';
    content: '•';
    text-align: center;
    opacity: 0;
    	-webkit-font-smoothing: antialiased;
    	-moz-osx-font-smoothing: grayscale;
	background: #feee2e;
}
#project .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #FFF;
}
#project .exp {
	position: relative;
	width: 90%;
	max-width: 1200px;
	display: flex;
		justify-content: space-between;
		align-content: stretch;
		align-items: center;
		flex-wrap: wrap;
	margin: 0 auto;
}
#project .exp .title {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
}
#project .exp .title p {
	width: 120px;
	height: 120px;
	display: flex;
		justify-content: center;
        align-content: center;
		align-items: center;
        flex-wrap: wrap;
	font-size: 3em;
	font-weight: 700;
	line-height: 1.2em;
	text-align: center;
	background: #feee2e;
}
#project .exp .title p span {
	width: 100%;
	display: block;
    margin-top: 10px;
	font: bold 0.45em/1em Arial, Helvetica, "sans-serif";
	text-align: center;
}
#project .exp .title h1 {
	display: block;
	padding-left: 20px;
	font-size: 2.4em;
	font-weight: bold;
	line-height: 1.6em;
}
#project .exp .title h1 span {
	display: block;
	font-size: 0.5em;
	font-weight: normal;
	line-height: 1.2em;
}
#project .exp section {
	width: 100%;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		flex-wrap: wrap;
	padding: 30px 0;
}
#project .exp section .textBlock {
	width: 100%;
	display: block;
    border-bottom: solid 1px #CCC;
}
#project .exp section .textBlock h2 {
	width: 100%;
	display: block;
	margin-bottom: 30px;
	font-size: 2em;
	line-height: 1.6em;
	text-align: center;
}
#project .exp section .textBlock h3 {
	width: 100%;
	display: block;
	margin: 20px 0 10px;
	font-size: 1.8em;
    font-weight: bold;
	line-height: 1.2em;
}
#project .exp section .textBlock p {
	width: 100%;
	display: block;
	margin-bottom: 20px;
	font-size: 1.4em;
	line-height: 1.6em;
	text-align: justify;
}
#project .exp section .textBlock p a {
	text-decoration: underline;
	color: #06C;
}
#project .exp section .name {
	width: 100%;
	display: block;
	margin-left: auto;
	padding-top: 10px;
	font-size: 1.4em;
	line-height: 1.2em;
	text-align: right!important;
}
#project .exp section .name span {
	display: inline-block;
	padding-top: 10px;
	font-size: 0.8em;
	line-height: 1.2em;
	text-align: right;
}
#project .youtube {
	position: relative;
	width: 80%;
	height: 0px;
	margin: 20px auto 40px;
	padding-bottom: 45%;
}
#project .youtube iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
#project .exp section address {
	width: 100%;
	display: flex;
		justify-content: flex-start;
		align-content: center;
		align-items: center;
		/*flex-wrap: wrap;*/
	padding: 20px 0;
	font-size: 1.4em;
	line-height: 1em;
	border-bottom: solid 1px #CCC;
}
#project .exp section address a.linkMap {
	width: 120px;
	height: 2em;
	display: block;
	margin: 0 10px;
	font-size: 0.8em;
	line-height: 2em;
	text-align: center;
	color: #FFF;
	background: #333;
}
#project .page_navi {
	position: relative;
	width: 100%;
	margin: 0 auto;
	display: flex;
		justify-content: space-between;
		align-content: stretch;
		align-items: center;
		/*flex-wrap: wrap;*/
	padding: 40px 0 0;
}
#project .page_navi .prev,
#project .page_navi .next {
	width: 35%;
	display: block;
	align-items: center;
	font-size: 1.2em;
	line-height: 1.6em;
	box-sizing: border-box;
}
#project .page_navi .next {
	text-align: right;
}
#project .page_navi .prev a {
	display: block;
	padding-left: 20px;
	text-decoration: none;
	background: url(../images/arrow_left.svg) no-repeat left center;
	background-size: 12px 12px;
}
#project .page_navi .next a {
	display: block;
	padding-right: 20px;
	text-decoration: none;
	background: url("../images/arrow_right.svg") no-repeat right center;
	background-size: 12px 12px;
}
#project .page_navi a.btnBack {
	width: 30%;
	height: 50px;
	display: flex;
		justify-content: center;
		align-items: center;
	margin: 0 auto;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	border: solid 2px #feee2e;
	border-radius: 30px;
	box-sizing: border-box;
}
#project a.linkBack {
	width: 14%;
	min-width: 160px;
	height: 40px;
	display: flex;
		justify-content: center;
		align-items: center;
	margin: 30px auto 0;
	font-size: 1.2em;
	line-height: 1em;
	text-align: center;
	color: #FFF;
	border-radius: 20px;
	background: #333;
	box-sizing: border-box;
}


/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Footer
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
footer {
	position: relative;
	width: 100%;
	clear: both;
	padding: 40px 0;
	background: #feee2e;
}
footer #page-top{
	position: fixed;
	width: 60px;
	height: 60px;
	right: 10px;
	bottom: 70px;
	z-index: 10000;
	border-radius: 40px;
	background: #333;
	box-sizing: border-box;
}
footer .logo {
	width: 360px;
	display: block;
	margin: 0 auto 20px;
}
footer .logo img {
	width: 100%;
	display: block;
}
footer address {
	width: 360px;
	clear: both;
	margin: 0 auto;
	padding-left: 60px;
	font-size: 1.2em;
	line-height: 1.6em;
	box-sizing: border-box;
}
footer address strong {
	display: block;
	margin-bottom: 10px;
	font-size: 1.3em;
	line-height: 1.6em;
}
footer ul.footerMenu {
	width: 90%;
	max-width: 1080px;
	display: flex;
		justify-content: space-between;
		align-content: center;
		align-items: center;
		/*-webkit-flex-wrap: wrap;
		flex-wrap: wrap;*/
	margin: 30px auto;
}
footer ul.footerMenu li {
	width: 32%;
	display: block;
}
footer .copyright {
	width: 100%;
	clear: both;
	font-size: 1em;
	line-height: 1em;
	text-align: center;
}