@charset "utf-8";

body, div, span, ol, ul, li, table, tr, th, td, dl, dt, dd, img, a, p, h1, h2, h3, h4, h5, h6, nav, header, footer, section, article, form, input, textarea {
  font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  /*font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
  padding: 0;
  margin: 0;
  border: none;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: 0.01em;
}

html, body {
  font-size: 15px;
  text-align: center;
  width: 100%;
  height: 100%;
  line-height: 1;
}

html {
  position: relative;
}

body {
  position: relative;
  background-color: #fff;
}





/* - - - - - - - - - - - layout (common) - - - - - - - - - - - */

.clearfix::after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

body, th, td {
  color: #222;
}

img, video, object {
  max-width: 100%;
  display: block;
  height: auto;
  vertical-align: top;
  border-style: none;
}

a {
  color: #ec6d76;
  text-decoration: underline;
  -webkit-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

a:visited {
  color: #ec6d76;
  text-decoration: underline;
}

a:hover,
a:active {
  color: #ec6d76;
  text-decoration: none;
}

ul li {
  list-style-type: none;
}

.center {
  text-align: center !important;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

.small {
  font-size: 12px;
}

.clear {
  clear: both;
}

.red {
  color: #B20000;
}

.note {
  text-indent: -1em;
  padding-left: 1em;
}

::selection {
  background: #1d2e66;
  color: #fff;
}

::-moz-selection {
  background: #1d2e66;
  color: #fff;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.35em;
}

sub {
  bottom: -0em;
}





/*==================================================================================================================================*/



/*layout (pc) */



/*==================================================================================================================================*/

/* - - - - - - - - - - - - - - - - - (common) - - - - - - - - - - - - - - - - - */

.cnt_pc { display: block !important; }
.cnt_pc_inline { display: inline !important; }
.cnt_pc_inlineblock { display: inline-block !important; }
.cnt_pc_flex { display: flex !important; }
.cnt_pc_table { display: table !important; }
.cnt_sp { display: none !important; }
.cnt_sp_inline { display: none !important; }
.cnt_sp_inlineblock { display: none !important; }
.cnt_sp_flex { display: none !important; }
.cnt_sp_table { display: none !important; }





/* - - - - - - - - - - - - - - - - - (header) - - - - - - - - - - - - - - - - - */

noscript p {
  display: block;
  padding: 20px;
  color: #c00;
  font-size: 1.1rem;
  font-weight: bold;
  border: 2px solid #c00;
}

#assist {
  position: absolute;
  left: -9999px;
}

#headfix {
  position: fixed;
  top: 0;
  z-index: 9999;
  width: 100%;
}

#header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  position: relative;
  width: 100%;
  height: 100px;
  background: #fff;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.12);
  -webkit-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

h1 {
  margin: 15px 0 0 30px;
}

h1 a {
  display: block;
  text-decoration: none;
}

h1 a img {
  width: 203px;
  -webkit-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

#headfix.fixed #header {
  height: 60px;
}

#headfix.fixed h1 {
  margin: 10px 0 0 20px;
}

#headfix.fixed h1 a img {
  width: 118px;
}





/* - - - - - - - - - - - - - - - - - (nav) - - - - - - - - - - - - - - - - - */

.nav {
  position: relative;
}

.nav ul {
  width: auto;
  height: 100%;
}

.nav ul li {
  width: auto;
  height: 100%;
}

.nav ul li a {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  width: auto;
  height: 100%;
  padding: 0 62px;
  background: #ec6d76;
  text-decoration: none;
}

.nav ul li a span {
  display: block;
  padding: 0 20px 0 0;
  background: url("../images/icn_arrow_r_wh.png") right center / 9px auto no-repeat;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  text-decoration: none;
  -webkit-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.nav ul li a:hover {
  opacity: 0.8;
}

.nav ul li a:hover span {
  padding: 0 17px 0 3px;
  background: url("../images/icn_arrow_r_wh.png") right center / 9px auto no-repeat;
}





/* - - - - - - - - - - - - - - - - - (footer) - - - - - - - - - - - - - - - - - */

.pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  text-indent: -9999px;
}

.pagetop a {
  position: relative;
  display: block;
  width: 80px;
  height: 80px;
  background: url("../images/btn_pagetop.png") center center / cover no-repeat;
}

.pagetop a:hover {
  opacity: 0.8;
}

.footer {
  background: #faf6e8;
}

.footlink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 70px 8%;
}

.footlink li {
  width: auto
}

.footlink li a {
  display: inline-block;
  padding: 20px 110px;
  border-radius: 100vh;
  background: url("../images/icn_arrow_r_wh.png") right 30px center / 9px auto no-repeat #ec6d76;
  text-decoration: none;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  line-height: 1.5;
}

