@charset "UTF-8";
*, *:before, *:after 
{ box-sizing: border-box; }

html { font-size: 18px; }

body {
  color: #45EDF0;
  font-size: 1.2em;
  line-height: 1.6;
  background: #fa6900;
  overflow-x: hidden;
}

label .menu {
  position: absolute;
  right: -100px;
  top: -100px;
  z-index: 100;
  width: 200px;
  height: 200px;
  background: #f2c2c3;
  border-radius: 50% 50% 50% 50%;
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  box-shadow: 0 0 0 0 #FFF, 0 0 0 0 #FFF;
  cursor: pointer;
  
}

label .hamburger {
  position: absolute;
  top: 135px;
  left: 50px;
  width: 30px;
  height: 2px;
  background: #69D2e7;
  display: block;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}

label .hamburger:after, label .hamburger:before {
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: #69d2e7;
}

label .hamburger:before { top: -10px; }

label .hamburger:after { bottom: -10px; }

label input { display: none; }

label input:checked + .menu {
  box-shadow: 0 0 0 100vw #46c78d, 0 0 0 100vh #FFF;
  border-radius: 0;
  
}

label input:checked + .menu .hamburger {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  
}

label input:checked + .menu .hamburger:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  bottom: 0;
  
}

label input:checked + .menu .hamburger:before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  top: 0;
  
}

label input:checked + .menu + ul { opacity: 1; }

label ul {
  font-size: 28px;
  z-index: 200;
  position: absolute;
  top: 42%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-transition: .25s 0s ease-in-out;
  transition: .25s 0s ease-in-out;
}

label a {
  margin-bottom: 1em;
  display: block;
  color: #f38630;
  text-decoration: none;
  
}







/* Body */
body {
	font-family: bold;
	background-color: #F3C2C3;
	margin: 0;

}
/* Container */
.container {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	background-color: #FFFFFF;
}
/* Header */

header{
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	padding-top: 1px;
    width: 100%;
    height: 1%;
    background-color: #f0f4b7;
   
}





.logo {
        text-align: left;
	color: #6dc7d0;
	font-weight: bold;
	margin-left: auto;
	letter-spacing: 4px;
	margin-right: auto;
	padding-top: 15px;
	line-height: 2em;
	font-size: 28px;
	
}
.logo h1{
    text-align: left;
    position: relative; /* 要素の相対的な位置を設定 */
    left: 20px; /* 必要に応じてpxを調整して右に移動 */
font-weight: bold;
  font-family: "Nunito", sans-serif;
  font-size: 3rem; /* サイズをさらに大きくしました */
  color: #6dc7d0;
  
  margin-right: 0; /* 左寄せを強調するために余白をゼロにしました */
}

	


header h5{
	color: #6dc7d0;
	font-weight: bold;
	text-align: left;
	text-size: 60px;
}
.hero_header {
	color: #FFFFFF;
	text-align: center;
	margin: 0;
	letter-spacing: 4px;
}
/* About Section */
.text_column {
	width: 90%;
	text-align: left;
	font-weight: lighter;
	line-height: 25px;
	float: left;
	padding-left: 20px;
	padding-right: 20px;
	color:　#6dc7d0;
}
.gallery {
	clear: both;
	display: inline-block;
	width: 100%;
	background-color: #FFFFFF;
	/* [disabled]min-width: 400px;
*/
	padding-bottom: 35px;
	padding-top: 0px;
	margin-top: -5px;
	margin-bottom: 0px;
}
.thumbnail {
	width: 23%;
	text-align: center;
	float: left;
	margin-top: 35px;
	background-color: #F0F4B7;
	padding-bottom: 20px;
	margin-left: 1%;
	margin-right: 1%;
	border-radius: 3px;
	padding-top: 20px;
	border-bottom: 4px solid #6DC7D0;
}
.gallery .thumbnail h4 {
	margin-top: 5px;
	margin-bottom: 5px;
	color: #52BAD5;
	text-align: left;
	padding-left: 20px; 
	padding-right:20px;	
}
.gallery .thumbnail p {
	margin: 0;
	color: #6dc7d0;
	text-align: left;
	padding-left: 20px;
}
/* More info */
.intro {
	background-color: #f3c2c3;
	width: 100%;
}
.column {
	width: 50%;
	text-align: center;
	padding-top: 30px;
	float: left;
}
.intro .column h1 {
	text-size: 25px;
	color: #FFFFFF;
	text-align: center;
}
.intro .column h2 {
	text-size: 10px;
	color: #FFFFFF;
	text-align: center;
}
.intro .column h3 {
	color: #FFFFFF;
	text-align: center;
}
.intro .column p {
	color: #ffffff;
}
.cards {
	width: 100%;
	height: auto;
	max-width: 400px;
	max-height: 200px;
	opacity: 0.8;
}
.intro .column p {
	padding-left: 30px;
	padding-right: 30px;
	text-align: justify;
	line-height: 25px;
	font-weight: lighter;
	margin-left: 20px;
	margin-right: 20px;
	width: 80%;
	margin-top: 4%;
}

