@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

/* ハンバーガーメニュー搭載 */
/*ナビメニューのスタイルを指定*/
nav.NavMenu{
	position: fixed; /*表示位置を固定*/
	z-index: 2; /*重ね順を変更*/
	top: 0; /*表示位置を指定*/
	left: 0; /*表示位置を指定*/
	background: #fff;/*背景を白にする*/
	color: #000; /*文字色を黒にする*/
	text-align: center; /*テキストを中央揃え*/
	width: 100%; /*全幅表示*/
	transform: translateX(-100%); /*ナビを上に隠す上から出したい場合は、transform: translateYを使う。*/
	transition: all 0.6s; /*アニメーションの時間を指定*/
}

nav.NavMenu ul{
	background: #ccc; /*背景をグレーにする*/
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

nav.NavMenu ul li{
	font-size: 1.1em;
	list-style-type: none;
	padding: 0;
	width: 100%;
	border-bottom: 1px dotted #333;
}

nav.NavMenu ul li:last-child{
	padding-bottom: 0;
	border-bottom: none; /*最後のメニュー項目のみ下線を消す*/
}

nav.NavMenu ul li a{
	display: block; /*クリックできる領域を広げる*/
	color: #000;
	padding: 1em 0;
}


/*トグルボタンが押されたときに付与するクラス*/
nav.NavMenu.active{
	transform: translateX(0%);/*上から出したい場合は、transform: translateYを使う。*/
}


/*トグルボタンのスタイルを指定*/
.Toggle {
	position: fixed;    /* bodyに対しての絶対位置指定 */
	right: 13px;
	top: 12px;
	width: 42px;
	height: 42px;
	cursor: pointer;/*divだけどカーソルが変わるようにしている*/
	z-index: 3;/* ボタンを一番上にしている(押せなくなるから) */
}

.Toggle span {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: solid 3px #000;
	transition: .35s ease-in-out;			/*変化の速度を指定*/
	left: 6px;
}

.Toggle span:nth-child(1) {
	top: 9px;
}
.Toggle span:nth-child(2) {
	top: 18px;
}

.Toggle span:nth-child(3) {
	top: 27px;
}

/* 最初のspanをマイナス45度に */
.Toggle.active span:nth-child(1) {
	top: 18px;
	left: 6px;
	transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
	top: 18px;
	transform: rotate(45deg);
}

/* -------全体への指示------------ */
html {
    scroll-behavior: smooth;
}
section {
    width: 80%;
    margin-top: auto;
    margin-left: auto;
}

ul li a {
    text-decoration: none;
}
h2 {
    font-size: 3vw;
    margin-top: 3vw;
    margin-bottom: 2vw;
    text-align: center;
    font-family: "M PLUS 1 Code", monospace;
    color: red;
}
/* ------------------------------ */
header {
    display: flex;
    width: 80%;
    height: 80vh;
    padding-top: 1vw;
    margin-left: auto;
    margin-right: auto;
    align-items: baseline;
    background-image: url(../images/hana-s.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    vertical-align: bottom;
}

h1 {
    width: 30%;
    margin-left: 10%;
    font-size: 4vw;
    color: orangered;
    font-family: "M PLUS 1 Code", monospace;
    transition: 1s;
}
header:hover h1 {
    transform: translate(1vw,14vw) scale(1.8,5);
    transition: 1s;
}
/* -------ナビ----------------- */
nav {
    width: 60%;
}
.main-ul {
    display: flex; 
}
.main-li {
    width: 20%;
    line-height: 3;
    list-style-type: none;
    background-color: YellowGreen;
}
.main-li:hover {
    background-color: orange;
}
.main-li a {
    display: block;
    text-align: center;
    color: yellow;
}
.main-li a:hover {
    color: #fff;
}
.main-a {
    display: block;
    list-style: 3;
    text-align: center;
    text-decoration: none;
    font-size: 1.6vw;
    color: #202020;
}   

/* ------サブメニュー---------------- */
.sub-ul {
    position: absolute;
    width: 100%;
    list-style-type: none;
    opacity: 0;
    transition: 0.5s;
}
.sub-ul .sub-li {
   
}
.sub-ul .sub-li a {
    display: block;
    line-height: 2;
    text-align: center;
    text-decoration: none;
    color: #008899;
    font-size: 1.2vw;
    border-bottom: 1px solid #909090;
    background-color:rgb(203, 247, 115);
}
.sub-ul .sub-li a:hover {
    background-color: orange;
    color: #fff;
}
/*  プルダウンメニュー */
.pull {
    position: relative;
    overflow: hidden;   
}
.pull:hover {
    overflow: visible;  
}
.pull:hover .sub-ul {
    opacity: 1;
    transition: 0.5s;   
} 
/* ---------- 戻るボタン -------------- */
.top-button {
    display: flex;
    position: relative;
    position: fixed;
    width: 5%;
    z-index: 2;
}
.top-button a {
    text-decoration: none;
}
.top-button img {
    display: block;
    position: absolute;
  
    width: 100%;
    top: -8vw;
    left: 92vw;
    transform: ccalc(1,1);
    transition: 1s;
}
.top-button img:hover {
    transform: scale(1.2,1.2);
    transition: 1s;
}
/* ----セクション⓵　ABOUTページ-------------- */
section:nth-of-type(1) {
    display: flex;
    width: 80%;
    height: 80vh;
    margin-left: auto;
    margin-right: auto;
    background-color: lightgoldenrodyellow;
}
.about-img {
    width:25%;  
    margin-left: 5%;
    margin-top: 10vw;
}
.about-img img {
    display: block;
    width: 100%;
}
.about-p {
    width: 60%;
    margin-left: 10%;
    margin-top: 3vw;
}
h3 {
    color: darkblue;
    font-size: 2vw;
    text-align: center;
}
.about-p p {
    margin-top: 1vw;
    line-height: 1.8;
    font-size: 1.3vw;
}
.about-p p:nth-of-type(1) {
    margin-top: 3vw;
}
.about-p p:nth-of-type(2) {
    width: 85%;
    white-space: pre-wrap;
}
.about-p p span {
    color: red;
}

/* ---セクション⓶　STORY---------------------------- */
section:nth-of-type(2) {
    display: flex;
    width: 80%;
    height: 70vh;
    margin-left: auto;
    margin-right: auto;
}
section:nth-of-type(2) h3 {
    font-size:2vw;
    margin-top: 2vw;
    margin-bottom: 1vw;
    border-bottom: 2px dotted darkblue;
    text-align: left;
}

.story-box {
    width: 30%;
}
.story-box:nth-of-type(2) {
    margin-left: 5%;
    margin-right: 5%;
}
.img {
    overflow: hidden;
}
.story-box figure img {
    display: block;
    width: 100%;
    height: 20vw;
    transition: 1s;
}
.story-box figure img:hover {
    transform: scale(1.2,1.2);
    transition: 1s;
}
/* ---セクション⓷　LIKE---------------------------- */
section:nth-of-type(3) {
    width: 80%;
    height: 115vh;
    margin-left: auto;
    margin-right: auto;
}
section:nth-of-type(3) h3 {
    font-size:2vw;
    margin-top: 2vw;
    margin-bottom: 1vw;
    border-bottom: 2px dotted darkblue;
    text-align: left;
}
/* -------------------- */
.like-box-top {
    display: flex;
}
.like-box {
    width: 30%;
}

.like-box figure img {
    display: block;
    width: 100%;
    height: 20vw;
    transition: 1s;
}
.like-box figure img:hover {
    transform: scale(1.2,1.2);
    transition: 1s;
}
.like-box:nth-of-type(2) {
    margin-left: 5%;
    margin-right: 5%;
}

/* ---------------------- */
.like-box-bottom {
    display: flex;
}
.like-box {
    width: 30%;
}
.like-box figure img {
    display: block;
    width: 100%;
    height: 20vw;
}
.like-box:nth-of-type(2) {
    margin-left: 5%;
    margin-right: 5%;
}

/* <!--セクション⓸　CONTACTページ-----------> */
section:nth-of-type(4) {
    width: 100%;
    height: 25vh;
    background-color: YellowGreen;
}
section:nth-of-type(4)h2 {
    padding-top: 4vw;
}
section:nth-of-type(4) p {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2vw;
    padding-bottom: 2vw;
    font-size: 2vw;
    color: #fff;
    text-align: center;
    border: 1px dotted #fff;
} 
section:nth-of-type(4) p:hover {
    color: YellowGreen;
    background-color: #fff;
}
section:nth-of-type(4) a {
    display: block;
    text-decoration: none;
}
/* ----------ここからfooter-------- */  
footer {
    background-color: YellowGreen;
    display: flex;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 5vw;
    
}
footer p {
    width: 20%;
    margin-left: 30%;
    font-size: 1vw;
    color: #fff;
    padding: 1vw 0;
    text-align: center;
}
.sns  {
    width: 20%;
    margin-right: 30%;
    display: block;
    text-align: center;
    font-size: 2vw;
    color: #fff;
}
.sns a {
    text-decoration: none;
    color: #fff;
}