.footlink li a:hover {
  opacity: 0.7;
}

.copyright {
  padding: 115px 8%;
  background: #1d2e66;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  line-height: 1.5;
}





/* - - - - - - - - - - - - - - - - - (content top) - - - - - - - - - - - - - - - - - */

/* topmv */

#topslide_wrapeer {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 0 0 0;
}

.topimage {
  position: relative;
  width: 100%;
  height: 100%;
}

.topimage .slick-list,
.topimage .slick-track {
  height: 100%;
}

.slick-slide { outline: none; }

.topcopy {
  position: absolute;
  bottom: 14%;
  left: 8.6%;
  width: auto;
  padding: 50px 50px 50px;
  border-radius: 20px;
  background: rgba(255,255,255,0.90);
  filter: blur(100px);
  animation: blur-animate 2s ease forwards;
  text-align: left;
  letter-spacing: 0;
}

@keyframes blur-animate {
  100% {	filter: blur(0); }
}

.topcopy div {
  margin: 0 0 18px;
  padding: 0 0 18px;
  font-weight: bold;
  font-size: 28px;
  line-height: 1.3;
  color: #1d2e66;
  border-bottom: 1px solid #A5ABC1;
}

.topcopy p {
  font-size: 15px;
  line-height: 1.93;
  color: #1d2e66;
}





/* content */

.content {
  position: relative;
  padding: 60px 0 0;
}

.h2_icon {
  width: 84px;
  margin: 0 auto 10px;
}

.content h2 {
  margin: 0 auto 15px;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.3;
  text-align: center;
  color: #1d2e66;
}

.content h2 + p {
  margin: 0 auto 50px;
  line-height: 2;
  text-align: center;
}

.group_list {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  justify-content: space-between;
  width: 84%;
  max-width: 1200px;
  margin: 0 auto 60px;
}

.group_list li {
  -webkit-flex-basis: 48%;
  -ms-flex-basis: 48%;
  flex-basis: 48%;
  max-width: 48%;
  width: 48%;
  margin: 0 0 50px;
  padding: 29px;
  border-radius: 20px;
  border: 1px solid #dbdbdb;
}

.group_ph {
  margin: 0 auto 27px;
}

.group_mark {
  width: 148px;
  margin: 0 auto 25px;
}

.group_list li h3 {
  margin: 0 auto 25px;
  text-align: center;
}

.group_list li h3 span {
  position: relative;
  display: inline-block;
  padding: 0 30px;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.2;
  text-align: center;
  color: #1d2e66;
}

.group_list li h3 span::before {
  position: absolute;
  bottom: -2px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 9px;
  background: rgba(236,109,118,0.65);
  z-index: -1;
}

.group_list li p {
  line-height: 1.93;
  text-align: left;
}





/*==================================================================================================================================*/



/*layout (tablet) */



/*==================================================================================================================================*/

@media only screen and (min-width: 768px) and (max-width: 1200px) {

}





/*==================================================================================================================================*/



/*layout (smartphone) */



/*==================================================================================================================================*/

@media only screen and (min-width: 1px) and (max-width: 767px) {

/* - - - - - - - - - - - - - - - - - (common) - - - - - - - - - - - - - - - - - */

.cnt_pc { display: none !important; }
.cnt_pc_inline { display: none !important; }
.cnt_pc_inlineblock { display: none !important; }
.cnt_pc_flex { display: none !important; }
.cnt_pc_table { display: none !important; }
.cnt_sp { display: block !important; }
.cnt_sp_inline { display: inline !important; }
.cnt_sp_inlineblock { display: inline-block !important; }
.cnt_sp_flex { display: flex !important; }
.cnt_sp_table { display: table !important; }





/* - - - - - - - - - - - - - - - - - (header) - - - - - - - - - - - - - - - - - */

noscript p {
  display: block;
  padding: 20px;
  color: #c00;
  font-size: 1.1rem;
  font-weight: bold;
  border: 2px solid #c00;
}

#assist {
  position: absolute;
  left: -9999px;
}

#headfix {
  position: fixed;
  top: 0;
  z-index: 9999;
  width: 100%;
}

#header {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  position: relative;
  width: 100%;
  height: 60px;
  background: #fff;
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.12);
  -webkit-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

h1 {
  margin: 10px 0 0 11px;
}

h1 a {
  display: block;
  text-decoration: none;
}

h1 a img {
  width: 118px;
  -webkit-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

#headfix.fixed #header {
  height: 60px;
}

#headfix.fixed h1 {
  margin: 10px 0 0 11px;
}

