@charset "UTF-8";
/*---------------------------------------------
  Browser Default Initialization
---------------------------------------------*/
body {
  word-break: break-all;
  text-align: justify;
}

body,
div,
dl,
dt,
dd,
ul,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
section,
nav,
article,
aside,
hgroup,
header,
address,
figure,
figcaption {
  margin: 0;
  padding: 0;
  line-height: 1.8;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

q:before,
q:after {
  content: "";
}

object,
embed {
  vertical-align: top;
}

hr,
legend {
  display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
  border: 0;
}

img {
  width: 100%;
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}

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

a,
button,
input,
textarea {
  outline: none;
  text-decoration: none;
}

@media all and (max-width: 600px) {
  img {
    max-width: 100%;
    height: auto;
  }
}

/*---------------------------------------------
  FontSize Initialization
---------------------------------------------*/
html {
  scroll-behavior: smooth;
}

body {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
  -webkit-text-size-adjust: 100%;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #00205c;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.flow.u-pc-only {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: -1;
}

.flow .track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.flow .track img {
  height: 100vh;
  /* 高さをブラウザにフィット */
  width: auto;
  /* 比率維持 */
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* PCのみ表示 */
@media (max-width: 600px) {
  .u-pc-only {
    display: none;
  }
}

/* PCだけ表示、スマホでは非表示にしたい場合 */
@media (max-width: 601px) {
  .u-pc-only {
    display: none;
  }
}

@media all and (max-width: 600px) {
  .u-pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 601px), print {
  .u-sp-only {
    display: none !important;
  }
}

.u-move {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  -webkit-transition: 0.8s 0s;
  transition: 0.8s 0s;
}

.u-move.mtype2 {
  -webkit-transition: 0.8s 0.4s;
  transition: 0.8s 0.4s;
}

.u-move.mtype3 {
  -webkit-transition: 0.8s 0.6s;
  transition: 0.8s 0.6s;
}

.u-move.mtype4 {
  -webkit-transition: 0.8s 0.8s;
  transition: 0.8s 0.8s;
}

.u-move.act {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.u-movetxt span {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.u-movetxt span:nth-of-type(1) {
  -webkit-transition: 0.8s 0.4s;
  transition: 0.8s 0.4s;
}

.u-movetxt span:nth-of-type(2) {
  -webkit-transition: 0.8s 0.6s;
  transition: 0.8s 0.6s;
}

.u-movetxt span:nth-of-type(3) {
  -webkit-transition: 0.8s 0.8s;
  transition: 0.8s 0.8s;
}

.u-movetxt.act span {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.u-circle {
  -webkit-transform: scale(0);
          transform: scale(0);
  opacity: 0;
  -webkit-transition: 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0.2s;
  transition: 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0.2s;
}

.u-circle.ctype2 {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition: 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
  transition: 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
}

.u-circle.type3 {
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition: 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.8s;
  transition: 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0.8s;
}

.u-circle.act {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.u-moji {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.2s;
  transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.2s;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
          clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

.u-moji.type2 {
  -webkit-transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.4s;
  transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.4s;
}

.u-moji.type3 {
  -webkit-transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.6s;
  transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.6s;
}

.u-moji.type4 {
  -webkit-transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.8s;
  transition: 1.5s cubic-bezier(0, 0.96, 0.49, 0.91) 0.8s;
}

.u-moji.act {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
          clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}

@media screen and (min-width: 601px), print {
  #wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
  }
}

@media (min-width: 601px) and (max-width: 1025px) {
  #wrap {
    overflow: hidden;
  }
  #wrap .p-side {
    display: none;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  #wrap {
    gap: 0;
  }
}

@media (min-width: 601px) and (max-width: 768px) {
  #wrap {
    width: 500px;
    margin: 0 auto;
  }
}

body.in2 .l-header__logo {
  opacity: 1;
}

body.in3 .l-header-nav {
  opacity: 1;
  -webkit-transition: 0.8s 1.5s;
  transition: 0.8s 1.5s;
}

body.in3 .p-side {
  opacity: 1;
  -webkit-transition: 0.8s 1.5s;
  transition: 0.8s 1.5s;
}

.l-header__logo {
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

@media screen and (min-width: 601px), print {
  .l-header {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    z-index: 4;
  }
  .l-header .link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
  .l-header__logo {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 113px;
  }
  .l-header-nav {
    opacity: 0;
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-header-nav__tit {
    width: 226.4px;
    margin: 33px auto 0;
    display: block;
  }
  .l-header-nav-lists {
    width: 158px;
    margin: 45px auto 0;
    text-align: center;
  }
  .l-header-nav-list {
    margin: 8px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 35px;
    width: 100%;
    -webkit-transition: cubic-bezier(0.075, 0.82, 0.165, 1) 1.2s;
    transition: cubic-bezier(0.075, 0.82, 0.165, 1) 1.2s;
  }
  .l-header-nav-list:hover, .l-header-nav-list.act {
    background: rgba(111, 115, 176, 0.9);
  }
  .l-header-nav-list:hover span, .l-header-nav-list.act span {
    color: #fff;
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  .l-header-nav-list span {
    display: inline-block;
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    color: #00205c;
    font-size: 14px;
    padding: 0 0 2px;
  }
}

@media (min-width: 1026px) and (max-width: 1220px) {
  .l-header__logo {
    width: 96.6px;
  }
  .l-header-nav__tit {
    width: 174.7px;
  }
  .l-header-nav-lists {
    width: 128px;
    margin: 26px auto 0;
    text-align: center;
  }
  .l-header-nav-list {
    margin: 4px 0 0;
  }
  .l-header-nav-list span {
    font-size: 12px;
    padding: 0 0 1px;
  }
}

@media (min-width: 601px) and (max-width: 1025px) {
  .l-header {
    /*
    &__logo{
      width : 113px;
    }
    &-nav{
      &__tit{
        width : 150px;
      }
      &-lists{
        width : 140px;
        margin : 45px auto 0;
        text-align: center;
      }
    }
    */
  }
  .l-header__logo {
    width: 96.6px;
  }
  .l-header-nav__tit {
    width: 174.7px;
  }
  .l-header-nav-lists {
    width: 128px;
    margin: 26px auto 0;
    text-align: center;
  }
  .l-header-nav-list {
    margin: 4px 0 0;
  }
  .l-header-nav-list span {
    font-size: 12px;
    padding: 0 0 1px;
  }
}

@media (min-width: 601px) and (max-width: 768px) {
  .l-header-nav {
    display: none;
  }
}

.p-side {
  opacity: 0;
}

@media screen and (min-width: 601px), print {
  .p-side {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .p-side-box {
    position: fixed;
    z-index: 4;
    margin: 0 auto;
    max-width: 240px;
    width: 100%;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .p-side__tit {
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 10.88px;
    color: #00205c;
  }
  .p-side-items {
    margin: 26px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
  }
  .p-side-item__txt {
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 10.88px;
    color: #00205c;
  }
  .p-side-links {
    display: block;
    margin: 25px 0 0;
  }
  .p-side-link {
    -webkit-transition: background-image 0.8s;
    transition: background-image 0.8s;
    margin: 13px 0 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 40px;
    background-color: transparent;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(18%, #6573ba), to(#a184b9));
    background-image: linear-gradient(90deg, #6573ba 18%, #a184b9 100%);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
    border-radius: 35px;
  }
  .p-side-link::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: #00205c;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    z-index: 0;
  }
  .p-side-link.col2 {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(21%, #ae6baf), color-stop(47%, #b277b8), color-stop(96%, #bc98d3), to(#be9cd6));
    background-image: linear-gradient(90deg, #ae6baf 21%, #b277b8 47%, #bc98d3 96%, #be9cd6 100%);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
  }
  .p-side-link:hover:before {
    opacity: 1;
  }
  .p-side-link span {
    position: relative;
    z-index: 2;
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #fff;
    font-size: 14px;
    padding: 0 0 2px;
  }
}

@media (min-width: 1026px) and (max-width: 1220px) {
  .p-side-box {
    max-width: 199px;
  }
  .p-side__tit {
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 10.88px;
    color: #00205c;
  }
  .p-side-items {
    margin: 21px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
  }
  .p-side-item__txt {
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 10.88px;
    color: #00205c;
  }
  .p-side-links {
    display: block;
    margin: 19px 0 0;
  }
  .p-side-link {
    -webkit-transition: background-image 0.8s;
    transition: background-image 0.8s;
    margin: 10px 0 0;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 32px;
    background-color: transparent;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(18%, #6573ba), to(#a184b9));
    background-image: linear-gradient(90deg, #6573ba 18%, #a184b9 100%);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
    border-radius: 35px;
  }
  .p-side-link::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: #00205c;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    z-index: 0;
  }
  .p-side-link.col2 {
    background-image: -webkit-gradient(linear, left top, right top, color-stop(21%, #ae6baf), color-stop(47%, #b277b8), color-stop(96%, #bc98d3), to(#be9cd6));
    background-image: linear-gradient(90deg, #ae6baf 21%, #b277b8 47%, #bc98d3 96%, #be9cd6 100%);
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
  }
  .p-side-link:hover:before {
    opacity: 1;
  }
  .p-side-link span {
    position: relative;
    z-index: 2;
    font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #fff;
    font-size: 12px;
    padding: 0 0 2px;
  }
}

.p-topwrap {
  position: relative;
}

@media screen and (min-width: 601px), print {
  .p-topwrap {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 500px;
            flex: 0 0 500px;
    max-width: 500px;
    margin: 0 auto;
  }
  .p-topwrap:before {
    content: "";
    position: absolute;
    z-index: -1;
    background: url(../img/bg_side_01.png) top right repeat-y;
    background-size: 90px auto;
    width: 90px;
    height: 100%;
    top: 0;
    left: -90px;
  }
  .p-topwrap:after {
    content: "";
    position: absolute;
    z-index: -1;
    background: url(../img/bg_side_02.png) top left repeat-y;
    background-size: 90px auto;
    width: 90px;
    height: 100%;
    top: 0;
    right: -90px;
  }
}

.p-mv {
  position: relative;
}

.p-mv__photo {
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.p-mv__ico {
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.p-mv__tit {
  opacity: 0;
  -webkit-transition: 1.3s;
  transition: 1.3s;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}

.p-mv-copy {
  -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
          clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  -webkit-transition: 1.2s 0s;
  transition: 1.2s 0s;
}

.p-mv.in .p-mv__photo {
  opacity: 1;
}

.p-mv.in2 .p-mv__ico {
  opacity: 1;
}

.p-mv.in2 .p-mv__tit {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.p-mv.in3 .p-mv-copy {
  opacity: 1;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.p-mv__ico {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
}

.p-mv__ico img {
  display: block;
}

.p-mv__tit {
  position: absolute;
  display: block;
}

.p-mv__tit img {
  display: block;
}

.p-mv-copy {
  position: absolute;
  display: block;
}

.p-mv-copy img {
  display: block;
}

@media all and (max-width: 600px) {
  .p-mv {
    min-height: 189.16667vw;
  }
  .p-mv__ico {
    top: 4.51667vw;
    left: 4.35vw;
    width: 27.60417vw;
  }
  .p-mv-copy {
    top: 13.33333vw;
    left: 24vw;
    width: 55.625vw;
  }
  .p-mv__tit {
    top: 106vw;
    left: 13.68333vw;
    width: 73.37985vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-mv__ico {
    top: 22.58243px;
    left: 21.74913px;
    width: 138.01531px;
  }
  .p-mv-copy {
    top: 41.665px;
    left: 114.9954px;
    width: 283.322px;
  }
  .p-mv__tit {
    top: 541.645px;
    left: 68.41393px;
    width: 366.88457px;
  }
}

@media (min-width: 769px) {
  .p-mv__ico {
    display: none;
  }
}

@-webkit-keyframes fadeSwitch {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeSwitch {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*
@media all and (max-width: 600px) {
#cloudMask path {
  transform-origin: center;
  transform-box: fill-box; 
  animation: cloudMaskRotateScalesp 6s ease-in-out infinite alternate;
}

}
@media screen and (min-width: 601px),print {
#cloudMask path {
  animation: cloudMaskRotateScale 6s ease-in-out infinite alternate;
}
}
*/
@-webkit-keyframes cloudMaskRotateScale {
  0% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
  25% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  50% {
    -webkit-transform: rotate(-1deg) scale(0.7);
            transform: rotate(-1deg) scale(0.7);
  }
  75% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  100% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
}
@keyframes cloudMaskRotateScale {
  0% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
  25% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  50% {
    -webkit-transform: rotate(-1deg) scale(0.7);
            transform: rotate(-1deg) scale(0.7);
  }
  75% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  100% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
}

@-webkit-keyframes cloudMaskRotateScalesp {
  0% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
  25% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  50% {
    -webkit-transform: rotate(-1deg) scale(0.7);
            transform: rotate(-1deg) scale(0.7);
  }
  75% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  100% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
}

@keyframes cloudMaskRotateScalesp {
  0% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
  25% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  50% {
    -webkit-transform: rotate(-1deg) scale(0.7);
            transform: rotate(-1deg) scale(0.7);
  }
  75% {
    -webkit-transform: rotate(1deg) scale(0.7);
            transform: rotate(1deg) scale(0.7);
  }
  100% {
    -webkit-transform: rotate(0deg) scale(0.7);
            transform: rotate(0deg) scale(0.7);
  }
}

@-webkit-keyframes float {
  0% {
    -webkit-transform: scale(0.9) translate(0, 0);
            transform: scale(0.9) translate(0, 0);
  }
  50% {
    -webkit-transform: scale(1) translate(1px, -2px);
            transform: scale(1) translate(1px, -2px);
  }
  100% {
    -webkit-transform: scale(0.9) translate(0, 0);
            transform: scale(0.9) translate(0, 0);
  }
}

@keyframes float {
  0% {
    -webkit-transform: scale(0.9) translate(0, 0);
            transform: scale(0.9) translate(0, 0);
  }
  50% {
    -webkit-transform: scale(1) translate(1px, -2px);
            transform: scale(1) translate(1px, -2px);
  }
  100% {
    -webkit-transform: scale(0.9) translate(0, 0);
            transform: scale(0.9) translate(0, 0);
  }
}

/*
@keyframes cloudMaskRotateScale {
  0%   { transform: rotate(0deg) scale(1); }
  25%  { transform: rotate(2deg) scale(0.95); }
  50%  { transform: rotate(-3deg) scale(0.9); }
  75%  { transform: rotate(1deg) scale(0.95); }
  100% { transform: rotate(0deg) scale(1); }
}
*/
@-webkit-keyframes moveDiagonal {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(12%, 2%);
            transform: translate(12%, 2%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(12%, 2%);
            transform: translate(12%, 2%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}
@keyframes moveDiagonal {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(12%, 2%);
            transform: translate(12%, 2%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(12%, 2%);
            transform: translate(12%, 2%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@-webkit-keyframes moveDiagonal2 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(-12%, 2%);
            transform: translate(-12%, 2%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(-12%, 2%);
            transform: translate(-12%, 2%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@keyframes moveDiagonal2 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(-12%, 2%);
            transform: translate(-12%, 2%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(-12%, 2%);
            transform: translate(-12%, 2%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@-webkit-keyframes moveDiagonal3 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(35%, 25%);
            transform: translate(35%, 25%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(35%, 25%);
            transform: translate(35%, 25%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@keyframes moveDiagonal3 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(35%, 25%);
            transform: translate(35%, 25%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(35%, 25%);
            transform: translate(35%, 25%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@-webkit-keyframes moveDiagonal4 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(-24%, -5%);
            transform: translate(-24%, -5%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(-24%, -5%);
            transform: translate(-24%, -5%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@keyframes moveDiagonal4 {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  70% {
    -webkit-transform: translate(-24%, -5%);
            transform: translate(-24%, -5%);
  }
  /* ゆっくり移動 */
  85% {
    -webkit-transform: translate(-24%, -5%);
            transform: translate(-24%, -5%);
  }
  /* ちょっと停止 */
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  /* サッと戻る */
}

@-webkit-keyframes maskMove {
  /*
  0% {
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: 100%;
    mask-size: 100%;
  }
  50% {
    -webkit-mask-position: 25px 0;
    mask-position: 25px 0;
    -webkit-mask-size: 95%;
    mask-size: 95%;
  }
  100% {
    -webkit-mask-position: 50px 0;
    mask-position: 50px 0;
    -webkit-mask-size: 100%;
    mask-size: 100%;
  }*/
  0% {
    -webkit-mask-size: 150% 90%;
    mask-size: 150% 90%;
  }
  50% {
    -webkit-mask-size: 110% 100%;
    mask-size: 110% 100%;
  }
  100% {
    -webkit-mask-size: 120% 95%;
    mask-size: 120% 95%;
  }
}

@keyframes maskMove {
  /*
  0% {
    -webkit-mask-position: 0 0;
    mask-position: 0 0;
    -webkit-mask-size: 100%;
    mask-size: 100%;
  }
  50% {
    -webkit-mask-position: 25px 0;
    mask-position: 25px 0;
    -webkit-mask-size: 95%;
    mask-size: 95%;
  }
  100% {
    -webkit-mask-position: 50px 0;
    mask-position: 50px 0;
    -webkit-mask-size: 100%;
    mask-size: 100%;
  }*/
  0% {
    -webkit-mask-size: 150% 90%;
    mask-size: 150% 90%;
  }
  50% {
    -webkit-mask-size: 110% 100%;
    mask-size: 110% 100%;
  }
  100% {
    -webkit-mask-size: 120% 95%;
    mask-size: 120% 95%;
  }
}

@-webkit-keyframes maskMove2 {
  0% {
    -webkit-mask-size: 110% 100%;
    mask-size: 110% 100%;
  }
  45% {
    -webkit-mask-size: 130% 90%;
    mask-size: 130% 90%;
  }
  100% {
    -webkit-mask-size: 110% 100%;
    mask-size: 110% 100%;
  }
}

@keyframes maskMove2 {
  0% {
    -webkit-mask-size: 110% 100%;
    mask-size: 110% 100%;
  }
  45% {
    -webkit-mask-size: 130% 90%;
    mask-size: 130% 90%;
  }
  100% {
    -webkit-mask-size: 110% 100%;
    mask-size: 110% 100%;
  }
}

@-webkit-keyframes maskMove3 {
  0% {
    -webkit-mask-size: 130% 80%;
    mask-size: 130% 80%;
  }
  50% {
    -webkit-mask-size: 110% 75%;
    mask-size: 110% 75%;
  }
  100% {
    -webkit-mask-size: 120% 80%;
    mask-size: 120% 80%;
  }
}

@keyframes maskMove3 {
  0% {
    -webkit-mask-size: 130% 80%;
    mask-size: 130% 80%;
  }
  50% {
    -webkit-mask-size: 110% 75%;
    mask-size: 110% 75%;
  }
  100% {
    -webkit-mask-size: 120% 80%;
    mask-size: 120% 80%;
  }
}

.p-top01 {
  position: relative;
}

.p-top01:before {
  content: "";
  position: absolute;
  z-index: -1;
  background: url(../img/bg_01_sp.png) top center no-repeat;
  width: 100%;
  top: 0;
  left: 0;
}

.p-top01__ico {
  display: block;
}

.p-top01__ico img {
  display: block;
}

.p-top01-item {
  position: relative;
}

.p-top01-item-txtbox {
  position: absolute;
  z-index: 2;
}

.p-top01-item__tit {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  letter-spacing: 0.05em;
}

.p-top01-item__tit span {
  display: inline-block;
  padding: 0 0 3px;
  border-bottom: solid 1px #00205c;
}

.p-top01-item__txt {
  line-height: 1.7;
  letter-spacing: 0.05em;
}

.p-top01-item-photowrap {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  -webkit-transform-origin: top center;
          transform-origin: top center;
}

.p-top01-item__photo.type1 img {
  -webkit-mask-image: url("../img/mask_02.png");
          mask-image: url("../img/mask_02.png");
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: right;
          mask-position: right;
  width: 100%;
  height: auto;
  display: block;
  -webkit-animation: maskMove 7s ease-in-out infinite alternate;
          animation: maskMove 7s ease-in-out infinite alternate;
}

.p-top01-item__photo.type2 img {
  -webkit-mask-image: url("../img/mask_01.png");
          mask-image: url("../img/mask_01.png");
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: left;
          mask-position: left;
  width: 100%;
  height: auto;
  display: block;
  -webkit-animation: maskMove2 10s ease-in-out infinite alternate;
          animation: maskMove2 10s ease-in-out infinite alternate;
}

.p-top01-item__photo.type3 img {
  -webkit-mask-image: url("../img/mask_03.png");
          mask-image: url("../img/mask_03.png");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: right;
          mask-position: right;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 100%;
  height: auto;
  display: block;
  -webkit-animation: maskMove3 8s ease-in-out infinite alternate;
          animation: maskMove3 8s ease-in-out infinite alternate;
}

.p-top01-item-photo2wrap {
  position: absolute;
  z-index: 2;
}

.p-top01-item__photo2 {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  -webkit-animation: fadeSwitch 3s infinite;
          animation: fadeSwitch 3s infinite;
}

.p-top01-item__photo2.type1 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.p-top01-item__photo2.type2 {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

.p-top01-item__photo2 img {
  display: block;
}

.p-top01-item__ico {
  position: absolute;
  z-index: 2;
}

.p-top01-item__ico img {
  display: block;
}

.p-top01-cont {
  text-align: center;
}

.p-top01-cont__tit {
  position: relative;
}

.p-top01-cont__inner {
  background: rgba(255, 255, 255, 0.9);
}

.p-top01-cont-box {
  position: relative;
}

.p-top01-cont-box.act .p-top01-cont__ico.type1 {
  -webkit-animation: moveDiagonal3 4s 0.8s ease-in-out infinite;
          animation: moveDiagonal3 4s 0.8s ease-in-out infinite;
}

.p-top01-cont-box.act .p-top01-cont__ico.type2 {
  -webkit-animation: moveDiagonal4 4s 0.8s ease-in-out infinite;
          animation: moveDiagonal4 4s 0.8s ease-in-out infinite;
}

.p-top01-cont-box.act .p-top01-cont__ico.type3 {
  -webkit-animation: moveDiagonal 4s 0.8s ease-in-out infinite;
          animation: moveDiagonal 4s 0.8s ease-in-out infinite;
}

.p-top01-cont-box.act .p-top01-cont__ico.type4 {
  -webkit-animation: moveDiagonal2 4s 0.8s ease-in-out infinite;
          animation: moveDiagonal2 4s 0.8s ease-in-out infinite;
}

.p-top01-cont-box.act .p-top01-cont__ico.type5 {
  -webkit-animation: moveDiagonal2 4s 0.8s ease-in-out infinite;
          animation: moveDiagonal2 4s 0.8s ease-in-out infinite;
}

.p-top01-cont__ico {
  position: absolute;
  z-index: 2;
}

.p-top01-cont__ico img {
  display: block;
}

.p-top01-cont__ico.type7 {
  -webkit-clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
          clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
  -webkit-transition: -webkit-clip-path 0.5s ease;
  transition: -webkit-clip-path 0.5s ease;
  transition: clip-path 0.5s ease;
  transition: clip-path 0.5s ease, -webkit-clip-path 0.5s ease;
}

.p-top01-cont__ico.type7.act {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.p-top01-cont__txt {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.p-top01-cont__txt .big {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  position: relative;
  padding: 0 10px;
}

.p-top01-cont__txt .big:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 26px;
  background: url(../img/bg_txt.png) bottom center;
  background-size: cover;
  z-index: -1;
}

.p-top01-cont__txt2 {
  position: absolute;
  z-index: 2;
}

.p-top01-cont__txt2 img {
  display: block;
}

.p-top01-cont2 {
  position: relative;
}

.p-top01-cont2__tit {
  position: absolute;
  display: block;
  color: #fff;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.6;
}

.p-top01-cont2__ico {
  position: absolute;
  z-index: 2;
}

.p-top01-cont2__ico img {
  display: block;
}

.p-top01-cont3 {
  position: relative;
}

.p-top01-cont3__tit {
  display: block;
  color: #fff;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  line-height: 1.5;
}

.p-top01-cont3__txt {
  position: absolute;
  z-index: 2;
}

.p-top01-cont3__txt img {
  display: block;
}

.p-top01-cont3__ico {
  position: absolute;
  z-index: 2;
}

.p-top01-cont3__ico img {
  display: block;
}

@media all and (max-width: 600px) {
  .p-top01 {
    min-height: 1006.66667vw;
  }
  .p-top01:before {
    top: 0;
    left: 0;
    min-height: 1006.66667vw;
    background-size: 100vw auto;
  }
  .p-top01__inner {
    padding: 35.16667vw 2.5vw 26vw 2.5vw;
  }
  .p-top01__ico {
    margin: 0vw auto 0vw;
    width: 37.88333vw;
  }
  .p-top01__arrow {
    margin: 1.83333vw auto 0vw;
    width: 89.65203vw;
  }
  .p-top01-item.type1 {
    width: 100%;
    min-height: 106.32032vw;
  }
  .p-top01-item.type2 {
    margin: 5.83333vw 0vw 0vw 0vw;
    width: 100%;
    min-height: 106.32032vw;
  }
  .p-top01-item.type3 {
    margin: 3.83333vw 0vw 0vw 0vw;
    width: 100%;
    min-height: 107.93058vw;
  }
  .p-top01-item-photowrap {
    width: 100%;
  }
  .p-top01-item-photo2wrap {
    bottom: -0.83333vw;
    right: 6.66667vw;
    width: 36vw;
    height: 36vw;
  }
  .p-top01-item__photo2 {
    width: 36vw;
    height: 36vw;
  }
  .p-top01-item-txtbox {
    top: 22.83333vw;
    left: 58.16667vw;
  }
  .p-top01-item-txtbox.type2 {
    top: 13vw;
    left: 7.66667vw;
  }
  .p-top01-item-txtbox.type3 {
    top: 16.33333vw;
    left: 40.83333vw;
  }
  .p-top01-item__tit {
    font-size: 24px;
    font-size: 4vw;
  }
  .p-top01-item__tit span {
    padding: 0vw 0vw 0.5vw 0vw;
  }
  .p-top01-item__txt {
    margin: 1.33333vw 0vw 0vw 0vw;
    font-size: 36px;
    font-size: 6vw;
  }
  .p-top01-item__ico.type1 {
    top: 60.66667vw;
    left: 43.5vw;
    width: 17.67972vw;
  }
  .p-top01-item__ico.type2 {
    top: 50.33333vw;
    left: 22.33333vw;
    width: 15.41667vw;
  }
  .p-top01-item__ico.type3 {
    top: 51.66667vw;
    left: 57.66667vw;
    width: 25vw;
  }
  .p-top01-cont {
    margin: 10vw 0vw 0vw 0vw;
  }
  .p-top01-cont__tit {
    display: block;
    z-index: 2;
    top: 2.66667vw;
    width: 49.33333vw;
    margin: 0vw auto 0vw;
  }
  .p-top01-cont__inner {
    border-radius: 13.33333vw 13.33333vw 13.33333vw 13.33333vw;
    padding: 0vw 0vw 13.33333vw 0vw;
    margin: 0vw auto 0vw;
    width: 88.33333vw;
  }
  .p-top01-cont-box.type1 {
    padding: 3.33333vw 0vw 0vw 0vw;
  }
  .p-top01-cont-box.type2 {
    padding: 15.16667vw 0vw 0vw 0vw;
  }
  .p-top01-cont__txt {
    margin: 2.5vw 0vw 0vw 0vw;
    font-size: 30px;
    font-size: 5vw;
  }
  .p-top01-cont__txt .big {
    font-size: 36px;
    font-size: 6vw;
    padding: 0vw 1.66667vw 0vw 1.66667vw;
  }
  .p-top01-cont__txt .big:before {
    bottom: -0.83333vw;
    height: 4.33333vw;
  }
  .p-top01-cont__txt2.type1 {
    left: 32.5vw;
    top: 7vw;
    width: 24vw;
  }
  .p-top01-cont__txt2.type2 {
    left: 62.5vw;
    top: 28.66667vw;
    width: 8.91667vw;
  }
  .p-top01-cont__photo {
    position: relative;
  }
  .p-top01-cont__photo.type1 {
    width: 49.58333vw;
    left: 20.66667vw;
  }
  .p-top01-cont__photo.type2 {
    width: 52.25vw;
    left: 16.83333vw;
  }
  .p-top01-cont__ico.type1 {
    left: 22.5vw;
    top: 10.5vw;
    width: 11vw;
  }
  .p-top01-cont__ico.type2 {
    top: 33.83333vw;
    left: 61.33333vw;
    width: 10.58333vw;
  }
  .p-top01-cont__ico.type3 {
    left: 26.66667vw;
    top: 18.5vw;
    width: 8vw;
  }
  .p-top01-cont__ico.type4 {
    left: 48.66667vw;
    top: 13vw;
    width: 7.33333vw;
  }
  .p-top01-cont__ico.type5 {
    left: 55.16667vw;
    top: 24.33333vw;
    width: 6.66667vw;
  }
  .p-top01-cont__ico.type6 {
    left: 3.66667vw;
    top: 25.83333vw;
    width: 25vw;
  }
  .p-top01-cont__ico.type7 {
    left: 26.66667vw;
    top: 16.33333vw;
    width: 35.66667vw;
  }
  .p-top01-cont__ico.type8 {
    left: 5vw;
    top: 39.66667vw;
    width: 22.75vw;
  }
  .p-top01-cont2 {
    margin: 14.83333vw 0vw 0vw 0vw;
  }
  .p-top01-cont2__tit {
    left: 8.33333vw;
    top: 8.33333vw;
    font-size: 36px;
    font-size: 6vw;
  }
  .p-top01-cont2__ico.type1 {
    left: 4.83333vw;
    top: 42.5vw;
    width: 37.24407vw;
  }
  .p-top01-cont2__ico.type2 {
    left: 47.66667vw;
    top: 35.66667vw;
    width: 33.61042vw;
  }
  .p-top01-cont2__ico.type3 {
    left: 7.83333vw;
    top: 91vw;
    width: 31.83132vw;
  }
  .p-top01-cont3 {
    padding: 7.5vw 0vw 0vw 0vw;
  }
  .p-top01-cont3__tit {
    margin: 3vw auto 0vw;
    font-size: 34px;
    font-size: 5.66667vw;
  }
  .p-top01-cont3__tit2 {
    margin: 0vw auto 0vw;
    width: 40.6101vw;
  }
  .p-top01-cont3__photo {
    margin: 14.33333vw 0vw 0vw 0vw;
    width: 71.4739vw;
  }
  .p-top01-cont3__txt {
    left: 11vw;
    top: 71.83333vw;
    width: 17.95425vw;
  }
  .p-top01-cont3__ico.type1 {
    left: 9.66667vw;
    top: 40.83333vw;
    width: 36.88392vw;
  }
  .p-top01-cont3__ico.type2 {
    left: 50.83333vw;
    top: 46.33333vw;
    width: 45.45097vw;
  }
  .p-top01-cont3__ico.type3 {
    left: 38.33333vw;
    top: 79.16667vw;
    width: 57.87597vw;
  }
  .p-top01-cont3__ico.type4 {
    left: 49.16667vw;
    top: 98.5vw;
    width: 41.33487vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top01 {
    max-width: 500px;
    margin: 0 auto;
    min-height: 5033.132px;
  }
  .p-top01:before {
    top: 0;
    left: 0;
    min-height: 5833.1px;
    background-size: 499.98px auto;
  }
  .p-top01__inner {
    padding: 175.8263px 12.4995px 129.9948px 12.4995px;
  }
  .p-top01__ico {
    margin: 0px auto 0px;
    width: 189.40909px;
  }
  .p-top01__arrow {
    margin: 9.1663px auto 0px;
    width: 448.24224px;
  }
  .p-top01-item.type2 {
    margin: 29.1655px 0px 0px 0px;
  }
  .p-top01-item.type3 {
    margin: 19.1659px 0px 0px 0px;
  }
  .p-top01-item-photo2wrap {
    bottom: -4.1665px;
    right: 33.332px;
    width: 179.9928px;
    height: 179.9928px;
  }
  .p-top01-item__photo2 {
    width: 179.9928px;
    height: 179.9928px;
  }
  .p-top01-item-txtbox {
    top: 114.1621px;
    left: 290.8217px;
  }
  .p-top01-item-txtbox.type2 {
    top: 64.9974px;
    left: 38.3318px;
  }
  .p-top01-item-txtbox.type3 {
    top: 81.6634px;
    left: 204.1585px;
  }
  .p-top01-item__tit {
    font-size: 24px;
    font-size: 19.9992px;
  }
  .p-top01-item__tit span {
    padding: 0px 0px 2.4999px 0px;
  }
  .p-top01-item__txt {
    margin: 6.6664px 0px 0px 0px;
    font-size: 36px;
    font-size: 29.9988px;
  }
  .p-top01-item__ico.type1 {
    top: 303.3212px;
    left: 217.4913px;
    width: 88.39505px;
  }
  .p-top01-item__ico.type2 {
    top: 251.6566px;
    left: 111.6622px;
    width: 77.08025px;
  }
  .p-top01-item__ico.type3 {
    top: 258.323px;
    left: 288.3218px;
    width: 124.995px;
  }
  .p-top01-cont {
    margin: 49.998px 0px 0px 0px;
  }
  .p-top01-cont__tit {
    display: block;
    z-index: 2;
    top: 13.3328px;
    width: 246.6568px;
    margin: 0px auto 0px;
  }
  .p-top01-cont__inner {
    border-radius: 66.664px 66.664px 66.664px 66.664px;
    padding: 0px 0px 66.664px 0px;
    margin: 0px auto 0px;
    width: 441.649px;
  }
  .p-top01-cont-box.type1 {
    padding: 16.666px 0px 0px 0px;
  }
  .p-top01-cont-box.type2 {
    padding: 75.8303px 0px 0px 0px;
  }
  .p-top01-cont__txt {
    margin: 12.4995px 0px 0px 0px;
    font-size: 30px;
    font-size: 24.999px;
  }
  .p-top01-cont__txt.type2 {
    margin: 20.8325px 0px 0px 0px;
  }
  .p-top01-cont__txt .big {
    font-size: 36px;
    font-size: 29.9988px;
  }
  .p-top01-cont__txt2.type1 {
    left: 162.4935px;
    top: 34.9986px;
    width: 119.9952px;
  }
  .p-top01-cont__txt2.type2 {
    left: 312.4875px;
    top: 143.3276px;
    width: 44.58155px;
  }
  .p-top01-cont__photo {
    position: relative;
  }
  .p-top01-cont__photo.type1 {
    width: 247.90675px;
    left: 103.3292px;
  }
  .p-top01-cont__photo.type2 {
    width: 261.23955px;
    left: 84.1633px;
  }
  .p-top01-cont__ico.type1 {
    left: 112.4955px;
    top: 52.4979px;
    width: 54.9978px;
  }
  .p-top01-cont__ico.type2 {
    top: 169.1599px;
    left: 306.6544px;
    width: 52.91455px;
  }
  .p-top01-cont__ico.type3 {
    left: 133.328px;
    top: 92.4963px;
    width: 39.9984px;
  }
  .p-top01-cont__ico.type4 {
    left: 243.3236px;
    top: 64.9974px;
    width: 36.6652px;
  }
  .p-top01-cont__ico.type5 {
    left: 275.8223px;
    top: 121.6618px;
    width: 33.332px;
  }
  .p-top01-cont__ico.type6 {
    left: 18.3326px;
    top: 129.1615px;
    width: 124.995px;
  }
  .p-top01-cont__ico.type7 {
    left: 133.328px;
    top: 81.6634px;
    width: 178.3262px;
  }
  .p-top01-cont__ico.type8 {
    left: 24.999px;
    top: 198.3254px;
    width: 113.74545px;
  }
  .p-top01-cont2 {
    margin: 74.1637px 0px 0px 0px;
  }
  .p-top01-cont2__tit {
    left: 41.665px;
    top: 41.665px;
    font-size: 36px;
    font-size: 29.9988px;
  }
  .p-top01-cont2__ico.type1 {
    left: 24.1657px;
    top: 212.4915px;
    width: 186.21288px;
  }
  .p-top01-cont2__ico.type2 {
    left: 238.3238px;
    top: 178.3262px;
    width: 168.04536px;
  }
  .p-top01-cont2__ico.type3 {
    left: 39.1651px;
    top: 454.9818px;
    width: 159.15022px;
  }
  .p-top01-cont3 {
    padding: 37.4985px 0px 0px 0px;
  }
  .p-top01-cont3__tit {
    margin: 14.9994px auto 0px;
    font-size: 34px;
    font-size: 28.3322px;
  }
  .p-top01-cont3__tit2 {
    margin: 0px auto 0px;
    width: 203.04238px;
  }
  .p-top01-cont3__photo {
    margin: 71.6638px 0px 0px 0px;
    width: 357.35521px;
  }
  .p-top01-cont3__txt {
    left: 54.9978px;
    top: 359.1523px;
    width: 89.76766px;
  }
  .p-top01-cont3__ico.type1 {
    left: 48.3314px;
    top: 195.8255px;
    width: 184.41221px;
  }
  .p-top01-cont3__ico.type2 {
    left: 254.1565px;
    top: 223.3244px;
    width: 227.24574px;
  }
  .p-top01-cont3__ico.type3 {
    left: 191.659px;
    top: 387.4845px;
    width: 289.36826px;
  }
  .p-top01-cont3__ico.type4 {
    left: 245.8235px;
    top: 484.1473px;
    width: 206.66607px;
  }
}

.p-top02 {
  position: relative;
}

.p-top02:before {
  content: "";
  position: absolute;
  z-index: 1;
  background: url(../img/bg_02.png) top center no-repeat;
  background-size: cover;
  width: 100%;
}

.p-top02__inner {
  position: relative;
  z-index: 2;
}

.p-top02__tit {
  display: block;
}

.p-top02__tit img {
  display: block;
}

.p-top02__tit2 {
  display: block;
}

.p-top02__tit2 img {
  display: block;
}

.p-top02__txt {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.3;
  text-align: center;
  letter-spacing: -0.05em;
}

.p-top02__txt2 {
  line-height: 1.95;
  text-align: center;
  letter-spacing: -0.03em;
}

@media all and (max-width: 600px) {
  .p-top02:before {
    top: -21.66667vw;
    min-height: 187.33333vw;
    left: 0;
  }
  .p-top02__inner {
    padding: 13.66667vw 2.5vw 26vw 2.5vw;
  }
  .p-top02__tit {
    margin: 0vw auto 0vw;
    width: 34.33333vw;
  }
  .p-top02__tit2 {
    margin: 11.33333vw auto 0vw;
    width: 45.1vw;
  }
  .p-top02__txt {
    margin: 10vw auto 0vw;
    font-size: 32px;
    font-size: 5.33333vw;
  }
  .p-top02__txt2 {
    margin: 5.83333vw auto 0vw;
    font-size: 25px;
    font-size: 4.16667vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top02 {
    max-width: 500px;
    margin: 0 auto;
  }
  .p-top02:before {
    top: -108.329px;
    min-height: 994.9602px;
    left: 0;
  }
  .p-top02__inner {
    padding: 68.3306px 12.4995px 129.9948px 12.4995px;
  }
  .p-top02__tit {
    margin: 0px auto 0px;
    width: 171.6598px;
  }
  .p-top02__tit2 {
    margin: 56.6644px auto 0px;
    width: 225.49098px;
  }
  .p-top02__txt {
    margin: 49.998px auto 0px;
    font-size: 32px;
    font-size: 26.6656px;
  }
  .p-top02__txt2 {
    margin: 29.1655px auto 0px;
    font-size: 25px;
    font-size: 20.8325px;
  }
}

.p-top03 {
  position: relative;
}

.p-top03__inner {
  position: relative;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: auto;
}

.p-top03__inner.act {
  position: fixed;
}

.p-top03__inner:before {
  content: "";
  position: absolute;
  z-index: -1;
  background: url(../img/bg_03.png) top center no-repeat;
  background-size: cover;
  width: 100%;
}

.p-top03__tit {
  display: block;
}

.p-top03__txt {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1.3;
  text-align: center;
}

.p-top03__photo {
  display: block;
}

.p-top03-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}

@media all and (max-width: 600px) {
  .p-top03 {
    min-height: 169.16667vw;
  }
  .p-top03__inner {
    padding: 14.33333vw 4.16667vw 22.5vw 4.16667vw;
  }
  .p-top03__inner:before {
    top: -10vw;
    min-height: 182.33333vw;
    left: 0;
  }
  .p-top03__tit {
    margin: 0vw auto 0vw;
    width: 58.98333vw;
  }
  .p-top03__txt {
    margin: 3.33333vw auto 0vw;
    font-size: 21px;
    font-size: 3.5vw;
  }
  .p-top03__txt .big {
    font-size: 24px;
    font-size: 4vw;
  }
  .p-top03-items {
    margin: 6.16667vw auto 0vw;
    gap: 2.83333vw;
  }
  .p-top03-item {
    width: 34.9vw;
  }
  .p-top03__photo {
    margin: 6.16667vw auto 0vw;
    width: 79.33333vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top03 {
    max-width: 500px;
    margin: 0 auto;
    min-height: 845.7995px;
  }
  .p-top03__inner {
    padding: 71.6638px 20.8325px 112.4955px 20.8325px;
  }
  .p-top03__inner:before {
    width: 500px;
    top: -49.998px;
    min-height: 911.6302px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .p-top03__tit {
    margin: 0px auto 0px;
    width: 294.90487px;
  }
  .p-top03__txt {
    margin: 16.666px auto 0px;
    font-size: 21px;
    font-size: 17.4993px;
  }
  .p-top03__txt .big {
    font-size: 24px;
    font-size: 19.9992px;
  }
  .p-top03-items {
    margin: 30.8321px auto 0px;
    gap: 14.1661px;
  }
  .p-top03-item {
    width: 174.49302px;
  }
  .p-top03__photo {
    margin: 30.8321px auto 0px;
    width: 396.6508px;
  }
}

@media (min-width: 601px) and (max-width: 1025px) {
  .p-top03__inner {
    max-width: 500px;
    right: 0;
    left: auto;
  }
  .p-top03__inner.act:before {
    width: 500px;
    top: -49.998px;
    min-height: 911.6302px;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    left: 0;
  }
}

.p-top04 {
  background: #f7ce46;
  position: relative;
  z-index: 2;
}

.p-top04__tit {
  display: block;
}

.p-top04__txt {
  line-height: 1.3;
}

.p-top04__txt2 {
  display: block;
  text-align: center;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.p-top04__txt3 {
  display: block;
  text-align: left;
  letter-spacing: -0em;
}

.p-top04__photo {
  display: block;
}

.p-top04-figbox {
  position: relative;
  width: 100%;
}

.p-top04-figbox__photo {
  display: block;
  position: absolute;
}

.p-top04-figbox__photo2 {
  display: block;
  position: absolute;
}

.p-top04-check {
  overflow: hidden;
  border-radius: 5px 5px 0 0;
  border: 1px solid #00205c;
}

.p-top04-check__tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #00205c;
  color: #fff;
  text-align: center;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.p-top04-check-titbox {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-top04-check-titbox__txt {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  letter-spacing: 0em;
}

.p-top04-check-titbox__photo {
  position: absolute;
  display: block;
}

.p-top04-check-list {
  position: relative;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.68;
  letter-spacing: 0em;
}

.p-top04-check-list:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/ico_box.svg) no-repeat center center;
  background-size: contain;
}

.p-top04-item {
  position: relative;
  background: #fff;
}

.p-top04-item__ico {
  display: block;
  position: absolute;
}

.p-top04-item__tit {
  text-align: center;
  display: block;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  letter-spacing: 0em;
}

.p-top04-item__txt {
  letter-spacing: -0.03em;
  line-height: 1.7;
}

.p-top04-item-photowrap {
  width: 100%;
  position: relative;
}

.p-top04-item__photo {
  display: block;
}

.p-top04-item__photo.type3 {
  position: absolute;
}

.p-top04-item2__tit {
  display: block;
}

.p-top04-item2__tit img {
  display: block;
}

.p-top04-item2__tit2 {
  text-align: center;
  display: block;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: 0.03em;
  position: relative;
}

.p-top04-item2__tit2:after {
  content: "";
  width: 100%;
  height: 1px;
  background: #00205c;
  position: absolute;
  bottom: 0;
  left: 0;
}

.p-top04-item2__txt {
  letter-spacing: -0.07em;
  line-height: 1.7;
}

.p-top04-item2__inner {
  background: url(../img/bg_journal_01.png) no-repeat center center;
  background-size: cover;
}

.p-top04-item2-figbox {
  position: relative;
  width: 100%;
}

.p-top04-item2-figbox__photo {
  display: block;
  position: absolute;
}

.p-top04-item2-figbox__photo2 {
  display: block;
  position: absolute;
}

@media all and (max-width: 600px) {
  .p-top04__inner {
    padding: 2.5vw 4.16667vw 8vw 4.16667vw;
  }
  .p-top04__tit {
    margin: 12.16667vw auto 0vw;
    width: 71vw;
  }
  .p-top04__txt {
    font-size: 16px;
    font-size: 2.66667vw;
    text-align: right;
  }
  .p-top04__txt2 {
    margin: 10.66667vw auto 0vw;
    font-size: 34px;
    font-size: 5.66667vw;
  }
  .p-top04__txt3 {
    margin: 1.66667vw auto 0vw;
    font-size: 24px;
    font-size: 4vw;
    width: 85vw;
  }
  .p-top04__photo {
    margin: 11vw auto 0vw;
    width: 77.21667vw;
  }
  .p-top04-figbox {
    margin: 2.66667vw auto 0vw;
    width: 83.33333vw;
    height: 30.66667vw;
  }
  .p-top04-figbox__photo {
    left: 0;
    width: 34.66667vw;
  }
  .p-top04-figbox__photo2 {
    right: 0;
    top: 1.5vw;
    width: 55.66667vw;
  }
  .p-top04-check {
    margin: 8.33333vw auto 0vw;
  }
  .p-top04-check__tit {
    height: 6.83333vw;
    font-size: 19px;
    font-size: 3.16667vw;
  }
  .p-top04-check__inner {
    padding: 5.33333vw 0vw 5vw 0vw;
  }
  .p-top04-check-titbox__txt {
    font-size: 30px;
    font-size: 5vw;
  }
  .p-top04-check-titbox__photo {
    width: 5.83333vw;
    right: 16.66667vw;
  }
  .p-top04-check-lists {
    position: relative;
    left: 18.33333vw;
    margin: 3.33333vw auto 0vw;
  }
  .p-top04-check-list {
    font-size: 24px;
    font-size: 4vw;
  }
  .p-top04-check-list:before {
    width: 3.16667vw;
    height: 3.16667vw;
    left: -5.33333vw;
    top: 2.16667vw;
  }
  .p-top04-item {
    margin: 4.66667vw auto 0vw;
    padding: 12.5vw 8vw 8vw 8vw;
    border-radius: 0.83333vw 0.83333vw 0.83333vw 0.83333vw;
  }
  .p-top04-item__ico {
    top: 3.5vw;
    left: 0;
    width: 20vw;
  }
  .p-top04-item__photo {
    margin: 6.66667vw auto 0vw;
  }
  .p-top04-item__photo.type1 {
    width: 29.66667vw;
  }
  .p-top04-item__photo.type2 {
    width: 39.45vw;
  }
  .p-top04-item__photo.type3 {
    top: 15vw;
    left: -1.66667vw;
    width: 21.06667vw;
  }
  .p-top04-item__tit {
    margin: 0vw -7.5vw 0vw -7.5vw;
    font-size: 34px;
    font-size: 5.66667vw;
  }
  .p-top04-item__txt {
    margin: 7vw auto 0vw;
    font-size: 24px;
    font-size: 4vw;
  }
  .p-top04-item__txt + .p-top04-item__txt {
    margin: 3.33333vw auto 0vw;
  }
  .p-top04-item2 {
    margin: 3.83333vw auto 0vw;
  }
  .p-top04-item2__tit {
    width: 48vw;
  }
  .p-top04-item2__tit2 {
    margin: 0vw -1.66667vw 5vw -1.66667vw;
    padding: 0vw 0vw 4.16667vw 0vw;
    font-size: 34px;
    font-size: 5.66667vw;
  }
  .p-top04-item2__txt {
    font-size: 24px;
    font-size: 4vw;
  }
  .p-top04-item2__inner {
    min-height: 95.83333vw;
    padding: 9vw 4.33333vw 0vw 4.33333vw;
  }
  .p-top04-item2-figbox {
    margin: 5.33333vw auto 0vw;
    width: 80.33333vw;
    height: 24.16667vw;
  }
  .p-top04-item2-figbox__photo {
    left: 0;
    top: 1.83333vw;
    width: 24.11333vw;
  }
  .p-top04-item2-figbox__photo2 {
    right: 0;
    top: 0vw;
    width: 60.43333vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-top04 {
    max-width: 500px;
    margin: 0 auto;
  }
  .p-top04__inner {
    padding: 12.4995px 20.8325px 39.9984px 20.8325px;
  }
  .p-top04__tit {
    margin: 60.8309px auto 0px;
    width: 354.9858px;
  }
  .p-top04__txt {
    font-size: 16px;
    font-size: 13.3328px;
    text-align: right;
  }
  .p-top04__txt2 {
    margin: 53.3312px auto 0px;
    font-size: 34px;
    font-size: 28.3322px;
  }
  .p-top04__txt3 {
    margin: 8.333px auto 0px;
    font-size: 24px;
    font-size: 19.9992px;
    width: 424.983px;
  }
  .p-top04__photo {
    margin: 54.9978px auto 0px;
    width: 386.06789px;
  }
  .p-top04-figbox {
    margin: 13.3328px auto 0px;
    width: 416.65px;
    height: 153.3272px;
  }
  .p-top04-figbox__photo {
    left: 0;
    width: 173.3264px;
  }
  .p-top04-figbox__photo2 {
    right: 0;
    top: 7.4997px;
    width: 278.3222px;
  }
  .p-top04-check {
    margin: 41.665px auto 0px;
  }
  .p-top04-check__tit {
    height: 34.1653px;
    font-size: 19px;
    font-size: 15.8327px;
  }
  .p-top04-check__inner {
    padding: 26.6656px 0px 24.999px 0px;
  }
  .p-top04-check-titbox__txt {
    font-size: 30px;
    font-size: 24.999px;
  }
  .p-top04-check-titbox__photo {
    width: 29.1655px;
    right: 83.33px;
  }
  .p-top04-check-lists {
    position: relative;
    left: 91.663px;
    margin: 16.666px auto 0px;
  }
  .p-top04-check-list {
    font-size: 24px;
    font-size: 19.9992px;
  }
  .p-top04-check-list:before {
    width: 15.8327px;
    height: 15.8327px;
    left: -26.6656px;
    top: 9.9996px;
  }
  .p-top04-item {
    margin: 23.3324px auto 0px;
    padding: 58.331px 39.9984px 39.9984px 39.9984px;
    border-radius: 4.1665px 4.1665px 4.1665px 4.1665px;
  }
  .p-top04-item__ico {
    top: 17.4993px;
    left: 0;
    width: 99.996px;
  }
  .p-top04-item__photo {
    margin: 33.332px auto 0px;
  }
  .p-top04-item__photo.type1 {
    width: 148.3274px;
  }
  .p-top04-item__photo.type2 {
    width: 197.24211px;
  }
  .p-top04-item__photo.type3 {
    top: 74.997px;
    left: -8.333px;
    width: 105.32912px;
  }
  .p-top04-item__tit {
    margin: 0px -37.4985px 0px -37.4985px;
    font-size: 34px;
    font-size: 28.3322px;
  }
  .p-top04-item__txt {
    margin: 34.9986px auto 0px;
    font-size: 24px;
    font-size: 19.9992px;
  }
  .p-top04-item__txt + .p-top04-item__txt {
    margin: 16.666px auto 0px;
  }
  .p-top04-item2 {
    margin: 19.1659px auto 0px;
  }
  .p-top04-item2__tit {
    width: 239.9904px;
  }
  .p-top04-item2__tit2 {
    margin: 0px -8.333px 24.999px -8.333px;
    padding: 0px 0px 20.8325px 0px;
    font-size: 34px;
    font-size: 28.3322px;
  }
  .p-top04-item2__txt {
    font-size: 24px;
    font-size: 19.9992px;
    padding: 0px 11.6662px 0px 11.6662px;
  }
  .p-top04-item2__inner {
    min-height: 479.1475px;
    padding: 44.9982px 21.6658px 0px 21.6658px;
  }
  .p-top04-item2-figbox {
    margin: 26.6656px auto 0px;
    width: 401.6506px;
    height: 120.8285px;
  }
  .p-top04-item2-figbox__photo {
    left: 0;
    top: 9.1663px;
    width: 120.56184px;
  }
  .p-top04-item2-figbox__photo2 {
    right: 0;
    top: 0px;
    width: 302.15458px;
  }
}

.u-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  border: 1px solid #00205c;
  border-radius: 5px;
}

.u-btn img {
  display: block;
}

.u-btn svg {
  display: block;
  stroke: #00205c;
}

.u-btn span {
  display: inline-block;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #00205c;
}

@media all and (max-width: 600px) {
  .u-btn {
    margin: 5.16667vw auto 0vw;
    width: 83.33333vw;
    height: 11.5vw;
  }
  .u-btn svg,
  .u-btn img {
    width: 5vw;
  }
  .u-btn span {
    padding: 0vw 0vw 0vw 5vw;
    font-size: 22.5px;
    font-size: 3.75vw;
  }
}

@media screen and (min-width: 601px), print {
  .u-btn {
    margin: 29.1655px auto 0px;
    width: 416.65px;
    height: 57.4977px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .u-btn svg,
  .u-btn img {
    width: 24.999px;
  }
  .u-btn span {
    padding: 0px 0px 0px 24.999px;
    font-size: 22.5px;
    font-size: 18.74925px;
  }
  .u-btn:hover {
    background: #00205c;
  }
  .u-btn:hover span {
    color: #fff;
  }
  .u-btn:hover svg {
    stroke: #fff;
  }
}

.p-fix {
  position: fixed;
  -webkit-transition: cubic-bezier(0.075, 0.82, 0.165, 1) 1s;
  transition: cubic-bezier(0.075, 0.82, 0.165, 1) 1s;
  bottom: 0;
  left: 0;
  z-index: 10;
  background: rgba(255, 255, 255, 0.6);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-fix-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-fix-link {
  background: transparent -webkit-gradient(linear, left top, right top, color-stop(18%, #6573ba), to(#a184b9)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(90deg, #6573ba 18%, #a184b9 100%) 0% 0% no-repeat padding-box;
  border-radius: 35px;
}

.p-fix-link.col2 {
  background: transparent -webkit-gradient(linear, left top, right top, color-stop(21%, #ae6baf), color-stop(47%, #b277b8), color-stop(96%, #bc98d3), to(#be9cd6)) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(90deg, #ae6baf 21%, #b277b8 47%, #bc98d3 96%, #be9cd6 100%) 0% 0% no-repeat padding-box;
}

.p-fix-link span {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #fff;
}

@media all and (max-width: 600px) {
  .p-fix {
    height: 17.83333vw;
    bottom: -17.83333vw;
  }
  .p-fix.act {
    bottom: 0vw;
  }
  .p-fix-links {
    gap: 3.33333vw;
  }
  .p-fix-link {
    width: 42.16667vw;
    height: 11.5vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-fix span {
    font-size: 20.5px;
    font-size: 3.41667vw;
  }
}

@media screen and (min-width: 601px), print {
  .p-fix {
    height: 89.1631px;
    bottom: -89.1631px;
  }
  .p-fix.act {
    bottom: 0px;
  }
  .p-fix-links {
    gap: 16.666px;
  }
  .p-fix-link {
    width: 210.8249px;
    height: 57.4977px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-fix span {
    font-size: 20.5px;
    font-size: 17.08265px;
  }
}

.l-footer {
  position: relative;
  z-index: 2;
  background: #fff;
  color: #00205c;
}

.l-footer__inner {
  text-align: center;
}

.l-footer__tit {
  display: block;
}

.l-footer__txt {
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.35;
}

.l-footer__txt2 {
  line-height: 1.7;
}

.l-footer__txt3 {
  text-align: left;
  text-indent: -0.9em;
  padding: 0 0 0 0.9em;
  line-height: 1.5;
}

.l-footer__photo {
  display: block;
}

.l-footer__copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #00205c;
  color: #fff;
  text-align: center;
}

.l-footer__copy span {
  display: inline-block;
  font-family: YakuHanJP, "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

@media all and (max-width: 600px) {
  .l-footer {
    padding: 0vw 0vw 18vw 0vw;
  }
  .l-footer__inner {
    padding: 17.16667vw 0.83333vw 2.33333vw 0.83333vw;
  }
  .l-footer__tit {
    margin: 0vw auto 0vw;
    width: 33.83333vw;
  }
  .l-footer__txt {
    margin: 9.16667vw auto 0vw;
    font-size: 34px;
    font-size: 5.66667vw;
  }
  .l-footer__txt2 {
    margin: 3.33333vw auto 0vw;
    font-size: 21px;
    font-size: 3.5vw;
  }
  .l-footer__txt3 {
    margin: 16.66667vw 0vw 0vw 3.33333vw;
    font-size: 13.75px;
    font-size: 2.29167vw;
    letter-spacing: -0.03em;
  }
  .l-footer__photo {
    margin: 11vw auto 0vw;
    width: 77.21667vw;
    position: relative;
    left: 0.33333vw;
  }
  .l-footer__photo2 {
    margin: 5.33333vw auto 0vw;
    width: 94.5vw;
  }
  .l-footer__copy {
    height: 14.83333vw;
    width: 100%;
  }
  .l-footer__copy span {
    font-size: 16px;
    font-size: 2.66667vw;
  }
}

@media screen and (min-width: 601px), print {
  .l-footer {
    max-width: 500px;
    margin: 0 auto;
    padding: 0px 0px 0px 0px;
  }
  .l-footer__inner {
    padding: 85.8299px 4.1665px 11.6662px 4.1665px;
  }
  .l-footer__tit {
    margin: 0px auto 0px;
    width: 169.1599px;
  }
  .l-footer__txt {
    margin: 45.8315px auto 0px;
    font-size: 34px;
    font-size: 28.3322px;
  }
  .l-footer__txt2 {
    margin: 16.666px auto 0px;
    font-size: 21px;
    font-size: 17.4993px;
  }
  .l-footer__txt3 {
    margin: 83.33px 0px 0px 16.666px;
    font-size: 13.75px;
    font-size: 11.45788px;
    letter-spacing: -0.03em;
  }
  .l-footer__photo {
    margin: 54.9978px auto 0px;
    width: 386.06789px;
    position: relative;
    left: 1.6666px;
  }
  .l-footer__photo2 {
    margin: 26.6656px auto 0px;
    width: 472.4811px;
  }
  .l-footer__copy {
    height: 74.1637px;
    width: 100%;
  }
  .l-footer__copy span {
    font-size: 16px;
    font-size: 13.3328px;
  }
}
