@charset "UTF-8";
/*--------------------------------
	Reset
--------------------------------*/
body,div,h1,h2,h3,p,a,ul,ol,li,dl,dt,dd,img,address {
	margin: 0;
	padding: 0;
	font-weight: normal;
	border: none;
	font: inherit;
	box-sizing: border-box;
	word-wrap : break-word;
	overflow-wrap : break-word;
	outline: none;
}
li {
	list-style-type: none;
}
input[type="text"],input[type="tel"],input[type="email"],input[type="number"], button, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
a {
	text-decoration: none;
}
/*--------------------------------
	Common
--------------------------------*/
body {
  font-size: 16px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN","Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
  color: #333;
}
img {
  max-width: 100%;
  height: auto;
}
header {
  width: 100%;
  /* padding: 1em; */
  box-sizing: border-box;
  background-image: linear-gradient(to right, #FFFFFF 0%, #45FFD7 100%);
}
h1 {
  display: flex;
  justify-content: space-around;
  font-size: 1.5rem;
}
h1 span {
  font-size: .875rem;
}
footer {
  width: 100%;
  padding: 1em 0 0;
  background-image: linear-gradient(to right, #FFFFFF 0%, #45FFD7 100%);
  font-size: .875rem;
  box-sizing: border-box;
  text-align: center;
}
footer > div {
  display: flex;
  justify-content: center;
  align-items: top;
}
footer > div p {
  margin: 1em;
  font-size: .625rem;
}
footer > div p:first-child a {
  padding: .16rem 1em .18rem;
  border: 1px solid #000;
  border-radius: 12px;
  background-color: #000;
  color: #fff;
  font-size: .75rem;
}
footer > div p:first-child a:hover {
  background-color: #333;
}
article {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
}


/*　ハンバーガーメニューボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 20px;
  top   : 20px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #333;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#333;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#333;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #333;
  background-image: linear-gradient(to right, #FFFFFF 0%, #45FFD7 100%);
  text-align: center;
  width: 100%;
  height: 100%;
  transform: scale(0,0);
  transition: all 0.6s;
}
nav.globalMenuSp ul {
  margin: 33vh auto 0;
  padding: 0;
  width: 100%;
}
nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}
nav.globalMenuSp ul li a {
  display: block;
  color: #333;
  padding: 1em 0;
  text-decoration :none;
}
/* クリックでjQueryで追加・削除 */
nav.globalMenuSp.active {
  opacity: 100;
  display: block;
  transform: scale(1,1);
}

.sm_on {
  display: none;
}
@media (max-width: 767px) {
  .sm_on {
    display: block;
  }
}
/*--------------------------------
	Page
--------------------------------*/
main {
  /* max-width: 1000px; */
  width: 70%;
}
.main_title {
  font-size: 1.5rem;
  text-align: center;
}
aside {
  /* max-width: 400px; */
  width: 30%;
  display: flex;
  justify-content: space-around;
  box-sizing: border-box;
}
aside ul {
  width: 100%;
  height: calc(100vh - 150px);
  overflow: scroll;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
aside li {
  width: 49%;
  height: auto;
  cursor: pointer;
  opacity: .5;
}
aside li:first-child {
  opacity: 1;
}
aside li:last-child {
  width: 100%;
  text-align: center;
}
aside li p {
  margin-bottom: 1em;
  text-align: center;
}
@media (max-width: 767px) {
  h1 {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
  }
  h1 span {
    display: block;
    margin-top: 1em;
    padding: .5em;
    font-size: .875rem;
    font-weight: normal;
    text-align: left;
    background-color: #fff;
  }
  article {
    display: block;
  }
  main {
    width: 100%;
  }
  main img {
    max-width: 100%;
    height: auto;
  }
  aside {
    width: 100%;
    padding: 2%;
  }
}