#headfix.fixed h1 a img {
  width: 118px;
}





/* - - - - - - - - - - - - - - - - - (nav) - - - - - - - - - - - - - - - - - */

.nav {
  position: relative;
}

.nav ul {
  width: auto;
  height: 100%;
}

.nav ul li {
  width: auto;
  height: 100%;
}

.nav ul li a {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  width: auto;
  height: 100%;
  padding: 0 20px 0 26px;
  background: #ec6d76;
  text-decoration: none;
}

.nav ul li a span {
  display: block;
  padding: 0 16px 0 0;
  background: url("../images/icn_arrow_r_wh.png") right center / 7px auto no-repeat;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  text-decoration: none;
  -webkit-transition: all .3s ease-in-out;
  -ms-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.nav ul li a:hover {
  opacity: 0.8;
}

.nav ul li a:hover span {
  padding: 0 17px 0 3px;
  background: url("../images/icn_arrow_r_wh.png") right center / 9px auto no-repeat;
}





/* - - - - - - - - - - - - - - - - - (footer) - - - - - - - - - - - - - - - - - */

.pagetop {
  position: fixed;
  bottom: 20px;
  right: 10px;
  text-indent: -9999px;
}

.pagetop a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  background: url("../images/btn_pagetop.png") center center / cover no-repeat;
}

.pagetop a:hover {
  opacity: 0.8;
}

.footer {
  background: #faf6e8;
}

.footlink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 50px 8% 30px;
}

.footlink li {
  width: auto
}

.footlink li a {
  display: inline-block;
  padding: 20px 15px 20px 15px;
  border-radius: 20px;
  background: url("../images/icn_arrow_r_wh.png") right 5px center / 5px auto no-repeat #ec6d76;
  text-decoration: none;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  line-height: 1.67;
}

.footlink li a:hover {
  opacity: 0.7;
}

.copyright {
  padding: 80px 8%;
  background: #1d2e66;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  line-height: 1.5;
}





/* - - - - - - - - - - - - - - - - - (content top) - - - - - - - - - - - - - - - - - */

/* topmv */

#topslide_wrapeer {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 0 0 0;
}

.topimage {
  position: relative;
  width: 260%;
  min-width: 200%;
  height: 100%;
  margin: 0 -80%;
}

.topimage .slick-list,
.topimage .slick-track {
  height: 100%;
}

.slick-slide { outline: none; }

.topcopy {
  position: relative;
  bottom: auto;
  left: 0;
  width: 90%;
  margin: 0 auto;
  padding: 40px 0 20px;
  border-radius: 20px;
  background: rgba(255,255,255,0.90);
  filter: blur(100px);
  animation: blur-animate 2s ease forwards;
  text-align: left;
  letter-spacing: 0;
}

.topcopy div {
  margin: 0 0 18px;
  padding: 0 0 18px;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.3;
  color: #1d2e66;
  border-bottom: 1px solid #A5ABC1;
  text-align: center;
}

.topcopy p {
  font-size: 15px;
  line-height: 1.93;
  color: #1d2e66;
}





/* content */

.content {
  position: relative;
  padding: 60px 0 0;
}

.h2_icon {
  width: 84px;
  margin: 0 auto 10px;
}

.content h2 {
  margin: 0 auto 15px;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.3;
  text-align: center;
  color: #1d2e66;
}

.content h2 + p {
  margin: 0 8% 50px;
  line-height: 2;
  text-align: center;
}

.group_list {
  display: block;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto 40px;
}

.group_list li {
  max-width: 100%;
  width: 100%;
  margin: 0 0 30px;
  padding: 29px 19px 19px;
  border-radius: 20px;
  border: 1px solid #dbdbdb;
}

.group_ph {
  margin: 0 auto 27px;
}

.group_mark {
  width: 148px;
  margin: 0 auto 25px;
}

.group_list li h3 {
  margin: 0 auto 25px;
  text-align: center;
}

.group_list li h3 span {
  position: relative;
  display: inline-block;
  padding: 0 20px;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.2;
  text-align: center;
  color: #1d2e66;
}

.group_list li h3 span::before {
  position: absolute;
  bottom: -2px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 9px;
  background: rgba(236,109,118,0.65);
  z-index: -1;
}

.group_list li p {
  line-height: 1.93;
  text-align: left;
}





}





/* - - - - - - - - - - - - - - - - - (print) - - - - - - - - - - - - - - - - - */

@media print {
  html, body { width: 100%; }
  .pagetop { display: none !important; }
  #headfix { position: relative; }
  #topslide_wrapeer { height: 50%; }
}





/* - - - - - - - - - - - /end - - - - - - - - - - - */




