@charset "UTF-8";
body {
  opacity: 0; }

.alt-anc {
  position: absolute; }

div.bg-wrap {
  position: relative;
  z-index: 10;
  background: #fff; }

/*

.move {
	opacity: 0;
	-webkit-transition-duration: .8s;
	-ms-transition-duration: .8s;
	transition-duration: .8s;
	-webkit-transform: translate(0, 50px);
	-ms-transform: translate(0, 50px);
	transform: translate(0, 50px);
}

.move-on {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	transform: translate(0, 0);
}
*/
/**==============================================**/
/*
/*	共通
/*
/**==============================================**/
div.content-inner {
  width: 100vw;
  /*	overflow-x: hidden;*/ }

/* main-img */
div.main-img-wrap {
  background: #e50012;
  width: 100%; }

div.main-img {
  position: relative;
  width: 100%;
  opacity: .4; }

.main-img-cap div.cap-title {
  position: absolute;
  z-index: 8; }

.main-img-wrap .cap-title strong {
  display: block; }

.main-img-wrap .cap-title img {
  display: block;
  max-width: 100%;
  height: auto; }

/* sec-01 */
div.sec-01 {
  position: relative; }
  div.sec-01 .banner {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
    position: static;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    margin-bottom: 60px; }
    div.sec-01 .banner a {
      display: block;
      width: 100%;
      height: 100%; }
    div.sec-01 .banner .flex {
      display: flex;
      justify-content: space-between;
      padding: 13px 20px; }
    div.sec-01 .banner .image {
      flex-basis: 12.2%;
      padding-right: 10px;
      display: flex;
      align-items: center; }
      div.sec-01 .banner .image img {
        max-width: 100%; }
    div.sec-01 .banner .text {
      flex: 1;
      font-size: 18px;
      line-height: 1.6;
      font-weight: bold;
      position: relative; }
      div.sec-01 .banner .text span {
        color: #e50012; }
      div.sec-01 .banner .text:after {
        content: "";
        width: 8px;
        height: 16px;
        background-image: url(../img/top/arrow_banner.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: -7px; }

.sec-01 div.maru {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%; }

.sec-01 .maru div img {
  display: block;
  width: 100%;
  height: auto; }

div.daruma-wrap {
  height: 100% !important;
  /*	opacity: 0;*/
  margin: auto;
  position: relative;
  background: url(../img/top/daruma/daruma-shadow.png) 50% 30%/contain no-repeat;
  /*	animation-delay: .5s;*/
  animation-duration: 0;
  margin-right: auto;
  margin-left: auto; }

.daruma-wrap:before {
  content: "";
  display: block;
  padding-top: 90.4%; }

.daruma-wrap div {
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  margin: auto;
  overflow: hidden;
  opacity: 0;
  width: 100%; }

.daruma-wrap div.d-aka {
  animation-delay: 0;
  animation-duration: .3s;
  z-index: 1; }

.daruma-wrap div.d-kin {
  animation-delay: .4s;
  animation-duration: .3s;
  z-index: 3; }

.daruma-wrap div.d-kuro {
  animation-delay: .8s;
  animation-duration: .3s;
  z-index: 2; }

.daruma-wrap div.d-eye {
  animation-delay: 1.2s;
  animation-duration: .3s;
  z-index: 3; }

.daruma-wrap div img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  margin: auto;
  width: 100%;
  height: auto; }

.sec-01-list li h3 img {
  display: block;
  width: 100%; }

.daruma-wrap.over,
.daruma-wrap.over div {
  animation-name: daruma;
  animation-fill-mode: both;
  animation-timing-function: ease-in-out; }

@keyframes daruma {
  0% {
    height: 0;
    opacity: 0; }
  100% {
    height: 100%;
    opacity: 1; } }
/* sec-02 */
div.sec-02 {
  background: url(../img/common/texture-pink.jpg) 0 0/auto repeat;
  position: relative; }

.sec-02 ul.sec-02-list {
  margin-right: auto;
  margin-left: auto; }

.sec-02-list li {
  position: relative;
  background: #fff; }

.sec-02-list li:before,
.sec-02-list li:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border: 20px solid transparent; }

.sec-02-list li:before {
  bottom: 100%;
  border-bottom-color: #fff; }

.sec-02-list li:after {
  top: 100%;
  border-top-color: #fff; }

.sec-02-list li img {
  display: block;
  max-width: 100%;
  height: auto; }

.sec-02-list li h3 {
  color: #c30d23; }

/* sec-03 */
div.sec-03 {
  background: #e50012; }

.sec-03 ul.sec-03-list {
  margin-right: auto;
  margin-left: auto; }

.sec-03-list li:not(:last-child) {
  margin-bottom: 25px; }

.sec-03-list li,
.sec-03-list li a {
  color: #fff; }

.sec-03-list li a {
  position: relative;
  font-weight: bold; }

.sec-03-list li a i {
  background: #231815;
  position: absolute;
  display: inline-block; }

.sec-03-list li a i:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-80%, -50%) rotate(45deg);
  -ms-transform: translate(-80%, -50%) rotate(45deg);
  transform: translate(-80%, -50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff; }

.sec-03-list li a p {
  padding-left: 2em;
  box-sizing: border-box; }

.sec-03-list li a:hover p {
  text-decoration: underline; }

/* sec-04 */
.sec-04 ul.sec-04-list {
  margin: 0 auto; }

.sec-04-list li a,
.sec-04-list li a img {
  display: block;
  max-width: 100%;
  height: auto; }

.sec-04-list li img {
  display: block;
  max-width: 100%;
  height: auto; }

.sec-04 .map {
  margin-right: auto;
  margin-left: auto; }

.sec-04 .map:after {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  left: -1px;
  display: block;
  background: #fff; }

.sec-04 .map .headd-wrap .event {
  color: #fff;
  background: rgba(229, 0, 18, 0.8);
  position: relative; }

/* sec-05 */
div.sec-05 {
  background: #e50012;
  color: #fff; }

/**==============================================**/
/**==============================================**/
/*	
/*	sp 縦
/*	〜640px
/*
/**==============================================**/
/**==============================================**/
@media screen and (max-width: 640px) {
  body {
    font-size: 1.4rem; }

  .main-img-wrap div.cap-title {
    width: 65%;
    max-width: 470px;
    height: auto;
    top: 9%;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }

  /* sec-01 */
  div.sec-01 {
    margin-top: 113%;
    padding: 1px 0 0; }

  .sec-01 div.maru .maru-01 {
    width: 44.28%;
    right: 50%;
    -webkit-transform: translate(173%, 16%);
    -ms-transform: translate(173%, 16%);
    transform: translate(173%, 16%); }

  .sec-01 div.maru .maru-02 {
    width: 25.71%;
    right: 50%;
    -webkit-transform: translate(180%, 320%);
    -ms-transform: translate(180%, 320%);
    transform: translate(180%, 320%); }

  .sec-01 div.maru .maru-03 {
    width: 25.71%;
    left: 50%;
    -webkit-transform: translate(-250%, 300%);
    -ms-transform: translate(-250%, 300%);
    transform: translate(-250%, 300%); }

  .sec-01 div.maru .maru-04 {
    width: 14.76%;
    left: 50%;
    -webkit-transform: translate(-100%, 550%);
    -ms-transform: translate(-100%, 550%);
    transform: translate(-100%, 550%); }

  div.daruma-wrap {
    width: 71.3%;
    margin-top: -54%;
    margin-bottom: 5%;
    /*
    max-width: 532px;
    margin-top: -250px;
    */ }

  .daruma-wrap > div {
    max-width: 414px;
    margin: auto;
    width: 77.6%; }

  .sec-01 div.cap-wrap {
    margin-bottom: 168px; }

  .sec-01 div.cap-wrap p {
    line-height: 2.08;
    width: 64%;
    font-size: 3.541vw; }

  .sec-01 div.catch-wrap {
    width: 16.2%;
    margin-left: 8%; }

  .sec-01-main .headd-wrap h2 {
    display: inline-block;
    max-width: 1076px;
    width: 100%; }

  .sec-01-main .headd-wrap h2 img {
    border-bottom: 3px solid #e50012;
    padding-bottom: 6px;
    margin-bottom: 12px; }

  .sec-01-main .headd-wrap h2 img:nth-child(1) {
    /*		width: 336px;*/
    width: 51%;
    padding-right: 1%; }

  .sec-01-main .headd-wrap h2 img:nth-child(2) {
    /*		width: 308px;*/
    width: 48%; }

  .sec-01-main .headd-wrap h2 img:nth-child(3) {
    /*		width: 402px;*/
    width: 100%; }

  .sec-01-main ul.sec-01-list {
    margin: 6% auto 0; }

  .sec-01-list li {
    margin-bottom: 12%; }

  .sec-01-list li h3 {
    margin-bottom: 4.6%; }

  .sec-01-list li p {
    font-size: 1.6rem;
    line-height: 1.74;
    margin-bottom: 3%; }

  .sec-01 .arrow-link {
    width: 228px;
    margin: auto; }

  /* sec-02 */
  div.sec-02 {
    padding: 11% 0 10%; }

  .sec-02 div.headd-wrap h2 img {
    max-height: 22px; }

  .sec-02 div.headd-wrap h2 img:nth-child(1) {
    width: 56%; }

  .sec-02 div.headd-wrap h2 img:nth-child(2) {
    width: 39%; }

  .sec-02 ul.sec-02-list {
    margin: 11% auto 2%; }

  .sec-02-list li {
    margin-bottom: calc(12% + 14px); }

  .sec-02-list li img {
    max-width: 124px; }

  .sec-02-list li > div {
    padding: 2% 6%; }

  .sec-02-list li h3 {
    font-size: 2rem;
    margin-bottom: 5%; }

  .sec-02-list li p {
    font-size: 1.4rem; }

  /* sec-03 */
  div.sec-03 {
    padding: 12% 0 7.4%; }

  .sec-03 ul.sec-03-list {
    margin: 8.4% auto 9.4%; }

  .sec-03-list li,
  .sec-03-list li a {
    font-size: 1.5rem;
    line-height: 1.78; }

  .sec-03-list li:not(:last-child) {
    margin-bottom: 7%; }

  .sec-03-list li span {
    display: block; }

  .sec-03-list li a {
    width: 100%; }

  .sec-03-list li a i {
    width: 22px;
    height: 22px;
    line-height: 0; }

  .sec-03 .arrow-link {
    width: 228px;
    margin: auto; }

  /* sec-04 */
  div.sec-04 {
    padding: 8.4% 0 28.6%; }

  .sec-04 ul.sec-04-list {
    max-width: 1040px; }

  .sec-04-list li {
    margin-bottom: 7%; }

  .sec-04-list li a {
    margin-bottom: 2.6%; }

  .sec-04-list li p {
    font-size: 1.5rem;
    line-height: 1.8; }

  .sec-04 div.map {
    position: relative; }

  .sec-04 .map iframe {
    border: 0; }

  .sec-04 .map:after {
    /*		top: -1px;*/
    height: 47px; }

  .sec-04 .map .headd-wrap div {
    padding: 3% 0; }

  .sec-04 .map .headd-wrap h2 {
    min-width: 72px;
    padding-bottom: 9px; }

  .sec-04 .map .headd-wrap strong {
    /*		font-size: 2.6rem;*/
    margin: 4.4% auto 2%;
    font-size: 5.416vw; }

  .sec-04 .map .headd-wrap p {
    font-size: 1.5rem;
    line-height: 1.46;
    margin-bottom: 3%; }

  /* sec-05 */
  div.sec-05 {
    padding: 4.8% 0 6%; }

  .sec-05 .inner-wrap p {
    text-align: center;
    font-size: 1.5rem;
    line-height: 1.68;
    margin-bottom: 4.2%; }

  .sec-05 .inner-wrap .arrow-link {
    max-width: 228px;
    margin: auto; } }
/* vw */
@media screen and (min-width: 481px) and (max-width: 640px) {
  .sec-01 div.cap-wrap p {
    font-size: 1.7rem !important; }

  .sec-04 .map .headd-wrap strong {
    font-size: 2.6rem !important; } }
/**==============================================**/
/**==============================================**/
/*
/*	SP 横
/*	〜 900px（高さ480pxまで）
/*
/**==============================================**/
/**==============================================**/
@media screen and (max-width: 1069px) and (max-height: 480px) {
  	/*
  	.main-img-wrap div.title-wrap strong {
  	width: 5.2% !important;
  	max-width: 90px;
  	margin-left: 60px;
  	margin-top: 99px !important;
  }
  
  	.date-wrap img.pc {
  	display: block !important;
  }
  	.date-wrap img.sp {
  	display: none !important;
  }
  	*/ }
/**==============================================**/
/**==============================================**/
/*
/*	tab
/*	601px 〜 960px
/*
/**==============================================**/
/**==============================================**/
@media screen and (min-width: 641px) and (max-width: 1069px) {
  /*@media screen and (min-width:641px) and (max-width:1069px) and (min-height: 481px) {*/
  /* main-img */
  .main-img-wrap div.cap-title {
    width: 65%;
    max-width: 470px;
    height: auto;
    top: 9%;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0); }

  /* sec-01 */
  div.sec-01 {
    padding: 1px 0 160px; }

  /* sec-01 */
  div.sec-01 {
    margin-top: 113%;
    /*		margin-top: 85vh;*/
    padding: 1px 0 0; }

  .sec-01 div.maru .maru-01 {
    width: 44.28%;
    max-width: 216px;
    right: 50%;
    -webkit-transform: translate(203%, 16%);
    -ms-transform: translate(203%, 16%);
    transform: translate(203%, 16%); }

  .sec-01 div.maru .maru-02 {
    width: 25.71%;
    max-width: 138px;
    right: 50%;
    -webkit-transform: translate(210%, 330%);
    -ms-transform: translate(210%, 330%);
    transform: translate(210%, 330%); }

  .sec-01 div.maru .maru-03 {
    width: 25.71%;
    max-width: 138px;
    left: 50%;
    -webkit-transform: translate(-300%, 330%);
    -ms-transform: translate(-300%, 330%);
    transform: translate(-300%, 330%); }

  .sec-01 div.maru .maru-04 {
    width: 14.76%;
    max-width: 92px;
    left: 50%;
    -webkit-transform: translate(-100%, 510%);
    -ms-transform: translate(-100%, 510%);
    transform: translate(-100%, 510%); }

  div.daruma-wrap {
    width: 71.3%;
    margin-top: -54%;
    margin-bottom: 5%;
    /*		max-width: 532px;*/ }

  .daruma-wrap > div {
    max-width: 414px;
    margin: auto;
    width: 77.6%; }

  .sec-01 div.cap-wrap {
    margin-bottom: 168px; }

  .sec-01 div.cap-wrap p {
    line-height: 2.08;
    width: 64%;
    font-size: 3.541;
    font-size: 23px; }

  .sec-01 div.catch-wrap {
    width: 16.2%;
    margin-left: 8%; }

  .sec-01-main .headd-wrap h2 {
    display: inline-block;
    max-width: 1076px;
    width: 100%; }

  .sec-01-main .headd-wrap h2 img {
    border-bottom: 3px solid #e50012;
    padding-bottom: 6px;
    margin-bottom: 12px; }

  .sec-01-main .headd-wrap h2 img:nth-child(1) {
    /*		width: 336px;*/
    width: 51%;
    padding-right: 1%; }

  .sec-01-main .headd-wrap h2 img:nth-child(2) {
    /*		width: 308px;*/
    width: 48%; }

  .sec-01-main .headd-wrap h2 img:nth-child(3) {
    /*		width: 402px;*/
    width: 100%; }

  .sec-01-main ul.sec-01-list {
    margin: 6% auto 0; }

  .sec-01-list li {
    margin-bottom: 12%; }

  .sec-01-list li h3 {
    margin-bottom: 4.6%; }

  .sec-01-list li p {
    font-size: 17px;
    line-height: 1.74;
    margin-bottom: 3%; }

  .sec-01 .arrow-link {
    width: 228px;
    margin: auto; }

  /* sec-02 */
  div.sec-02 {
    padding: 48px 0 33px; }

  .sec-02 div.headd-wrap h2 img:nth-child(1) {
    width: 56%; }

  .sec-02 div.headd-wrap h2 img:nth-child(2) {
    width: 39%; }

  .sec-02 ul.sec-02-list {
    margin: 11% auto 2%; }

  .sec-02-list li {
    margin-bottom: 12%; }

  .sec-02-list li > div {
    padding: 2% 6%; }

  .sec-02-list li h3 {
    font-size: 23px;
    margin-bottom: 17px; }

  .sec-02-list li p {
    font-size: 16px; }

  /* sec-03 */
  div.sec-03 {
    padding: 56px 0 72px; }

  .sec-03 ul.sec-03-list {
    width: 570px;
    margin: 56px auto 20px; }

  .sec-03-list li,
  .sec-03-list li a {
    font-size: 15px;
    line-height: 1.78; }

  .sec-03-list li > * {
    display: table-cell; }

  .sec-03-list li span {
    width: 120px; }

  .sec-03-list li a {
    width: 450px; }

  .sec-03-list li a i {
    width: 22px;
    height: 22px; }

  .sec-03 .arrow-link {
    width: 228px;
    margin: auto; }

  /* sec-04 */
  div.sec-04 {
    padding: 52px 0 126px; }

  .sec-04 ul.sec-04-list {
    max-width: 1040px; }

  .sec-04-list li:first-child {
    margin-bottom: 50px; }

  .sec-04-list li a {
    margin-bottom: 14px; }

  .sec-04-list li p {
    font-size: 15px;
    line-height: 1.4; }

  .sec-04 div.map {
    position: relative; }

  .sec-04 .map iframe {
    border: 0; }

  .sec-04 .map:after {
    height: 47px; }

  .sec-04 .map .headd-wrap:before {
    content: "";
    padding-top: 47.3%;
    display: block; }

  .sec-04 .map .headd-wrap div {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%; }

  .sec-04 .map .headd-wrap h2 {
    min-width: 72px;
    padding-bottom: 9px; }

  .sec-04 .map .headd-wrap strong {
    font-size: 26px;
    margin: 4.4% auto 2%; }

  .sec-04 .map .headd-wrap p {
    font-size: 15px;
    line-height: 1.46;
    margin-bottom: 10px; }

  /* sec-05 */
  div.sec-05 {
    padding: 30px 0; }

  .sec-05 .inner-wrap p {
    text-align: center;
    font-size: 16px;
    line-height: 1.68;
    margin-bottom: 20px; }

  .sec-05 .inner-wrap .arrow-link {
    max-width: 228px;
    margin: auto; } }
/**==============================================**/
/**==============================================**/
/*
/*	sp tab 共通
/*	〜 1069px 
/*
/**==============================================**/
/**==============================================**/
@media screen and (max-width: 1069px) {
  div.alt-anc {
    position: absolute; }

  /* main-img */
  /*
  	.main-img-wrap div.title-wrap {
  		width: 87.6%;
  		height: 100%;
  	}
  */
  div.main-img-wrap {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    height: 100vh; }

  div.main-img {
    height: 100vh; }

  .main-img-wrap div.main-img-cap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto; }

  /* sec-01 */
  div.daruma-wrap {
    max-width: 532px; }

  .sec-01 div.cap-wrap p {
    float: right; }

  .sec-01 div.catch-wrap {
    float: left; }

  .sec-01 .catch-wrap strong,
  .sec-01 .catch-wrap strong img {
    display: block;
    width: 100%;
    height: auto; }

  .sec-01-list li {
    position: relative; }

  .sec-01-list li > img.top {
    width: 24.28%;
    height: auto;
    position: absolute;
    top: 2%;
    left: -14%;
    z-index: -1; }

  .sec-01-list li > img.bottom {
    width: 14.76%;
    height: auto;
    position: absolute;
    bottom: 0%;
    right: -14%;
    z-index: -1; }

  .sec-01 div.maru .maru-01,
  .sec-01 div.maru .maru-02,
  .sec-01 div.maru .maru-03,
  .sec-01 div.maru .maru-04 {
    position: absolute;
    top: 0; }

  /* sec-02 */
  .sec-02 div.headd-wrap h2 img {
    display: inline-block; }

  .sec-02 ul.sec-02-list {
    width: 100%;
    max-width: 1046px; }

  .sec-02-list li:before,
  .sec-02-list li:after {
    border-width: 18px; }

  .sec-02-list li img {
    width: 33.55%;
    float: left; }

  .sec-02-list li > div {
    box-sizing: border-box; }

  .sec-02-list li div div {
    width: 60%;
    float: right; }

  .sec-02-list li h3 {
    line-height: 1.48; }

  .sec-02-list li h3 br {
    display: none; }

  .sec-02-list li p {
    line-height: 1.74;
    display: inline-block; }

  .sec-02 .arrow-link {
    width: 228px;
    margin: auto; }

  /* sec-03 */
  /* sec-04 */
  .sec-04 .map .headd-wrap {
    max-width: 364px;
    width: 75.84%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, 80%);
    -ms-transform: translate(-50%, 80%);
    transform: translate(-50%, 80%);
    text-align: center; }

  .sec-04 .map .headd-wrap h2 {
    border-bottom: 2px solid #fff;
    display: inline-block; }

  .sec-04 .map .headd-wrap strong {
    display: block; }

  /* sec-05 */
  .sec-05 .inner-wrap p {
    text-align: center;
    line-height: 1.68; }

  .sec-05 .inner-wrap .arrow-link {
    max-width: 228px;
    margin: auto; } }
/**==============================================**/
/**==============================================**/
/*
/*	PC 小型
/*	961px 〜 1280px
/*
/**==============================================**/
/**==============================================**/
@media print, screen and (min-width: 1070px) {
  header:not(.follow) div.h-logo {
    opacity: 0;
    transform: translateY(-160%);
    z-index: 7; }

  header div.header-wrap {
    width: 100%;
    position: relative; }

  div.content-wrap {
    overflow: hidden; }

  /* main-img */
  div.main-img-wrap {
    position: relative;
    margin-top: -80px;
    max-height: 836px;
    overflow: hidden; }
    div.main-img-wrap .banner {
      position: absolute;
      top: 30px;
      right: 9%;
      background-color: #fff;
      width: 271px;
      border-radius: 10px;
      z-index: 1;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
      div.main-img-wrap .banner a {
        display: block;
        width: 100%;
        height: 100%; }
      div.main-img-wrap .banner .flex {
        display: flex;
        justify-content: space-between;
        padding: 13px 20px; }
      div.main-img-wrap .banner .image {
        flex-basis: 20.25%;
        padding-right: 10px;
        display: flex;
        align-items: center; }
        div.main-img-wrap .banner .image img {
          max-width: 100%; }
      div.main-img-wrap .banner .text {
        flex: 1;
        font-size: 17px;
        line-height: 1.6;
        font-weight: bold;
        position: relative; }
        div.main-img-wrap .banner .text span {
          color: #e50012; }
        div.main-img-wrap .banner .text:after {
          content: "";
          width: 8px;
          height: 16px;
          background-image: url(../img/top/arrow_banner.svg);
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center;
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          right: -7px; }

  div.main-img {
    height: auto; }

  .main-img-wrap div.main-img-cap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto; }

  .main-img-cap div.cap-title {
    width: 36.16%;
    max-width: 470px;
    height: auto;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -94%);
    -ms-transform: translate(-50%, -94%);
    transform: translate(-50%, -94%); }

  .main-img-cap div.cap-catch {
    position: absolute;
    top: 50%;
    left: 16.5%;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    z-index: 8; }

  .main-img-cap div.cap-txt {
    color: #fff;
    position: absolute;
    top: 50%;
    right: 9%;
    -webkit-transform: translate(0, 2%);
    -ms-transform: translate(0, 2%);
    transform: translate(0, 2%);
    z-index: 8; }

  .main-img-cap .cap-txt p {
    font-size: 18px;
    line-height: 2.18;
    float: right;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    /*		display: block;*/
    /*		width: 230px;*/
    min-height: 15em; }

  .main-img-cap div.pamph-wrap {
    position: absolute;
    top: 50%;
    right: 2%;
    -webkit-transform: translate(0, -212%);
    -ms-transform: translate(0, -212%);
    transform: translate(0, -212%);
    z-index: 8; }

  .main-img-cap .pamph-wrap a {
    -webkit-transition-duration: .3s;
    -ms-transition-duration: .3s;
    transition-duration: .3s; }

  .main-img-cap .pamph-wrap a:hover {
    opacity: .8; }

  /* sec-01 */
  div.sec-01 {
    /*		margin-top: 140vh;*/
    padding: 1px 0 94px; }

  .sec-01 div.maru .maru-01,
  .sec-01 div.maru .maru-02,
  .sec-01 div.maru .maru-07,
  .sec-01 div.maru .maru-08 {
    width: 14.31%;
    max-width: 186px;
    position: absolute;
    top: 50%; }

  .sec-01 div.maru .maru-01 {
    left: 50%;
    -webkit-transform: translate(-384%, -293%);
    -ms-transform: translate(-384%, -293%);
    transform: translate(-384%, -293%); }

  .sec-01 div.maru .maru-02 {
    right: 50%;
    -webkit-transform: translate(382%, -293%);
    -ms-transform: translate(382%, -293%);
    transform: translate(382%, -293%); }

  .sec-01 div.maru .maru-03,
  .sec-01 div.maru .maru-04,
  .sec-01 div.maru .maru-05,
  .sec-01 div.maru .maru-06 {
    width: 8.31%;
    max-width: 108px;
    position: absolute;
    top: 50%; }

  .sec-01 div.maru .maru-03 {
    left: 50%;
    -webkit-transform: translate(-454%, -367%);
    -ms-transform: translate(-454%, -367%);
    transform: translate(-454%, -367%); }

  .sec-01 div.maru .maru-04 {
    right: 50%;
    -webkit-transform: translate(454%, -367%);
    -ms-transform: translate(454%, -367%);
    transform: translate(454%, -367%); }

  .sec-01 div.maru .maru-05 {
    right: 50%;
    -webkit-transform: translate(653%, -224%);
    -ms-transform: translate(653%, -224%);
    transform: translate(653%, -224%); }

  .sec-01 div.maru .maru-06 {
    left: 50%;
    -webkit-transform: translate(-645%, -23%);
    -ms-transform: translate(-645%, -23%);
    transform: translate(-645%, -23%); }

  .sec-01 div.maru .maru-07 {
    right: 50%;
    -webkit-transform: translate(382%, 90%);
    -ms-transform: translate(382%, 90%);
    transform: translate(382%, 90%); }

  .sec-01 div.maru .maru-08 {
    left: 50%;
    -webkit-transform: translate(-429%, 113%);
    -ms-transform: translate(-429%, 113%);
    transform: translate(-429%, 113%); }

  div.daruma-wrap {
    width: 40.93%;
    max-width: 532px;
    margin-top: -250px;
    margin-bottom: 80px;
    min-height: 490px; }

  .daruma-wrap > div {
    width: 77.82%;
    max-width: 414px;
    margin: auto; }

  .sec-01-main .headd-wrap h2 {
    display: inline-block;
    border-bottom: 5px solid #e50012;
    max-width: 1076px;
    width: 100%; }

  .sec-01-main .headd-wrap h2 img:nth-child(1) {
    /*		width: 336px;*/
    width: 31.22%; }

  .sec-01-main .headd-wrap h2 img:nth-child(2) {
    /*		width: 308px;*/
    width: 28.62%;
    margin: 0 .5%; }

  .sec-01-main .headd-wrap h2 img:nth-child(3) {
    /*		width: 402px;*/
    width: 37.36%; }

  .sec-01-main ul.sec-01-list {
    margin: 44px auto 0; }

  .sec-01-list li {
    float: left;
    width: 32%; }

  .sec-01-list li:not(:last-child) {
    margin-right: 2%; }

  .sec-01-list li h3 {
    margin-bottom: 23px; }

  .sec-01-list li p {
    font-size: 16px;
    line-height: 1.74;
    margin-bottom: 26px; }

  .sec-01 .arrow-link {
    width: 228px;
    margin: auto; }

  /* sec-02 */
  div.sec-02 {
    padding: 48px 0 48px; }

  .sec-02 ul.sec-02-list {
    width: 100%;
    max-width: 1046px;
    margin: 54px auto 50px; }

  .sec-02-list li {
    width: 18.4%;
    float: left;
    text-align: center; }

  .sec-02-list li:not(:last-child) {
    margin-right: 2%; }

  .sec-02-list li:before,
  .sec-02-list li:after {
    border-width: 18px; }

  .sec-02-list li img {
    width: 64.5%;
    max-width: 124px;
    margin: -1px auto 20px;
    position: relative; }

  .sec-02-list li h3 {
    font-size: 20px;
    line-height: 1.48;
    margin-bottom: 17px; }

  .sec-02-list li p {
    font-size: 14px;
    line-height: 1.74;
    display: inline-block;
    text-align: left;
    padding: 0 7% 0 6%;
    margin-bottom: -3px; }

  .sec-02 .arrow-link {
    width: 228px;
    margin: auto; }

  /* sec-03 */
  div.sec-03 {
    padding: 56px 0 72px; }

  .sec-03 ul.sec-03-list {
    width: 570px;
    margin: 56px auto 20px; }

  .sec-03-list li,
  .sec-03-list li a {
    font-size: 15px;
    line-height: 1.78; }

  .sec-03-list li > * {
    display: table-cell; }

  .sec-03-list li span {
    width: 120px; }

  .sec-03-list li a {
    width: 450px; }

  .sec-03-list li a i {
    width: 22px;
    height: 22px; }

  .sec-03 .arrow-link {
    width: 228px;
    margin: auto; }

  /* sec-04 */
  div.sec-04 {
    padding: 52px 0 66px; }

  .sec-04 ul.sec-04-list {
    max-width: 1040px;
    margin-bottom: 66px; }

  .sec-04-list li {
    width: 48.08%;
    max-width: 500px;
    float: left; }

  .sec-04-list li:last-child {
    float: right; }

  .sec-04-list li a {
    margin-bottom: 14px; }

  .sec-04-list li p {
    font-size: 15px; }

  .sec-04 div.map {
    position: relative;
    width: 84.62%;
    max-width: 1100px; }

  .sec-04 div#map-anc {
    top: -200px; }

  .sec-04 .map iframe {
    border: 0; }

  .sec-04 .map:after {
    height: 47px; }

  .sec-04 .map .headd-wrap {
    border-radius: 50%;
    width: 314px;
    height: 398px;
    position: absolute;
    top: 47px;
    left: 2.6%;
    padding-top: 2.6%;
    padding-bottom: 2.6%;
    box-sizing: border-box;
    /* -webkit-transform: translate(0, -41%); */
    /* transform: translateX(0, -41%); */
    text-align: center; }

  .sec-04 .map .headd-wrap:before {
    content: "";
    /* padding-top: 100%; */
    display: block; }

  .sec-04 .map .headd-wrap > div {
    /* position: absolute; */
    /* top: 50%; */
    /* transform: translateY(-50%); */
    /* left: 50%; */
    /* -webkit-transform: translate(-50%, -50%); */
    /* transform: translate(-50%, -50%); */
    width: 100%;
    height: 50%;
    box-sizing: border-box; }

  .sec-04 .map .headd-wrap h2 {
    border-bottom: 2px solid #fff;
    display: inline-block;
    min-width: 72px;
    padding-bottom: 6px;
    padding-top: 20px; }

  .sec-04 .map .headd-wrap strong {
    font-size: 21px;
    display: block;
    margin: 15px auto 13px; }

  .sec-04 .map .headd-wrap p {
    font-size: 15px;
    line-height: 1.46;
    /* margin-bottom: 18px; */ }

  /* sec-05 */
  div.sec-05 {
    padding: 30px 0 27px; }

  .sec-05 .inner-wrap p {
    /*float: left;*/
    text-align: center;
    line-height: 56px;
    padding-left: 50px;
    font-size: 15px; }

  .sec-05 .inner-wrap .arrow-link {
    float: right;
    margin-right: 50px; } }
@media screen and (min-width: 1070px) and (max-width: 1100px) {
  .main-img-cap div.cap-title {
    width: 34% !important; } }
/**==============================================**/
/**==============================================**/
/*
/*	PC 大型
/*	1281px 〜 （高さ801px以上）
/*
/**==============================================**/
/**==============================================**/
@media screen and (min-width: 1281px) and (min-height: 801px) {
  /* main-img */
  	/*
  	div.title-wrap {
  	max-width: 612px;
  }
  	div.catch-wrap {
  	max-width: 40px;
  }
  	*/ }
/**==============================================**/
/**==============================================**/
/*
/*	print
/*
/**==============================================**/
/**==============================================**/
@media print {
  /* main-img */
  div.main-img-wrap {
    max-width: 980px !important;
    height: 640px !important;
    overflow: hidden !important;
    position: relative !important;
    page-break-inside: avoid !important; }

  .main-img-wrap .main-img {
    height: 640px !important;
    background: url(../img/top/slide/main-img-01.jpg) 50% 50%/cover no-repeat !important; }

  .main-img-wrap .main-img * {
    display: none !important; }

  div.bg-wrap {
    max-width: 960px !important;
    width: 100% !important; }

  div.sec-01,
  div.sec-02,
  div.sec-03,
  div.sec-04,
  div.sec-05 {
    width: 100% !important; }

  div.sec-01 {
    margin-top: 0 !important;
    z-index: 99 !important;
    position: relative !important; }

  div.daruma-wrap {
    z-index: 100 !important; }

  div.daruma-wrap,
  .daruma-wrap .daruma {
    height: 100% !important;
    opacity: 1 !important; } }

.idxMovie {
  text-align: center;
  padding-bottom: 75px;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.idxMovie .yt {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.idxMovie .yt iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/*# sourceMappingURL=top.css.map */
