@charset "utf-8";

/*--------------------------------------------------------------------
	font
--------------------------------------------------------------------*/

.textVertical {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.textShadow01 {
  text-shadow: 0 0 10px #000;
}

.textShadow02 {
  text-shadow: 0 0 10px #FFF;
}


/*--------------------------------------------------------------------
	font color
--------------------------------------------------------------------*/

.fcWhite {
  color: #FFF !important;
}

.fcWhite a { text-decoration: none; color: #FFF; }
.fcWhite a:link { text-decoration: none; color: #FFF; }
.fcWhite a:visited { text-decoration: none; color: #FFF; }
.fcWhite a:hover { text-decoration: underline; color: #FFF; }
.fcWhite a:active { text-decoration: underline; color: #FFF; }

.fcBlack {
  color: #333 !important;
}

.fcBlack a { text-decoration: none; color: #333; }
.fcBlack a:link { text-decoration: none; color: #333; }
.fcBlack a:visited { text-decoration: none; color: #333; }
.fcBlack a:hover { text-decoration: underline; color: #333; }
.fcBlack a:active { text-decoration: underline; color: #333; }

.fcGray01 {
  color: #999 !important;
}

.fcGray01 a { text-decoration: none; color: #999; }
.fcGray01 a:link { text-decoration: none; color: #999; }
.fcGray01 a:visited { text-decoration: none; color: #999; }
.fcGray01 a:hover { text-decoration: underline; color: #999; }
.fcGray01 a:active { text-decoration: underline; color: #999; }

.fcGray02 {
  color: #646464 !important;
}

.fcGray02 a { text-decoration: none; color: #646464; }
.fcGray02 a:link { text-decoration: none; color: #646464; }
.fcGray02 a:visited { text-decoration: none; color: #646464; }
.fcGray02 a:hover { text-decoration: underline; color: #646464; }
.fcGray02 a:active { text-decoration: underline; color: #646464; }

.fcBrandMain01 {
  color: var(--brand-navy) !important;
}

.fcBrandMain01 a { text-decoration: none; color: var(--brand-navy); }
.fcBrandMain01 a:link { text-decoration: none; color: var(--brand-navy); }
.fcBrandMain01 a:visited { text-decoration: none; color: var(--brand-navy); }
.fcBrandMain01 a:hover { text-decoration: underline; color: var(--brand-navy); }
.fcBrandMain01 a:active { text-decoration: underline; color: var(--brand-navy); }

.fcBrandSub01 {
  color: var(--brand-turquoise) !important;
}


/*--------------------------------------------------------------------
	bg color
--------------------------------------------------------------------*/

.bgWhite {
  background-color: #FFF !important;
}

.bgGray01 {
  background-color: #F3F3F3 !important;
}

.bgGray02 {
  background-color: #F7F5F1 !important;
}

.bgGray03 {
  background-color: #292725 !important;
}

.bgGray04 {
  background-color: #6A6965 !important;
}

.bgBrandMain01 {
  background-color: var(--brand-navy) !important;
}

.bgBrandMain02 {
  background-color: var(--brand-navy-deep) !important;
}

.bgBrandSub01 {
  background-color: var(--brand-turquoise) !important;
}

.bgBrandSub02 {
  background-color: rgba(23, 184, 176, 0.08) !important;
}


/*--------------------------------------------------------------------
	border
--------------------------------------------------------------------*/

.borderCommon01 {
  border: 1px solid #DDD;
}

.borderWhite01 {
  border: 1px solid #FFF;
}

.borderCommon03 {
  border: 1px solid #333;
}

.borderCommon04 {
  border: 5px solid #FFF;
}

.borderGray01 {
  border-color: #DDD;
}

.borderDouble {
  border: 1px solid #999;
  outline: 1px solid #999;
  outline-offset: 3px;
}

.borderBottom {
  border-bottom: 1px solid #666;
  margin-bottom: .2em;
  padding-bottom: .2em;
}

.borderBottom2 {
  border-bottom: 1px solid #CCC;
  padding-bottom: 3em;
}

.borderBrandMain01 {
  border: 1px solid var(--brand-navy);
}


/*--------------------------------------------------------------------
	size
--------------------------------------------------------------------*/

@media screen and (min-width: 1251px) {
  [class*="sizeCommon"] { line-height: 1.8; }
  .sizeCommon01 { font-size: 1.6rem; }
  .sizeCommon02 { font-size: 1.0rem; }
  .sizeCommon03 { font-size: 1.2rem; }
  .sizeCommon04 { font-size: 2.2rem; }
  .sizeCommon05 { font-size: 4.0rem; }
  .sizeCommon06 { font-size: 0.9rem; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  [class*="sizeCommon"] { line-height: 1.6; }
  .sizeCommon01 { font-size: 1.5rem; }
  .sizeCommon02 { font-size: 1.0rem; }
  .sizeCommon03 { font-size: 1.2rem; }
  .sizeCommon04 { font-size: 1.8rem; }
  .sizeCommon05 { font-size: 3.0rem; }
  .sizeCommon06 { font-size: 0.85rem; }
}

@media screen and (max-width: 767px) {
  [class*="sizeCommon"] { line-height: 1.6; }
  .sizeCommon01 { font-size: 1rem; }
  .sizeCommon02 { font-size: 0.9rem; }
  .sizeCommon03 { font-size: 1.1rem; }
  .sizeCommon04 { font-size: 1.5rem; }
  .sizeCommon05 { font-size: 2.4rem; }
  .sizeCommon06 { font-size: 0.8rem; }
}


/*--------------------------------------------------------------------
	padding
--------------------------------------------------------------------*/

@media screen and (min-width: 1251px) {
  .paddingCommon30A { padding: 30px; }
  .paddingCommon20A { padding: 20px; }
  .paddingCommon20B { padding: 40px 20px; }
  .paddingCommon15A { padding: 15px; }
  .paddingCommon15B { padding: 10px 15px; }
  .paddingCommon10A { padding: 10px; }
  .paddingCommon05A { padding: 5px; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  .paddingCommon30A { padding: 25px; }
  .paddingCommon20A { padding: 15px; }
  .paddingCommon20B { padding: 30px 15px; }
  .paddingCommon15A { padding: 15px; }
  .paddingCommon15B { padding: 10px 15px; }
  .paddingCommon10A { padding: 10px; }
  .paddingCommon05A { padding: 5px; }
}

@media screen and (max-width: 767px) {
  .paddingCommon30A { padding: 15px; }
  .paddingCommon20A { padding: 10px; }
  .paddingCommon20B { padding: 20px 10px; }
  .paddingCommon15A { padding: 10px; }
  .paddingCommon15B { padding: 5px 10px; }
  .paddingCommon10A { padding: 10px; }
  .paddingCommon05A { padding: 5px; }
}


/*--------------------------------------------------------------------
	space
--------------------------------------------------------------------*/

@media screen and (min-width: 1251px) {
  .spaceCommonA80 { margin-bottom: 80px; }
  .spaceCommonA50 { margin-bottom: 50px; }
  .spaceCommonA40 { margin-bottom: 40px; }
  .spaceCommonA30 { margin-bottom: 30px; }
  .spaceCommonA20 { margin-bottom: 20px; }
  .spaceCommonA15 { margin-bottom: 15px; }
  .spaceCommonB50 { margin-bottom: 50px; }
  .spaceCommonB40 { margin-bottom: 40px; }
  .spaceCommonB30 { margin-bottom: 30px; }
  .spaceCommonB20 { margin-bottom: 20px; }
  .spaceCommonB15 { margin-bottom: 15px; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  .spaceCommonA80 { margin-bottom: 70px; }
  .spaceCommonA50 { margin-bottom: 40px; }
  .spaceCommonA40 { margin-bottom: 30px; }
  .spaceCommonA30 { margin-bottom: 20px; }
  .spaceCommonA20 { margin-bottom: 15px; }
  .spaceCommonA15 { margin-bottom: 10px; }
  .spaceCommonB50 { margin-bottom: 40px; }
  .spaceCommonB40 { margin-bottom: 30px; }
  .spaceCommonB30 { margin-bottom: 20px; }
  .spaceCommonB20 { margin-bottom: 15px; }
  .spaceCommonB15 { margin-bottom: 10px; }
}

@media screen and (max-width: 767px) {
  .spaceCommonA80 { margin-bottom: 50px; }
  .spaceCommonA50 { margin-bottom: 25px; }
  .spaceCommonA40 { margin-bottom: 20px; }
  .spaceCommonA30 { margin-bottom: 15px; }
  .spaceCommonA20 { margin-bottom: 10px; }
  .spaceCommonA15 { margin-bottom: 7px; }
  .spaceCommonB50 { margin-bottom: 0; }
  .spaceCommonB40 { margin-bottom: 0; }
  .spaceCommonB30 { margin-bottom: 0; }
  .spaceCommonB20 { margin-bottom: 0; }
  .spaceCommonB15 { margin-bottom: 0; }
}


/*--------------------------------------------------------------------
	structure
--------------------------------------------------------------------*/

.structureCommonA05>*:nth-child(n+2),
.structureCommonA05>li:nth-child(n+2) {
  margin-top: 5px;
}

.structureCommonA10>*:nth-child(n+2),
.structureCommonA10>li:nth-child(n+2) {
  margin-top: 10px;
}

.structureCommon01>*.noPadding,
.structureCommon01Box.noPadding,
.structureCommon01a>*.noPadding,
.structureCommon01aBox.noPadding {
  padding: 0;
}

.structureCommon01>*.noPaddingBottom,
.structureCommon01Box.noPaddingBottom,
.structureCommon01a>*.noPaddingBottom,
.structureCommon01aBox.noPaddingBottom {
  padding: 0;
}

.structureCommon01>*.miniPadding,
.structureCommon01Box.miniPadding,
.structureCommon01a>*.miniPadding,
.structureCommon01aBox.miniPadding {
  padding: 30px 0;
}

@media screen and (min-width: 1251px) {
  .structureCommon01>*,
  .structureCommon01Box,
  .structureCommon01a>*,
  .structureCommon01aBox {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .structureCommon02>*,
  .structureCommon02Box {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  .structureCommon01>*,
  .structureCommon01Box,
  .structureCommon01a>*,
  .structureCommon01aBox {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .structureCommon02>*,
  .structureCommon02Box {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  .structureCommon01>*,
  .structureCommon01Box,
  .structureCommon01a>*,
  .structureCommon01aBox {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .structureCommon02>*,
  .structureCommon02Box {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}


/*--------------------------------------------------------------------
	title
--------------------------------------------------------------------*/

.titleSet {
  position: absolute;
  top: 0;
  width: 100%;
}

.titleCommon01 {
  line-height: 1.4;
  padding: 0 10px;
}

h2 {
  letter-spacing: .15em;
}

h3 {
  font-weight: bold;
  text-align: left;
  border-bottom: 1px solid #333;
}

.titleCommon01>*:first-child {
  letter-spacing: 3px;
}

.titleCommon02>.text {
  border-bottom: 1px dotted #333;
  padding: 0 10px 10px;
  font-weight: bold;
}

@media screen and (min-width: 1251px) {
  h2 { font-size: 1.65em; }
  h3 { font-size: 1.45em; }
  .titleCommon01>*:nth-child(2) { font-size: 2.0rem; }
  .titleCommon02 { font-size: 1.2rem; }
  .titleCommon02>.icon { width: 76px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  h2 { font-size: 1.15em; }
  h3 { font-size: 1.15em; }
  .titleCommon01>*:nth-child(2) { font-size: 1.5rem; }
  .titleCommon02 { font-size: 1.3rem; }
  .titleCommon02>.icon { width: 50px; }
}

@media screen and (max-width: 767px) {
  h2 { font-size: 1em; }
  h3 { font-size: 1em; }
  .titleCommon01>*:nth-child(2) { font-size: 1.3rem; }
  .titleCommon02 { font-size: 1.2rem; }
  .titleCommon02>.icon { width: 30px; }
}


/*--------------------------------------------------------------------
	flex img
--------------------------------------------------------------------*/

.flexImgCommon01 {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.flexImgCommon01.typeA {
  border-radius: 5px;
  overflow: hidden;
}

.imgCover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/*--------------------------------------------------------------------
	radius
--------------------------------------------------------------------*/

.radius05 {
  border-radius: 5px;
  overflow: hidden;
}

.radius10 {
  border-radius: 10px;
  overflow: hidden;
}

.radius50p {
  border-radius: 50%;
  overflow: hidden;
}


/*--------------------------------------------------------------------
	icon
--------------------------------------------------------------------*/

.iconCommon01 {
  border-radius: 50%;
  text-align: center;
  z-index: 2;
}

.iconCommon01.typeA {
  width: 60px;
  height: 60px;
  font-size: 1.3rem;
  position: absolute;
}

@media screen and (min-width: 1251px) {
  .iconCommon01.typeA { top: -20px; left: -20px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .iconCommon01.typeA { top: -15px; left: -15px; }
}

@media screen and (max-width: 767px) {
  .iconCommon01.typeA { top: -15px; left: -15px; }
}


/*--------------------------------------------------------------------
	chapter
--------------------------------------------------------------------*/

.chapterCommon01>p:nth-child(2) {
  text-align: center;
  line-height: 1.4em;
}

@media screen and (min-width: 1251px) { .chapterCommon01 { font-size: 1.4rem; } }
@media screen and (min-width: 768px) and (max-width: 1250px) { .chapterCommon01 { font-size: 1.3rem; } }
@media screen and (max-width: 767px) { .chapterCommon01 { font-size: 1.2rem; } }


/*--------------------------------------------------------------------
	hr
--------------------------------------------------------------------*/

.hrCommon01 {
  display: block;
  height: 1px;
  border: 0;
  margin: 0 auto;
  padding: 0;
}

.hrGray01 {
  border-top: 1px solid #999;
}


/*--------------------------------------------------------------------
	box
--------------------------------------------------------------------*/

.boxCommon01 {
  border-radius: 5px;
}

.boxShadow01 {
  box-shadow: 1px 1px 10px rgba(10, 0, 0, 0.2);
}


/*--------------------------------------------------------------------
	overlay banner（画像+半透明オーバーレイのバナー）
--------------------------------------------------------------------*/

.overlayCommon01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(7, 51, 73, 0.72);
  display: flex;
  align-items: center;
}


/*--------------------------------------------------------------------
	movie
--------------------------------------------------------------------*/

.movieCommon01 {
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.movieCommon01 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}


/*--------------------------------------------------------------------
	ratio box（.movieCommon01と同じpadding-bottom手法の画像版）
--------------------------------------------------------------------*/

.ratioCommon01 {
  padding-bottom: 100%;
  height: 0;
  overflow: hidden;
  position: relative;
}

.ratioCommon02 {
  padding-bottom: 66.6%;
  height: 0;
  overflow: hidden;
  position: relative;
}

.ratioCommon03 {
  padding-bottom: 125%;
  height: 0;
  overflow: hidden;
  position: relative;
}

.ratioCommon01 img,
.ratioCommon02 img,
.ratioCommon03 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/*--------------------------------------------------------------------
	table
--------------------------------------------------------------------*/

.tableCommon01 {
  border-collapse: collapse;
}

.tableCommon01 th,
.tableCommon01 td {
  padding: 10px;
  border: 1px solid #DDD;
  vertical-align: middle;
  font-weight: normal;
  text-align: left;
}

.tableCommon01 th {
  text-align: center;
  background-color: #F7F7F7;
}

.tableCommon01 td {
  background-color: #FFF;
}

.tableMenu01 {
  font-weight: normal;
  margin-left: auto;
  margin-right: auto;
}

.tableMenu01 th,
.tableMenu01 td {
  border-bottom: 1px solid #EEE;
  vertical-align: middle;
  font-weight: normal;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .tableMenu01 { width: 100%; }
  .tableMenu01 th, .tableMenu01 td { padding: 10px 15px; }
  .tableMenu01 th { width: 100px; }
}

@media screen and (max-width: 767px) {
  .tableCommon01,
  .tableCommon01 thead,
  .tableCommon01 tbody,
  .tableCommon01 tfoot,
  .tableCommon01 tr,
  .tableCommon01 th,
  .tableCommon01 td {
    display: block;
  }

  .tableCommon01 { border-top: 1px solid #DDD; }
  .tableCommon01 th, .tableCommon01 td { border-top: none; }
}


/*--------------------------------------------------------------------
	scroll
--------------------------------------------------------------------*/

.scroll02Wrap01 {
  overflow: hidden;
}

@media screen and (min-width: 1251px) {
  .scroll02Wrap01, .scroll02, .scroll02 img { height: 200px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .scroll02Wrap01, .scroll02, .scroll02 img { height: 150px; }
}

@media screen and (max-width: 767px) {
  .scroll01 {
    overflow-x: scroll;
    overflow-y: hidden;
    padding-bottom: 10px;
  }

  .scroll01::-webkit-scrollbar { height: 8px; }
  .scroll01::-webkit-scrollbar-track { border-radius: 4px; background: #EFEFEF; }
  .scroll01::-webkit-scrollbar-thumb { border-radius: 4px; background: #666; }

  .scroll01Obj { min-width: 768px; }

  .scroll02Wrap01, .scroll02, .scroll02 img { height: 100px; }
}


/*--------------------------------------------------------------------
	layout
--------------------------------------------------------------------*/

.textLayout01>*:nth-child(n+2) { margin-top: 0.15em; }
.textLayout03>*:nth-child(n+2) { margin-top: 0.3em; }
.textLayout05>*:nth-child(n+2) { margin-top: 0.6em; }
.textLayout08>*:nth-child(n+2) { margin-top: 0.9em; }
.textLayout10>*:nth-child(n+2) { margin-top: 1.2em; }
.textLayout15>*:nth-child(n+2) { margin-top: 1.6em; }
.textLayout25>*:nth-child(n+2) { margin-top: 2.6em; }
.textLayout35>*:nth-child(n+2) { margin-top: 3.6em; }
.textLayout50>*:nth-child(n+2) { margin-top: 4.6em; }
.textLayout75>*:nth-child(n+2) { margin-top: 6.0em; }


/*--------------------------------------------------------------------
	button
--------------------------------------------------------------------*/

.buttonCommon01 {
  padding: 0 15px;
  transition-property: all;
  transition: 0.1s linear;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: bottom;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  border-radius: 5px;
  overflow: hidden;
}

.buttonCommon01.size30 { height: 30px; line-height: 30px; font-size: 0.8rem; padding: 0 5px; }
.buttonCommon01.size35 { height: 35px; line-height: 35px; font-size: 0.9rem; padding: 0 10px; }
.buttonCommon01.size50 { height: 50px; line-height: 50px; font-size: 1.0rem; padding: 0 10px; }
.buttonCommon01.size55 { height: 55px; line-height: 52px; font-size: 1.0rem; }
.buttonCommon01.size65 { height: 65px; line-height: 62px; font-size: 1.1rem; }

.buttonCommon02,
.buttonCommon02 a {
  width: 140px;
  height: 140px;
}

.buttonCommon02 a {
  border-radius: 50%;
}

.buttonWhite01 { background-color: #FFF; color: #333 !important; }
.buttonWhite02 { background-color: #FFF; color: #333 !important; border: 1px solid #333; }
.buttonBlack01 { background-color: #000; color: #FFF !important; }
.buttonBlack02 { border: 1px solid #333; color: #333 !important; }
.buttonGray01  { background-color: #534E49; color: #FFF !important; }
.buttonRed01   { background-color: #C13221; color: #FFF !important; }
.buttonGreen01 { background-color: #98C451; color: #FFF !important; }
.buttonBlue01  { background-color: #717d94; color: #FFF !important; }
.buttonBrandMain01 { background-color: var(--brand-navy); color: #FFF !important; }
.buttonBrandSub01  { background-color: var(--brand-turquoise); color: #FFF !important; }

.buttonFont01 {
  font-size: 1.6rem;
}

.buttonCommon01.typeRound {
  border-radius: 100px;
}

@media screen and (min-width: 1251px) {
  .buttonCommon01:hover,
  .buttonCommon02:hover,
  a:hover .buttonCommon01 {
    opacity: 0.8;
  }

  .buttonCommon01.typeA {
    font-size: 0.86rem;
  }
}


/*--------------------------------------------------------------------
	ul
--------------------------------------------------------------------*/

.ulCommon01 {
  list-style: disc outside;
  padding-left: 1.5em;
}

.ulCommon01 li:nth-child(n+2) { margin-top: 3px; }

.ulCommon02>li { padding-left: 1.5em; }
.ulCommon02>li:before { content: "◆"; position: absolute; left: 0; }
.ulCommon02>li:nth-child(n+2) { margin-top: 3px; }

.ulCommon03>li { padding-left: 1.5em; }
.ulCommon03>li:before { content: "★"; position: absolute; left: 0; }
.ulCommon03>li:nth-child(n+2) { margin-top: 3px; }

.ulCommon04>li { padding-left: 1.5em; }
.ulCommon04>li:before { content: "※"; position: absolute; left: 0; }
.ulCommon04>li:nth-child(n+2) { margin-top: 3px; }

.olCommon01>li {
  margin-left: 2em;
  list-style: decimal-leading-zero outside;
}


/*--------------------------------------------------------------------
	mark
--------------------------------------------------------------------*/

.textMark01 {
  padding-left: 1.2em;
}

.textMark01:before {
  content: '※';
  position: absolute;
  left: 0;
}

.textMark02 {
  counter-reset: number;
  list-style: none;
}

.textMark02 li {
  padding-left: 1.8em;
  text-indent: -1.5em;
  position: relative;
}

.textMark02 li:nth-child(n+2) { margin-top: 3px; }

.textMark02 li:before {
  display: inline;
  counter-increment: number;
  content: "※"counter(number)"";
}

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

.ffs { font-feature-settings: "palt"; }


/*--------------------------------------------------------------------
	toggle
--------------------------------------------------------------------*/

.toggleCommon01Contents {
  display: none;
}

.toggleCommon01Contents.isOpen {
  display: block;
}

.faqToggleWrap01 {
  border: 1px solid #DDD;
  background-color: rgba(255, 255, 255, 0.9);
}

.faqToggleQ01 {
  cursor: pointer;
}

.faqToggleQ01:before {
  content: "Q.";
  position: absolute;
}

.faqToggleQ01:after {
  content: "▼";
  position: absolute;
  right: 13px;
  font-size: 1.4rem;
}

.faqToggleQ01.activeToggle:after {
  content: "▲";
}

.faqToggleA01:before {
  content: "A.";
  position: absolute;
}

.faqToggleA01:after {
  content: "";
  width: calc(100% - 20px);
  height: 1px;
  position: absolute;
  left: 10px;
  top: 0;
  background-color: #DDD;
}

@media screen and (min-width: 1251px) {
  .faqToggleQ01, .faqToggleA01 { padding: 15px 40px; }
  .faqToggleQ01:before, .faqToggleA01:before { left: 15px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .faqToggleQ01, .faqToggleA01 { padding: 10px 30px; }
  .faqToggleQ01:before, .faqToggleA01:before { left: 10px; }
}

@media screen and (max-width: 767px) {
  .faqToggleQ01, .faqToggleA01 { padding: 10px 30px; }
  .faqToggleQ01:before, .faqToggleA01:before { left: 10px; }
}


/*--------------------------------------------------------------------
	floatSlide
--------------------------------------------------------------------*/

.floatSlider {
  width: 100%;
  overflow: hidden;
}

.slideImg {
  float: left;
}

@media screen and (min-width: 1025px) {
  .floatSlider, .floatSlider img { height: 200px; }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .floatSlider, .floatSlider img { height: 130px; }
}

@media screen and (max-width: 767px) {
  .floatSlider, .floatSlider img { height: 80px; }
}


/*--------------------------------------------------------------------
	flex layout
--------------------------------------------------------------------*/

@media screen and (min-width: 1251px) {
  .flexCommonLayout01>*:first-child { width: 60%; }
  .flexCommonLayout01>*:last-child { width: calc(40% - 0.1px); }
  .flexCommonLayout01.typeA>*:first-child { width: calc(50% - 0.1px); }
  .flexCommonLayout01.typeA>*:last-child { width: 50%; }

  .flexCommon01.orderA>*:first-child,
  .flexCommon01.orderB>*:first-child { order: 2; }
  .flexCommon01.orderA>*:last-child,
  .flexCommon01.orderB>*:last-child { order: 1; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  .flexCommonLayout01>*:first-child { width: 60%; }
  .flexCommonLayout01>*:last-child { width: calc(40% - 0.1px); }
  .flexCommonLayout01.typeA>*:first-child { width: calc(50% - 0.1px); }
  .flexCommonLayout01.typeA>*:last-child { width: 50%; }

  .flexCommon01.orderA>*:first-child { order: 2; }
  .flexCommon01.orderA>*:last-child { order: 1; }
}

@media screen and (max-width: 767px) {
  .flexCommonLayout01>*:first-child { width: 100%; }
  .flexCommonLayout01>*:last-child { width: 100%; }
}


/*--------------------------------------------------------------------
	flex columns
--------------------------------------------------------------------*/

.flexList01>*:not(:last-child) {
  margin-right: 1em;
}

.flex2ColumnD>* { width: calc((100% - 10.1px) / 2); }
.flex2ColumnD>*:not(:nth-child(2n)) { margin-right: 10px; }
.flex2ColumnD>*:nth-child(n+3) { margin-top: 10px; }
.flex2ColumnD.typeA>*:first-child { display: none; }
.flex2ColumnD.typeA>*:not(:nth-child(2n)) { margin-right: 0; margin-left: 10px; }
.flex2ColumnD.typeA>*:nth-child(n+3) { margin-top: 0; }
.flex2ColumnD.typeA>*:nth-child(n+4) { margin-top: 10px; }

@media screen and (min-width: 1251px) {
  .flex2ColumnA>* { width: calc((100% - 40.1px) / 2); }
  .flex2ColumnA>*:not(:nth-child(2n)) { margin-right: 40px; }
  .flex2ColumnA>*:nth-child(n+3) { margin-top: 40px; }

  .flex2ColumnB>* { width: calc((100% - 10.1px) / 2); }
  .flex2ColumnB>*:not(:nth-child(2n)) { margin-right: 10px; }
  .flex2ColumnB>*:nth-child(n+3) { margin-top: 10px; }

  .flex2ColumnC>* { width: calc((100% - 10.1px) / 2); }
  .flex2ColumnC>*:not(:nth-child(2n)) { margin-right: 10px; }
  .flex2ColumnC>*:nth-child(n+3) { margin-top: 10px; }

  .flex2ColumnF>* { width: calc((100% - 20.1px) / 2); }
  .flex2ColumnF>*:not(:nth-child(2n)) { margin-right: 20px; border-right: 1px dotted #7a7a7a; padding-right: 20px; }
  .flex2ColumnF>*:nth-child(n+3) { margin-top: 10px; }

  .flex3ColumnA>* { width: calc((100% - 60.1px) / 3); }
  .flex3ColumnA>*:not(:nth-child(3n)) { margin-right: 30px; }
  .flex3ColumnA>*:nth-child(n+4) { margin-top: 30px; }

  .flex3ColumnB>* { width: calc((100% - 40.1px) / 3); }
  .flex3ColumnB>*:not(:nth-child(3n)) { margin-right: 20px; }
  .flex3ColumnB>*:nth-child(n+4) { margin-top: 20px; }

  .flex4ColumnA>* { width: calc((100% - 60.1px) / 4); }
  .flex4ColumnA>*:not(:nth-child(4n)) { margin-right: 20px; }
  .flex4ColumnA>*:nth-child(n+5) { margin-top: 20px; }

  .flex4ColumnB>* { width: calc((100% - 60.1px) / 4); }
  .flex4ColumnB>*:not(:nth-child(4n)) { margin-right: 20px; }
  .flex4ColumnB>*:nth-child(n+5) { margin-top: 20px; }

  .flex5ColumnA>* { width: calc((100% - 40.1px) / 5); }
  .flex5ColumnA>*:not(:nth-child(5n)) { margin-right: 10px; }
  .flex5ColumnA>*:nth-child(n+6) { margin-top: 15px; }

  .flex6ColumnA>* { width: calc((100% - 50.1px) / 6); }
  .flex6ColumnA>*:not(:nth-child(6n)) { margin-right: 10px; }
  .flex6ColumnA>*:nth-child(n+7) { margin-top: 15px; }

  .flex6ColumnB>* { width: calc((100% - 100.1px) / 6); }
  .flex6ColumnB>*:not(:nth-child(6n)) { margin-right: 20px; }
  .flex6ColumnB>*:nth-child(n+7) { margin-top: 25px; }
}

@media screen and (max-width: 1250px) {
  .flex2ColumnB>* { width: 100%; }
  .flex2ColumnB>*:nth-child(n+2) { margin-top: 10px; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  .flex2ColumnA>* { width: calc((100% - 30.1px) / 2); }
  .flex2ColumnA>*:not(:nth-child(2n)) { margin-right: 30px; }
  .flex2ColumnA>*:nth-child(n+3) { margin-top: 30px; }

  .flex2ColumnC>* { width: calc((100% - 10.1px) / 2); }
  .flex2ColumnC>*:not(:nth-child(2n)) { margin-right: 10px; }
  .flex2ColumnC>*:nth-child(n+3) { margin-top: 10px; }

  .flex2ColumnF>* { width: calc((100% - 30.1px) / 2); }
  .flex2ColumnF>*:not(:nth-child(2n)) { margin-right: 20px; border-right: 1px dotted #7a7a7a; padding-right: 20px; }
  .flex2ColumnF>*:nth-child(n+3) { margin-top: 30px; }

  .flex3ColumnA>* { width: calc((100% - 30.1px) / 3); }
  .flex3ColumnA>*:not(:nth-child(3n)) { margin-right: 15px; }
  .flex3ColumnA>*:nth-child(n+4) { margin-top: 15px; }

  .flex3ColumnB>* { width: calc((100% - 20.1px) / 3); }
  .flex3ColumnB>*:not(:nth-child(3n)) { margin-right: 10px; }
  .flex3ColumnB>*:nth-child(n+4) { margin-top: 20px; }

  .flex4ColumnA>* { width: calc((100% - 45.1px) / 4); }
  .flex4ColumnA>*:not(:nth-child(4n)) { margin-right: 15px; }
  .flex4ColumnA>*:nth-child(n+5) { margin-top: 15px; }

  .flex4ColumnB>* { width: calc((100% - 45.1px) / 4); }
  .flex4ColumnB>*:not(:nth-child(4n)) { margin-right: 15px; }
  .flex4ColumnB>*:nth-child(n+5) { margin-top: 15px; }

  .flex5ColumnA>* { width: calc((100% - 40.1px) / 5); }
  .flex5ColumnA>*:not(:nth-child(5n)) { margin-right: 10px; }
  .flex5ColumnA>*:nth-child(n+6) { margin-top: 10px; }

  .flex6ColumnA>* { width: calc((100% - 40.1px) / 5); }
  .flex6ColumnA>*:not(:nth-child(5n)) { margin-right: 10px; }
  .flex6ColumnA>*:nth-child(n+6) { margin-top: 10px; }

  .flex6ColumnB>* { width: calc((100% - 40.1px) / 3); }
  .flex6ColumnB>*:not(:nth-child(3n)) { margin-right: 20px; }
  .flex6ColumnB>*:nth-child(n+4) { margin-top: 30px; }
}

@media screen and (max-width: 1250px) {
  .flex2ColumnA.orderA>:nth-child(2) { order: 2; }
  .flex2ColumnA.orderA>*:nth-child(2) { order: 1; }
}

@media screen and (max-width: 767px) {
  .flex2ColumnA>* { width: 100%; }
  .flex2ColumnA>*:nth-child(n+2) { margin-top: 25px; }

  .flex2ColumnC>* { width: 100%; }
  .flex2ColumnC>*:nth-child(n+2) { margin-top: 10px; }

  .flex2ColumnF>* { width: 100%; }
  .flex2ColumnF>*:nth-child(n+2) { margin-top: 25px; }

  .flex3ColumnA>* { width: 100%; }
  .flex3ColumnA>*:nth-child(n+2) { margin-top: 25px; }

  .flex3ColumnB>* { width: calc((100% - 10.1px) / 2); }
  .flex3ColumnB>*:not(:nth-child(2n)) { margin-right: 10px; }
  .flex3ColumnB>*:nth-child(n+3) { margin-top: 10px; }

  .flex4ColumnA>* { width: 100%; }
  .flex4ColumnA>*:nth-child(n+2) { margin-top: 15px; }

  .flex4ColumnB>* { width: calc((100% - 10.1px) / 2); }
  .flex4ColumnB>*:not(:nth-child(2n)) { margin-right: 10px; }
  .flex4ColumnB>*:nth-child(n+3) { margin-top: 10px; }

  .flex5ColumnA>* { width: calc((100% - 10.1px) / 2); }
  .flex5ColumnA>*:not(:nth-child(2n)) { margin-right: 10px; }
  .flex5ColumnA>*:nth-child(n+3) { margin-top: 10px; }

  .flex6ColumnA>* { width: calc((100% - 10.1px) / 2); }
  .flex6ColumnA>*:not(:nth-child(2n)) { margin-right: 10px; }
  .flex6ColumnA>*:nth-child(n+3) { margin-top: 10px; }

  .flex6ColumnB>* { width: calc((100% - 20.1px) / 2); }
  .flex6ColumnB>*:not(:nth-child(2n)) { margin-right: 20px; }
  .flex6ColumnB>*:nth-child(n+3) { margin-top: 25px; }
}


/*--------------------------------------------------------------------
	loading
--------------------------------------------------------------------*/

.loading01All {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
  z-index: 1000;
  transition: opacity 0.3s;
  pointer-events: none;
}

.loader01 {
  position: fixed;
  z-index: 1001;
  transition: opacity 0.8s;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.loaderLogo {
  display: block;
}

.loader01.isDone {
  opacity: 0;
  pointer-events: none;
}

.loading01All.isDone {
  opacity: 0;
  pointer-events: none;
}


/*--------------------------------------------------------------------
	inview
--------------------------------------------------------------------*/

.effectCommon01 {
  opacity: 0;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon01.inviewOn { opacity: 1; }

.effectCommon02 {
  opacity: 0;
  top: 20px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon02.inviewOn { opacity: 1; top: 0; }

.effectCommon03 {
  opacity: 0;
  left: 20px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon03.inviewOn { opacity: 1; left: 0; }

.effectCommon04 {
  opacity: 0;
  right: 20px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon04.inviewOn { opacity: 1; right: 0; }

.effectCommon05 {
  opacity: 0;
  bottom: 20px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon05.inviewOn { opacity: 1; bottom: 0; }

.tsSpeed01, .psSpeed01:before, .psSpeed01:after { transition-duration: .1s; }
.tsSpeed02, .psSpeed02:before, .psSpeed02:after { transition-duration: .2s; }
.tsSpeed03, .psSpeed03:before, .psSpeed03:after { transition-duration: .3s; }
.tsSpeed04, .psSpeed04:before, .psSpeed04:after { transition-duration: .4s; }
.tsSpeed05, .psSpeed05:before, .psSpeed05:after { transition-duration: .5s; }
.tsSpeed06, .psSpeed06:before, .psSpeed06:after { transition-duration: .6s; }
.tsSpeed07, .psSpeed07:before, .psSpeed07:after { transition-duration: .7s; }
.tsSpeed08, .psSpeed08:before, .psSpeed08:after { transition-duration: .8s; }
.tsSpeed09, .psSpeed09:before, .psSpeed09:after { transition-duration: .9s; }
.tsSpeed10, .psSpeed10:before, .psSpeed10:after { transition-duration: 1.0s; }
.tsSpeed11, .psSpeed11:before, .psSpeed11:after { transition-duration: 1.1s; }
.tsSpeed12, .psSpeed12:before, .psSpeed12:after { transition-duration: 1.2s; }
.tsSpeed13, .psSpeed13:before, .psSpeed13:after { transition-duration: 1.3s; }
.tsSpeed14, .psSpeed14:before, .psSpeed14:after { transition-duration: 1.4s; }
.tsSpeed15, .psSpeed15:before, .psSpeed15:after { transition-duration: 1.5s; }
.tsSpeed16, .psSpeed16:before, .psSpeed16:after { transition-duration: 1.6s; }
.tsSpeed17, .psSpeed17:before, .psSpeed17:after { transition-duration: 1.7s; }
.tsSpeed18, .psSpeed18:before, .psSpeed18:after { transition-duration: 1.8s; }
.tsSpeed19, .psSpeed19:before, .psSpeed19:after { transition-duration: 1.9s; }
.tsSpeed20, .psSpeed20:before, .psSpeed20:after { transition-duration: 2.0s; }
.tsSpeed21, .psSpeed21:before, .psSpeed21:after { transition-duration: 2.1s; }
.tsSpeed22, .psSpeed22:before, .psSpeed22:after { transition-duration: 2.2s; }
.tsSpeed23, .psSpeed23:before, .psSpeed23:after { transition-duration: 2.3s; }
.tsSpeed24, .psSpeed24:before, .psSpeed24:after { transition-duration: 2.4s; }
.tsSpeed25, .psSpeed25:before, .psSpeed25:after { transition-duration: 2.5s; }
.tsSpeed26, .psSpeed26:before, .psSpeed26:after { transition-duration: 2.6s; }
.tsSpeed27, .psSpeed27:before, .psSpeed27:after { transition-duration: 2.7s; }
.tsSpeed28, .psSpeed28:before, .psSpeed28:after { transition-duration: 2.8s; }
.tsSpeed29, .psSpeed29:before, .psSpeed29:after { transition-duration: 2.9s; }
.tsSpeed30, .psSpeed30:before, .psSpeed30:after { transition-duration: 3.0s; }

.tsDelay01,  .psDelay01:before,  .psDelay01:after  { transition-delay: .1s; }
.tsDelay011, .psDelay011:before, .psDelay011:after  { transition-delay: .11s; }
.tsDelay012, .psDelay012:before, .psDelay012:after  { transition-delay: .12s; }
.tsDelay013, .psDelay013:before, .psDelay013:after  { transition-delay: .13s; }
.tsDelay014, .psDelay014:before, .psDelay014:after  { transition-delay: .14s; }
.tsDelay015, .psDelay015:before, .psDelay015:after  { transition-delay: .15s; }
.tsDelay016, .psDelay016:before, .psDelay016:after  { transition-delay: .16s; }
.tsDelay017, .psDelay017:before, .psDelay017:after  { transition-delay: .17s; }
.tsDelay018, .psDelay018:before, .psDelay018:after  { transition-delay: .18s; }
.tsDelay019, .psDelay019:before, .psDelay019:after  { transition-delay: .19s; }
.tsDelay02,  .psDelay02:before,  .psDelay02:after   { transition-delay: .2s; }
.tsDelay021, .psDelay021:before, .psDelay021:after  { transition-delay: .21s; }
.tsDelay022, .psDelay022:before, .psDelay022:after  { transition-delay: .22s; }
.tsDelay023, .psDelay023:before, .psDelay023:after  { transition-delay: .23s; }
.tsDelay024, .psDelay024:before, .psDelay024:after  { transition-delay: .24s; }
.tsDelay025, .psDelay025:before, .psDelay025:after  { transition-delay: .25s; }
.tsDelay026, .psDelay026:before, .psDelay026:after  { transition-delay: .26s; }
.tsDelay027, .psDelay027:before, .psDelay027:after  { transition-delay: .27s; }
.tsDelay028, .psDelay028:before, .psDelay028:after  { transition-delay: .28s; }
.tsDelay029, .psDelay029:before, .psDelay029:after  { transition-delay: .29s; }
.tsDelay03,  .psDelay03:before,  .psDelay03:after   { transition-delay: .3s; }
.tsDelay031, .psDelay031:before, .psDelay031:after  { transition-delay: .31s; }
.tsDelay032, .psDelay032:before, .psDelay032:after  { transition-delay: .32s; }
.tsDelay033, .psDelay033:before, .psDelay033:after  { transition-delay: .33s; }
.tsDelay034, .psDelay034:before, .psDelay034:after  { transition-delay: .34s; }
.tsDelay035, .psDelay035:before, .psDelay035:after  { transition-delay: .35s; }
.tsDelay036, .psDelay036:before, .psDelay036:after  { transition-delay: .36s; }
.tsDelay037, .psDelay037:before, .psDelay037:after  { transition-delay: .37s; }
.tsDelay038, .psDelay038:before, .psDelay038:after  { transition-delay: .38s; }
.tsDelay039, .psDelay039:before, .psDelay039:after  { transition-delay: .39s; }
.tsDelay04,  .psDelay04:before,  .psDelay04:after   { transition-delay: .4s; }
.tsDelay05,  .psDelay05:before,  .psDelay05:after   { transition-delay: .5s; }
.tsDelay06,  .psDelay06:before,  .psDelay06:after   { transition-delay: .6s; }
.tsDelay07,  .psDelay07:before,  .psDelay07:after   { transition-delay: .7s; }
.tsDelay08,  .psDelay08:before,  .psDelay08:after   { transition-delay: .8s; }
.tsDelay09,  .psDelay09:before,  .psDelay09:after   { transition-delay: .9s; }
.tsDelay10,  .psDelay10:before,  .psDelay10:after   { transition-delay: 1.0s; }
.tsDelay11,  .psDelay11:before,  .psDelay11:after   { transition-delay: 1.1s; }
.tsDelay12,  .psDelay12:before,  .psDelay12:after   { transition-delay: 1.2s; }
.tsDelay13,  .psDelay13:before,  .psDelay13:after   { transition-delay: 1.3s; }
.tsDelay14,  .psDelay14:before,  .psDelay14:after   { transition-delay: 1.4s; }
.tsDelay15,  .psDelay15:before,  .psDelay15:after   { transition-delay: 1.5s; }
.tsDelay16,  .psDelay16:before,  .psDelay16:after   { transition-delay: 1.6s; }
.tsDelay17,  .psDelay17:before,  .psDelay17:after   { transition-delay: 1.7s; }
.tsDelay18,  .psDelay18:before,  .psDelay18:after   { transition-delay: 1.8s; }
.tsDelay19,  .psDelay19:before,  .psDelay19:after   { transition-delay: 1.9s; }
.tsDelay20,  .psDelay20:before,  .psDelay20:after   { transition-delay: 2.0s; }

@media screen and (min-width: 768px) {
  .tsDelay01po, .psDelay01po:before, .psDelay01po:after { transition-delay: .1s; }
  .tsDelay02po, .psDelay02po:before, .psDelay02po:after { transition-delay: .2s; }
  .tsDelay03po, .psDelay03po:before, .psDelay03po:after { transition-delay: .3s; }
  .tsDelay04po, .psDelay04po:before, .psDelay04po:after { transition-delay: .4s; }
  .tsDelay05po, .psDelay05po:before, .psDelay05po:after { transition-delay: .5s; }
  .tsDelay06po, .psDelay06po:before, .psDelay06po:after { transition-delay: .6s; }
  .tsDelay07po, .psDelay07po:before, .psDelay07po:after { transition-delay: .7s; }
  .tsDelay08po, .psDelay08po:before, .psDelay08po:after { transition-delay: .8s; }
  .tsDelay09po, .psDelay09po:before, .psDelay09po:after { transition-delay: .9s; }
  .tsDelay10po, .psDelay10po:before, .psDelay10po:after { transition-delay: 1.0s; }
}


/*--------------------------------------------------------------------
	inview – title animation
--------------------------------------------------------------------*/

.mastTitle01 span { opacity: 0; }
.loading01Out .mastTitle01.inviewOn span { animation: letter-glow 1.6s 0s ease both; }
.loading01Out .mastTitle01.typeA.inviewOn span { animation: letter-glow2 1.6s 0s ease both; }

.loading01Out .mastTitle01.inviewOn span:nth-child(1)  { animation-delay: 0.05s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(2)  { animation-delay: 0.1s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(3)  { animation-delay: 0.15s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(4)  { animation-delay: 0.2s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(5)  { animation-delay: 0.25s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(6)  { animation-delay: 0.3s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(7)  { animation-delay: 0.35s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(8)  { animation-delay: 0.4s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(9)  { animation-delay: 0.45s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(10) { animation-delay: 0.5s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(11) { animation-delay: 0.55s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(12) { animation-delay: 0.6s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(13) { animation-delay: 0.65s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(14) { animation-delay: 0.7s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(15) { animation-delay: 0.75s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(16) { animation-delay: 0.8s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(17) { animation-delay: 0.85s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(18) { animation-delay: 0.9s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(19) { animation-delay: 0.95s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(20) { animation-delay: 1s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(21) { animation-delay: 1.05s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(22) { animation-delay: 1.1s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(23) { animation-delay: 1.15s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(24) { animation-delay: 1.2s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(25) { animation-delay: 1.25s; }

.effectTxt01 span { opacity: 0; display: inline-block; }
.loading01Out .effectTxt01.inviewOn span { animation: letter-glow3 1.6s 0s ease both; }

.loading01Out .effectTxt01.inviewOn span:nth-child(1)  { animation-delay: 0.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(2)  { animation-delay: 0.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(3)  { animation-delay: 0.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(4)  { animation-delay: 0.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(5)  { animation-delay: 0.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(6)  { animation-delay: 0.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(7)  { animation-delay: 0.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(8)  { animation-delay: 0.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(9)  { animation-delay: 0.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(10) { animation-delay: 0.5s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(11) { animation-delay: 0.55s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(12) { animation-delay: 0.6s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(13) { animation-delay: 0.65s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(14) { animation-delay: 0.7s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(15) { animation-delay: 0.75s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(16) { animation-delay: 0.8s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(17) { animation-delay: 0.85s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(18) { animation-delay: 0.9s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(19) { animation-delay: 0.95s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(20) { animation-delay: 1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(21) { animation-delay: 1.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(22) { animation-delay: 1.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(23) { animation-delay: 1.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(24) { animation-delay: 1.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(25) { animation-delay: 1.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(26) { animation-delay: 1.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(27) { animation-delay: 1.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(28) { animation-delay: 1.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(29) { animation-delay: 1.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(30) { animation-delay: 1.5s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(31) { animation-delay: 1.55s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(32) { animation-delay: 1.6s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(33) { animation-delay: 1.65s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(34) { animation-delay: 1.7s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(35) { animation-delay: 1.75s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(36) { animation-delay: 1.8s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(37) { animation-delay: 1.85s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(38) { animation-delay: 1.9s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(39) { animation-delay: 1.95s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(40) { animation-delay: 2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(41) { animation-delay: 2.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(42) { animation-delay: 2.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(43) { animation-delay: 2.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(44) { animation-delay: 2.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(45) { animation-delay: 2.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(46) { animation-delay: 2.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(47) { animation-delay: 2.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(48) { animation-delay: 2.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(49) { animation-delay: 2.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(50) { animation-delay: 2.5s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(51) { animation-delay: 2.55s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(52) { animation-delay: 2.6s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(53) { animation-delay: 2.65s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(54) { animation-delay: 2.7s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(55) { animation-delay: 2.75s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(56) { animation-delay: 2.8s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(57) { animation-delay: 2.85s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(58) { animation-delay: 2.9s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(59) { animation-delay: 2.95s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(60) { animation-delay: 3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(61) { animation-delay: 3.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(62) { animation-delay: 3.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(63) { animation-delay: 3.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(64) { animation-delay: 3.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(65) { animation-delay: 3.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(66) { animation-delay: 3.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(67) { animation-delay: 3.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(68) { animation-delay: 3.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(69) { animation-delay: 3.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(70) { animation-delay: 3.5s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(71) { animation-delay: 3.55s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(72) { animation-delay: 3.6s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(73) { animation-delay: 3.65s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(74) { animation-delay: 3.7s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(75) { animation-delay: 3.75s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(76) { animation-delay: 3.8s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(77) { animation-delay: 3.85s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(78) { animation-delay: 3.9s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(79) { animation-delay: 3.95s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(80) { animation-delay: 4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(81) { animation-delay: 4.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(82) { animation-delay: 4.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(83) { animation-delay: 4.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(84) { animation-delay: 4.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(85) { animation-delay: 4.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(86) { animation-delay: 4.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(87) { animation-delay: 4.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(88) { animation-delay: 4.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(89) { animation-delay: 4.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(90) { animation-delay: 4.5s; }

@keyframes letter-glow {
  0%   { opacity: 0; text-shadow: 0px 0px 1px rgba(255,255,255,0.1); }
  66%  { opacity: 0.9; text-shadow: 0px 0px 20px rgba(255,255,255,0.9); }
  77%  { opacity: 0.5; }
  100% { opacity: 1; text-shadow: 0px 0px 20px rgba(255,255,255,0); }
}

@keyframes letter-glow2 {
  0%   { opacity: 0; text-shadow: 0px 0px 1px rgba(255,255,255,0.1); }
  66%  { opacity: 0.9; text-shadow: 0px 0px 20px rgba(255,255,255,0.9); }
  77%  { opacity: 0.5; }
  85%  { opacity: 1; text-shadow: 0px 0px 20px rgba(255,255,255,0); }
  100% { opacity: 1; }
}

@keyframes letter-glow3 {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}


/*--------------------------------------------------------------------
	modal
--------------------------------------------------------------------*/

.modalBox01 {
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 20001;
  overflow-y: scroll;
}

.modalBg01 {
  background-color: rgba(255, 255, 255, 0.7);
  height: 100%;
  width: 100%;
}

.modalInner01 {
  background-color: #FFF;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 15px rgba(100, 100, 100, 0.1);
}

.modalClose01 {
  cursor: pointer;
  position: absolute;
  right: 0;
  top: -40px;
  font-size: 3rem;
  color: #666;
}

@media screen and (min-width: 768px) {
  .modalInner01 { font-size: 0.9rem; line-height: 1.6em; }
  .modalInner01Pack01 { width: 700px; padding: 20px; }
}

@media screen and (max-width: 767px) {
  .modalInner01 { font-size: 0.8rem; line-height: 1.4em; margin: 40px 0 20px; }
  .modalInner01Pack01 { width: 90vw; padding: 15px; }
}