.button{
    width: 200px;
    margin-top: 40px;
    margin-right: auto;
    margin-bottom: auto;
    margin-left: auto;
    padding-top: 20px;
    padding-right: 10px;
    padding-bottom: 20px;
    padding-left: 10px;
    text-align: center;
    vertical-align: middle;
    border-radius: 0px;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 2px;
    border: 3px solid #ffffff;
    color: #ffffff;
    transition: all 0.3s linear;
    display: block; /* ボタンをブロック要素として扱う */
    margin: 20px auto; /* 上下に20pxの余白をつけて、左右は自動的に中央配置 */
}


.button:hover {
	background-color: #e582b7;
	color: #FFFFFF;
	cursor: pointer;
}
.copyright {
	text-align: center;
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #f0f4b7;
	color: #FFFFFF;
	text-transform: uppercase;
	font-weight: lighter;
	letter-spacing: 2px;
	border-top-width: 2px;
}
footer {
	background-color: #f3c2c3;
	padding-top: 60px;
	padding-bottom: 60PX;
}
.intro {
	display: inline-block;
	background-color: #6DC7D0;
}
.profile {
	width: 90%;
}
.gallery .thumbnail .tag {
	color: #5D5E5D;
	padding-bottom: 4px;
	padding-top: 4px;
	text-align: left;
	padding-left: 20px;
	padding-right: 20px;
}

/* Mobile */
@media (max-width: 320px) {
label {
        width: 40px;
        height: 40px;
    }

    .hamburger {
        width: 25px;
    }

    .hamburger::before,
    .hamburger::after {
        width: 25px;
    }

.thumbnail-container {
    grid-template-columns: repeat(1, 1fr); /* さらに狭くなったら1列に */
  }

.logo {
	width: 100%;
	text-align: center;
	margin-top: 13px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}
.text_column {
	width: 100%;
	text-align: justify;
	padding: 0;
}
.intro .column p {
	width: 80%;
	margin-left: 0px;
}
.text_column {
	padding-left: 20px;
}
.thumbnail {
	width: 100%;
}
.column {
	width: 100%;
	margin-top: 0px;
}
.hero_header {
	padding-left: 10px;
	padding-right: 10px;
	line-height: 22px;
	text-align: center;
}
}

/* Small Tablets */
@media (min-width: 321px)and (max-width: 767px) {


label {
        width: 40px;
        height: 40px;
    }

    .hamburger {
        width: 25px;
    }

    .hamburger::before,
    .hamburger::after {
        width: 25px;
    }

	.thumbnail-container {
    grid-template-columns: repeat(2, 1fr); /* 画面幅が狭いときは2列に */
  }


.logo {
	width: 100%;
	text-align: center;
	margin-top: 13px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}
.text_column {
	width: 100%;
	text-align: left;
	padding: 0;
}
.thumbnail {
	width: 100%;
}
.column {
	width: 100%;
	margin-top: 0px;
}
.thumbnail {
	width: 100%;
}
.text_column {
	padding-left: 20px;
	padding-right: 20px;
	width: 90%;
}
.column {
	width: 100%;
	margin-left: 0px;
	margin-right: 0px;
}
.profile {
	width: 100%;
}
.intro .column p {
	width: 90%;
	text-align: center;
	padding-left: 0px;
}
}

/* Small Desktops */
@media (min-width: 768px) and (max-width: 1096px) {
.text_column {
	width: 100%;
}
.thumbnail {
	width: 48%;
}
.text_column {
	width: 90%;
	margin: 0;
	padding: 20px;
}
.intro .column p {
	width: 80%;
}
}


.thumbnail-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4列に均等割り付け */
  gap: 10px; /* サムネイル間の隙間を調整 */
  margin: 20px 0; /* コンテナの上下に余白 */
}

.thumbnail img.cards {
  width: 100%;
  height: auto;
  display: block;
}

 

@media (min-width: 1024px) and (max-width: 1366px) {
  .thumbnail-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4カラム固定 */
    gap: 20px; /* カラム間にスペースを確保 */
  }
}