:root {
  --header-height: 120px;
}

:root {
  --pink_color: #FF8484;
  /* --orange_color: ##FFCE70; */
}

/************************************/
/* common */
/************************************/

body {
  margin: 0;
  background: #FFFEFB;
  font-family: 'PT Serif', serif;
font-family: 'Work Sans', sans-serif;

}

/************************************/
/* header */
/************************************/

header.hide {
  transform: translateY(-100%);
}

header {
  border-bottom: 1px solid #000;
  display: flex;
  padding: 0 16px;
  position: fixed;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  height: var(--header-height);
  background: #FFFEFB;
  z-index: 100;
  transition: transform .5s;
}

.arrow_down {
  border: solid #000000;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 3px;
  transform: rotate(45deg);
  margin-bottom: 4px;
  margin-left: 2px;
}

header #container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  max-width: 90%;
  margin: 0 auto;
  width: 100%;
}

header .container_left img {
  padding-right: 25px;
  vertical-align: bottom;
}

header .container_left .mylogo {
  max-width: 100px;
}

header #container .container_left {
  display: flex;
  align-items: center;
}

header ul.dropdown_lists {
  list-style: none;
  background: #FFF2F2;
  padding: 0;
  width: 190px;
  display: none;
  position: absolute;
  border: 1px solid #000
}

header li.menu:hover .dropdown_lists {
  display: block;
}

header ul.dropdown_lists li a {
  color: #000;
  padding: 10px 0;
  padding-left: 10px;
  display: block;
}

header ul.dropdown_lists li a:hover {
  background: var(--pink_color);
  color: #FFFEFB;
}

header ul.parent_menu {
  list-style: none;
  display: flex;
  font-size: 20px;
  line-height: 25px;
}

header ul.parent_menu > li {
  position: relative;
}

header li {
  align-self: center;
}

header .parent_menu > li + li {
  margin-left: 20px;
}

header .parent_menu img {
  vertical-align: bottom;
}

header .parent_menu img:hover {
  opacity: .8;
}

header a {
  text-decoration: none;
  color: #000;
}

header a.menu:hover {
  border-bottom: 3px solid var(--pink_color);
}

header .lang {
  display: flex;
  align-items: center;
}

header .lang img {
  width: 25px;
  padding-right: 2px;
}

header .lang_lang {
  margin-right: 4px;
}


header .lang_parent {
  position: relative;
}


header ul.dropdown_lists2 {
  list-style: none;
  background: #FFFAEA;
  padding: 0;
  width: 100%;
  display: none;
  position: absolute;
  border: 1px solid #000;
  text-align: center;
}

header li.lang_parent:hover .dropdown_lists2 {
  display: block;
}

header ul.dropdown_lists2 li a {
  padding: 10px 0;
  display: block;
}

header ul.dropdown_lists2 li a:hover {
  background: #FFC452;
  color: #FFFEFB;
}

header ul.parent_menu {
  list-style: none;
  display: flex;
  font-size: 20px;
  line-height: 25px;
}

header .hamburger_menu #open {
  font-size: 32px;
  cursor: pointer;
}

.hamburger_menu #open.hide {
  display: none;
}



.overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: #FFFEFB;
  opacity: .9;
  text-align: center;
  padding: 64px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .6s;
}

.overlay.show {
  opacity: .9;
  pointer-events: auto;
}

.overlay #close {
  position: absolute;
  top: 38px;
  right: 16px;
  font-size: 32px;
  cursor: pointer;
}

.overlay ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.overlay li {
  margin-top: 20px;
}

.overlay a {
  display: block;
  font-size: 30px;
  padding: 5px 0;
}

.overlay .submenu_main {
  border-bottom: 3px solid var(--pink_color);
}

.overlay .submenu_main:nth-child(6) {
  margin-bottom: 50px;
}

.overlay .submenu {
  border-bottom: 3px solid#FFB0B0;
}

.overlay .submenu_link {
  font-size: 20px;
  color: var(--pink_color);
}

.overlay .ham_lang {
  border-bottom: 3px solid #FFC452;
}

.overlay .ham_lang > a {
  font-size: 20px;
  color: #FFB930;
}

/* .overlay li:hover {
  background: var(--pink_color);
}

.overlay a:hover {
  color: #FFFEFB;
}

.overlay .submenu:hover {
  background: #FFC452;
}

.overlay .ham_lang:hover {
  background: #FFC452;
} */

/************************************/
/* footer */
/************************************/

footer {
  text-align: center;
}

.back_to_top {
  display: block;
  text-align: center;
  text-decoration: none;
  color: #000;
  font-size: 20px;
  margin-top: 80px;
  cursor: pointer;
}

footer .link {
  display: flex;
  gap: 0 30px;
  justify-content: center;
  margin: 30px 0px 30px 0px;
}

footer .link img {
  width: 60px;
}

footer .link img:hover {
  opacity: .8;
}

.animate {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 2s, transform 1s;
}

.animate.appear {
  opacity: 1;
  transform: none;
}

small {
  margin-bottom: 25px;
  display: block;
}

/************************************/
/* media */
/************************************/

/* 500以下のスクリーンサイズ */
@media screen and (max-width:500px) {
  header h1 {
    font-size: 20px;
  }
}

/* 1024以下のスクリーンサイズ iPad Proからハンバーガーメニュー*/
@media screen and (max-width: 1024px) { 
  header.hide {
    transform: none;
  } 
  
  header #container {
    width: 100%;
    max-width: 100%;
  }

  header .container_left .mylogo_a {
    width: 70px;
    padding-right: 20px;
  }
  
  header .mylogo {
    width: 100%;
  }

  header h1 {
    font-size: 25px;
    width: 100%;
  }

  header ul.parent_menu {
    display: none;
  }
}

/* 1025~1269のスクリーンサイズ */
@media (min-width: 1025px) and (max-width: 1260px) {
  header ul.parent_menu {
    font-size: 17px;
  } 

  header h1 {
    font-size: 25px;
    width: 100px;
  }

  header .mylogo {
    width: 80px;
  }

  header ul.dropdown_lists {
    width: 170px;
  }
}

/* 1025以上のスクリーンサイズ */
@media screen and (min-width: 1025px) { 
  header .hamburger_menu {
    display: none;
  }
}