@charset "UTF-8";

/* ---------------------------------------------------------
FRAMEWORK
----------------------------------------------------------*/

/* フォント */

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');

body {
  font-family: 'Lato', 'Noto Sans JP', sans-serif;
}

.sns-wrap {
  margin-top: 80px;
  overflow: hidden;
}

/* フォントサイズ */

.xxl {
  font-size: 20px;
}

.xl {
  font-size: 18px;
}

.l {
  font-size: 16px;
}

.m {
  font-size: 14px;
}

.s {
  font-size: 12px;
}

.xs {
  font-size: 10px;
}

@media screen and (max-width: 640px) {
  .xxl {
    font-size: 18px;
  }

  .xl {
    font-size: 16px;
  }

  .l {
    font-size: 14px;
  }
}

/* フォントカラー */

.c-wh {
  color: #fff;
}

.c-bk {
  color: #333;
}

.c-gy {
  color: #999;
}

.c-mfa-pl {
  color: #50388c;
}

.c-mfa-bk {
  color: #3d3d3b;
}

/* 背景色 */

.bgc-logo {
  background-color: #50388c;
}

.bgc-wh {
  background-color: #fff;
}

.bgc-bk {
  background-color: #333;
}

.bgc-lgy {
  background-color: #f0f0f0;
}

/* テキスト */

.ta-c {
  text-align: center;
}

.ta-l {
  text-align: left;
}

.ta-r {
  text-align: right;
}

@media screen and (min-width: 1001px) {
  .ta-pc-c {
    text-align: center;
  }

  .ta-pc-l {
    text-align: left;
  }

  .ta-pc-r {
    text-align: right;
  }
}

@media screen and (max-width:1000px) and (min-width:641px) {
  .ta-tb-c {
    text-align: center;
  }

  .ta-tb-l {
    text-align: left;
  }

  .ta-tb-r {
    text-align: right;
  }
}

@media screen and (max-width: 640px) {
  .ta-tb-c {
    text-align: center;
  }

  .ta-tb-l {
    text-align: left;
  }

  .ta-tb-r {
    text-align: right;
  }
}

/* 余白 */

.p-2 {
  padding: 2px;
  box-sizing: border-box;
}

.p-6 {
  padding: 6px;
  box-sizing: border-box;
}

.p-10 {
  padding: 10px;
  box-sizing: border-box;
}

.p-20 {
  padding: 20px;
  box-sizing: border-box;
}

.p-30 {
  padding: 30px;
  box-sizing: border-box;
}

.p-40 {
  padding: 40px;
  box-sizing: border-box;
}

.pt-10 {
  padding-top: 10px;
  box-sizing: border-box;
}

.pt-20 {
  padding-top: 20px;
  box-sizing: border-box;
}

.pt-30 {
  padding-top: 30px;
  box-sizing: border-box;
}

.pt-40 {
  padding-top: 40px;
  box-sizing: border-box;
}

.pr-10 {
  padding-right: 10px;
  box-sizing: border-box;
}

.pr-20 {
  padding-right: 20px;
  box-sizing: border-box;
}

.pr-30 {
  padding-right: 30px;
  box-sizing: border-box;
}

.pr-40 {
  padding-right: 40px;
  box-sizing: border-box;
}

.pb-10 {
  padding-bottom: 10px;
  box-sizing: border-box;
}

.pb-20 {
  padding-bottom: 20px;
  box-sizing: border-box;
}

.pb-30 {
  padding-bottom: 30px;
  box-sizing: border-box;
}

.pb-40 {
  padding-bottom: 40px;
  box-sizing: border-box;
}

.pl-10 {
  padding-left: 10px;
  box-sizing: border-box;
}

.pl-20 {
  padding-left: 20px;
  box-sizing: border-box;
}

.pl-30 {
  padding-left: 30px;
  box-sizing: border-box;
}

.pl-40 {
  padding-left: 40px;
  box-sizing: border-box;
}

@media screen and (min-width: 1001px) {
  .pt-pc-10 {
    padding-top: 10px;
    box-sizing: border-box;
  }

  .pt-pc-20 {
    padding-top: 20px;
    box-sizing: border-box;
  }

  .pt-pc-30 {
    padding-top: 30px;
    box-sizing: border-box;
  }

  .pt-pc-40 {
    padding-top: 40px;
    box-sizing: border-box;
  }

  .pr-pc-10 {
    padding-right: 10px;
    box-sizing: border-box;
  }

  .pr-pc-20 {
    padding-right: 20px;
    box-sizing: border-box;
  }

  .pr-pc-30 {
    padding-right: 30px;
    box-sizing: border-box;
  }

  .pr-pc-40 {
    padding-right: 40px;
    box-sizing: border-box;
  }

  .pb-pc-10 {
    padding-bottom: 10px;
    box-sizing: border-box;
  }

  .pb-pc-20 {
    padding-bottom: 20px;
    box-sizing: border-box;
  }

  .pb-pc-30 {
    padding-bottom: 30px;
    box-sizing: border-box;
  }

  .pb-pc-40 {
    padding-bottom: 40px;
    box-sizing: border-box;
  }

  .pl-pc-10 {
    padding-left: 10px;
    box-sizing: border-box;
  }

  .pl-pc-20 {
    padding-left: 20px;
    box-sizing: border-box;
  }

  .pl-pc-30 {
    padding-left: 30px;
    box-sizing: border-box;
  }

  .pl-pc-40 {
    padding-left: 40px;
    box-sizing: border-box;
  }
}

@media screen and (max-width:1000px) and (min-width:641px) {
  .pt-tb-10 {
    padding-top: 10px;
    box-sizing: border-box;
  }

  .pt-tb-20 {
    padding-top: 20px;
    box-sizing: border-box;
  }

  .pt-tb-30 {
    padding-top: 30px;
    box-sizing: border-box;
  }

  .pt-tb-40 {
    padding-top: 40px;
    box-sizing: border-box;
  }

  .pr-tb-10 {
    padding-right: 10px;
    box-sizing: border-box;
  }

  .pr-tb-20 {
    padding-right: 20px;
    box-sizing: border-box;
  }

  .pr-tb-30 {
    padding-right: 30px;
    box-sizing: border-box;
  }

  .pr-tb-40 {
    padding-right: 40px;
    box-sizing: border-box;
  }

  .pb-tb-10 {
    padding-bottom: 10px;
    box-sizing: border-box;
  }

  .pb-tb-20 {
    padding-bottom: 20px;
    box-sizing: border-box;
  }

  .pb-tb-30 {
    padding-bottom: 30px;
    box-sizing: border-box;
  }

  .pb-tb-40 {
    padding-bottom: 40px;
    box-sizing: border-box;
  }

  .pl-tb-10 {
    padding-left: 10px;
    box-sizing: border-box;
  }

  .pl-tb-20 {
    padding-left: 20px;
    box-sizing: border-box;
  }

  .pl-tb-30 {
    padding-left: 30px;
    box-sizing: border-box;
  }

  .pl-tb-40 {
    padding-left: 40px;
    box-sizing: border-box;
  }
}

@media screen and (max-width: 640px) {
  .pt-sp-10 {
    padding-top: 10px;
    box-sizing: border-box;
  }

  .pt-sp-20 {
    padding-top: 20px;
    box-sizing: border-box;
  }

  .pt-sp-30 {
    padding-top: 30px;
    box-sizing: border-box;
  }

  .pt-sp-40 {
    padding-top: 40px;
    box-sizing: border-box;
  }

  .pr-sp-10 {
    padding-right: 10px;
    box-sizing: border-box;
  }

  .pr-sp-20 {
    padding-right: 20px;
    box-sizing: border-box;
  }

  .pr-sp-30 {
    padding-right: 30px;
    box-sizing: border-box;
  }

  .pr-sp-40 {
    padding-right: 40px;
    box-sizing: border-box;
  }

  .pb-sp-10 {
    padding-bottom: 10px;
    box-sizing: border-box;
  }

  .pb-sp-20 {
    padding-bottom: 20px;
    box-sizing: border-box;
  }

  .pb-sp-30 {
    padding-bottom: 30px;
    box-sizing: border-box;
  }

  .pb-sp-40 {
    padding-bottom: 40px;
    box-sizing: border-box;
  }

  .pl-sp-10 {
    padding-left: 10px;
    box-sizing: border-box;
  }

  .pl-sp-20 {
    padding-left: 20px;
    box-sizing: border-box;
  }

  .pl-sp-30 {
    padding-left: 30px;
    box-sizing: border-box;
  }

  .pl-sp-40 {
    padding-left: 40px;
    box-sizing: border-box;
  }
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-40 {
  margin-bottom: 40px;
}

/* グリッド */

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  box-sizing: border-box;
}

.container .col-1 {
  box-sizing: border-box;
  float: left;
  width: 8.333333%;
}

.container .col-2 {
  box-sizing: border-box;
  float: left;
  width: 16.666667%;
}

.container .col-3 {
  box-sizing: border-box;
  float: left;
  width: 25%;
}

.container .col-4 {
  box-sizing: border-box;
  float: left;
  width: 33.333333%;
}

.container .col-5 {
  box-sizing: border-box;
  float: left;
  width: 41.666667%;
}

.container .col-6 {
  box-sizing: border-box;
  float: left;
  width: 50%;
}

.container .col-7 {
  box-sizing: border-box;
  float: left;
  width: 58.333333%;
}

.container .col-8 {
  box-sizing: border-box;
  float: left;
  width: 66.666667%;
}

.container .col-9 {
  box-sizing: border-box;
  float: left;
  width: 75%;
}

.container .col-10 {
  box-sizing: border-box;
  float: left;
  width: 83.333333%;
}

.container .col-11 {
  box-sizing: border-box;
  float: left;
  width: 91.666667%;
}

.container .col-12 {
  box-sizing: border-box;
  float: left;
  width: 100%;
}

@media screen and (min-width: 1001px) {
  .container .col-pc-1 {
    box-sizing: border-box;
    float: left;
    width: 8.333333%;
  }

  .container .col-pc-2 {
    box-sizing: border-box;
    float: left;
    width: 16.666667%;
  }

  .container .col-pc-3 {
    box-sizing: border-box;
    float: left;
    width: 25%;
  }

  .container .col-pc-4 {
    box-sizing: border-box;
    float: left;
    width: 33.333333%;
  }

  .container .col-pc-5 {
    box-sizing: border-box;
    float: left;
    width: 41.666667%;
  }

  .container .col-pc-6 {
    box-sizing: border-box;
    float: left;
    width: 50%;
  }

  .container .col-pc-7 {
    box-sizing: border-box;
    float: left;
    width: 58.333333%;
  }

  .container .col-pc-8 {
    box-sizing: border-box;
    float: left;
    width: 66.666667%;
  }

  .container .col-pc-9 {
    box-sizing: border-box;
    float: left;
    width: 75%;
  }

  .container .col-pc-10 {
    box-sizing: border-box;
    float: left;
    width: 83.333333%;
  }

  .container .col-pc-11 {
    box-sizing: border-box;
    float: left;
    width: 91.666667%;
  }

  .container .col-pc-12 {
    box-sizing: border-box;
    float: left;
    width: 100%;
  }
}

@media screen and (max-width:1000px) and (min-width:641px) {
  .container .col-tb-1 {
    box-sizing: border-box;
    float: left;
    width: 8.333333%;
  }

  .container .col-tb-2 {
    box-sizing: border-box;
    float: left;
    width: 16.666667%;
  }

  .container .col-tb-3 {
    box-sizing: border-box;
    float: left;
    width: 25%;
  }

  .container .col-tb-4 {
    box-sizing: border-box;
    float: left;
    width: 33.333333%;
  }

  .container .col-tb-5 {
    box-sizing: border-box;
    float: left;
    width: 41.666667%;
  }

  .container .col-tb-6 {
    box-sizing: border-box;
    float: left;
    width: 50%;
  }

  .container .col-tb-7 {
    box-sizing: border-box;
    float: left;
    width: 58.333333%;
  }

  .container .col-tb-8 {
    box-sizing: border-box;
    float: left;
    width: 66.666667%;
  }

  .container .col-tb-9 {
    box-sizing: border-box;
    float: left;
    width: 75%;
  }

  .container .col-tb-10 {
    box-sizing: border-box;
    float: left;
    width: 83.333333%;
  }

  .container .col-tb-11 {
    box-sizing: border-box;
    float: left;
    width: 91.666667%;
  }

  .container .col-tb-12 {
    box-sizing: border-box;
    float: left;
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .container .col-sp-1 {
    box-sizing: border-box;
    float: left;
    width: 8.333333%;
  }

  .container .col-sp-2 {
    box-sizing: border-box;
    float: left;
    width: 16.666667%;
  }

  .container .col-sp-3 {
    box-sizing: border-box;
    float: left;
    width: 25%;
  }

  .container .col-sp-4 {
    box-sizing: border-box;
    float: left;
    width: 33.333333%;
  }

  .container .col-sp-5 {
    box-sizing: border-box;
    float: left;
    width: 41.666667%;
  }

  .container .col-sp-6 {
    box-sizing: border-box;
    float: left;
    width: 50%;
  }

  .container .col-sp-7 {
    box-sizing: border-box;
    float: left;
    width: 58.333333%;
  }

  .container .col-sp-8 {
    box-sizing: border-box;
    float: left;
    width: 66.666667%;
  }

  .container .col-sp-9 {
    box-sizing: border-box;
    float: left;
    width: 75%;
  }

  .container .col-sp-10 {
    box-sizing: border-box;
    float: left;
    width: 83.333333%;
  }

  .container .col-sp-11 {
    box-sizing: border-box;
    float: left;
    width: 91.666667%;
  }

  .container .col-sp-12 {
    box-sizing: border-box;
    float: left;
    width: 100%;
  }
}


/* =main
-------------------------------------------------------------- */

.index-enter {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5000;
  outline: none;
}

.index-pageTitle,
h1.index {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1px;
  line-height: 1px;
  border: none;
  height: 0;
  border-bottom: none !important;
}

.index-catch{
	color:#5c3ac3;
	font-size:20px;
	line-height:34px;
	font-weight:400;
	letter-spacing:0.075em;
	transform:scaleX(.9) !important;
	transform-origin:left top;
    width:100%;
	text-align:left;
	position:fixed;
	bottom:40px;
	left:4%;
	z-index:100;
	-webkit-transition: all 0.5s ease-in;
    -moz-transition: all 0.5s ease-in;
    -ms-transition: all 0.5s ease-in;
    -o-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;
    visibility:visible;
	opacity:1;
}
.index-catch span.number{
	font-size: 74.2px;
	line-height: 0px;
	font-weight: 400;
	letter-spacing: -0.033em;
	margin-right: 0.025em;
	margin-left: -.025em;
	position:relative;
	top:-8px;
}
.index-catch span.th{
	position:relative;
	top: -47px;
	font-size: 20.2px;
	font-weight: 600;
	letter-spacing: .15em;
	right: -2.6px;
}
.index-catch span.anniv{
	position:relative;
	top: -46px;
	right: -85px;
	color:#252525;
}

.big .index-catch{
	color:#fff;
}

.big .index-catch span.anniv{
color:#fff;
}

.home .catch a{
	color:#fff;
}
.catch a:hover{
	text-decoration:underline;
}

.index-keyVisual {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}

.index-keyVisual video {
  position: absolute;
  min-width: 100%;
  min-height: 100%;
  z-index: 1;
}

.index-keyVisual .overlay {
  text-align: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.index-keyVisual .title{
	font-family: a-otf-futo-min-a101-pr6n, serif;
	color:#fff;
	font-size:33px;
	line-height:48px;
	font-weight:400;
	letter-spacing:0.175em;
	transform:scaleX(.9) !important;
	transform-origin:left;
    width:92%;
	text-align:left;
	position:absolute;
	bottom:160px;
	left:4%;
	z-index:100;
	-webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
    opacity:0 !important;
}

.index-keyVisual .title span{
font-size:15px;
}

.big .index-keyVisual .title{
	opacity:1 !important;
}

.big .index-keyVisual .arrowWrap {
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  transform: translateY(0px);
  opacity: 1;
  z-index: 3;
}

.index-keyVisual .arrowWrap {
  position: absolute;
  right: 56px;
  bottom: 48px;
  height: 100px -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  opacity: 0;
}

.index-keyVisual .arrowInner p {
  width: 114px;
  display: block;
  position: absolute;
  top: 0px;
  left: -10px;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.075em;
  line-height: 16px;
  color: #EFEFEF;
  text-align: right;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  transform-origin: left top;
  z-index: 1000;
}

.index-keyVisual .arrow {
  width: 1px;
  height: 64px;
  margin: 0;
  background-color: #EFEFEF;
  position: absolute;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: 1000;
}

.index-keyVisual .arrow::before {
  content: '';
  width: 1px;
  height: 64px;
  margin: 0;
  background-color: #000;
  position: absolute;
  bottom: 0px;
  left: 0;
  -webkit-animation: arrow 2.5s ease 0s infinite normal;
  animation: arrow 2.5s ease 0s infinite normal;
}

@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  60% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }

  100% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}

@-webkit-keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  60% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }

  100% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}

@media only screen and (max-width: 767px) {

  .index-keyVisual {
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    min-height: 100vh;
    position: relative;
  }

  .index-keyVisual video {
    display: none;
  }

.index-keyVisual .title{
	position:fixed;
	font-size:24px;
	line-height:36px;
    width:calc(100% - 20px);
	bottom:96px;
	left:20px;
}
.big .index-keyVisual .title{
	opacity:1;
}

  .index-keyVisual .arrowWrap {
    position: fixed;
    right: 20px;
    bottom: 28px;
  }

  .index-keyVisual .arrowInner p {
    width: 58px;
    font-size: 11px;
    left: -8px;
  }

  .index-keyVisual .arrow {
    width: 1px;
    height: 24px;
  }

  .index-keyVisual .arrow::before {
    width: 1px;
    height: 24px;
  }

.index-catch{
	color:#5c3ac3;
	font-size:14.56px;
	line-height:24px;
	bottom:28px;
	left:20px;
}
.index-catch span.number{
	font-size: 59.36px;
	line-height: 0px;
	letter-spacing: -0.05em;
	margin-right: 0.025em;
	margin-left: -.025em;
	top:-6.4px;
}
.index-catch span.th{
	top: -38px;
	font-size: 15px;
	letter-spacing: .15em;
	right: -3.6px;
}
.index-catch span.anniv{
	top: -37px;
	right: -67px;
}
}

.index-grid {
  width: 100%;
  max-width: 1200px;
  margin: 8% auto;
}

.index-grid .photo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: center;
  /* Safari etc. */
  -ms-align-items: center;
  /* IE10        */
  align-items: center;
  margin-bottom: 4.8%;
}

.index-grid .singlePhoto .photoWrap {
  width: 100%;
}

.index-grid .photoWrap img {
  width: 100%;
}

.index-grid .photoWrap.centerS {
  width: 62.8%;
  margin: 0 auto;
}

.index-grid .photoWrap.centerM {
  width: 87.2%;
  margin: 0 auto;
}

.index-grid .photoWrap.centerL {
  width: 96.8%;
  margin: 0 auto;
}

.index-grid .photoWrap.leftM {
  width: 43%;
  margin-left: 6.4%;
}

.index-grid .photoWrap.rightM {
  width: 43%;
  margin-right: 6.4%;
}

.index-grid .photoWrap.leftS {
  width: 32%;
  margin-left: 6.4%;
}

.index-grid .photoWrap.rightS {
  width: 32%;
  margin-right: 6.4%;
}

.index-grid .photoWrap.leftL {
  width: 72%;
  margin-left: 1.6%;
}

.index-grid .photoWrap.rightL {
  width: 72%;
  margin-left: 26.4%;
}

.index-grid .no {
  color: #BBB;
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 0;
  font-weight: 400;
  margin-top: 2px;
  margin-left: -1px;
}

@media only screen and (max-width: 767px) {

  .index-grid .photoWrap.centerS {
    width: 100%;
    margin: 0 auto;
  }

  .index-grid .photoWrap.centerM {
    width: 100%;
    margin: 0 auto;
  }

  .index-grid .photoWrap.centerL {
    width: 100%;
    margin: 0 auto;
  }

  .index-grid .photoWrap.centerL p {
    margin-left: 1em;
  }

  .index-grid .photoWrap.leftM {
    width: 43%;
    margin-left: 6.4%;
  }

  .index-grid .photoWrap.rightM {
    width: 43%;
    margin-right: 6.4%;
  }

  .index-grid .photoWrap.leftS {
    width: 32%;
    margin-left: 6.4%;
  }

  .index-grid .photoWrap.rightS {
    width: 32%;
    margin-right: 6.4%;
  }

  .index-grid .photoWrap.leftL {
    width: 72%;
    margin-left: 6.4%;
  }

  .index-grid .photoWrap.rightL {
    width: 72%;
    margin-left: 21.6%;
  }

  .index-grid .no {
    color: #BBB;
    font-size: 10px;
    line-height: 13px;
    letter-spacing: 0;
    font-weight: 400;
    margin-top: 0px;
    margin-left: -1px;
    padding-left: 1em;
  }
}

/*----------*/

#home {
  opacity: 1;
  -webkit-transition: all 0.5s ease-in;
  -moz-transition: all 0.5s ease-in;
  -ms-transition: all 0.5s ease-in;
  -o-transition: all 0.5s ease-in;
  transition: all 0.5s ease-in;
}

#ordinary {
  margin: 80px 0 0;
}

@media only screen and (max-width: 767px) {
  #ordinary {
    margin: 48px 0 0;
  }
}

.lp #header {
  position: relative !important;
}

.lp .header-logo {
  display: block;
  position: absolute;
}

.lp .header-navWap {
  position: absolute;
}

.lp #main > .inner {
  max-width: initial !important;
  padding-right: 0;
  padding-left: 0;
}

.lp #ordinary {
  margin-top: 0;
  color: #111;
}

#main {
  padding: 0 0 80px 0;
}

@media only screen and (max-width: 767px) {
  #main {
    padding: 0 0 48px 0;
  }
}

#ordinary #main {
  font-size: 16px;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  #ordinary #main {
    font-size: 14px;
  }
}

/*----------*/


/* パンくずリスト */

.ordinary-pan {
  margin: 0 !important;
  width: 100% !important;
  background-color: #f0f0f0;
  box-sizing: border-box;
}

.ordinary-pan p {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 15px !important;
  margin: 0 !important;
  margin-right: auto !important;
  margin-left: auto !important;
  overflow: hidden;
  font-size: 11px !important;
  line-height: 13px;
}

@media screen and (min-width: 1001px) {
  .ordinary-pan p,
  #main .ordinary-pan p {
    max-width: 1030px !important;
  }
}

.ordinary-pan a {
  color: #50388c;
  text-decoration: underline !important;
}

.ordinary-pan a:hover {
  text-decoration: none !important;
}

.ordinary-pan a.currentpage {
  color: #444 !important;
  text-decoration: none !important;
}

/* @media only screen and (max-width: 767px) {.ordinary-pan {display: none;}} */

/* コンテンツ幅 */

#main .inner {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
}

@media screen and (min-width: 1001px) {
  #main .inner {
    max-width: 1030px !important;
  }
}

/* テキスト */

#main p, 
.remodal p {
  font-size: 16px;
  margin: .8em 0;
}

#main a,
.remodal a {
  color: #50388c;
  text-decoration: none;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#main a:hover,
.remodal a:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 767px) {
  #main p,
  .remodal p {
    font-size: 14px;
    margin: .4em 0;
  }
}

/* 画像 */

#main img,
.remodal img {
  display: block;
  margin: 0.8em auto;
  width: auto;
  max-width: 100%;
  height: auto;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

#main a:hover img,
.remodal a:hover img {
  opacity: 0.7;
}

@media only screen and (max-width: 767px) {
  #main img,
  .remodal img {
    margin-top: 0.4em;
    margin-bottom: 0.4em;
  }
}

/* ダイナミック-キービジュアル */

.dcb-key {
  width: 100%;
}

.dcb-key img {
  margin: 0 !important;
}

.dcb-key .key-top,
.dcb-key .key-bottom {
  position: relative;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
}

.dcb-key .key-middle {
  position: relative;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
}


.dcb-key .key-top .top-bgl {
  position: absolute;
  top: 0;
  left: 0;
  width: 66.6%;
  height: 100%;
  background-color: #E2007F;
}

.dcb-key .key-top .top-bgr {
  position: absolute;
  top: 0;
  right: 0;
  width: 33.4%;
  height: 100%;
  background-color: #1D2086;
}

.dcb-key .key-middle {
  background-color: #e50012;
}

.dcb-key .key-bottom .bottom-bgl {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background-color: #fff100!important;
}

.dcb-key .key-bottom .bottom-bgr {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background-color: #fff100!important;
}

.dcb-key .key-top .inner {
  overflow: visible !important;
}

.dcb-key .key-top .inner img.tt-pc,
.dcb-key .key-bottom .inner img.point-pc,
.dcb-key .key-image ul img {
  display: block;
  width: 100%;
}

.dcb-key .key-top .inner img.impact {
  position: absolute;
  top: 0;
  left: 15px;
  width: 16.6% !important;
}

.dcb-key .key-image {
  position: relative;
  z-index: 1;
}

.dcb-key .key-image ul {
  z-index: 1;
}

.dcb-key .key-image .inner {
  height: 0;
  overflow: visible !important;
  z-index: 2;
  text-align: right !important;
}

.dcb-key .key-image .inner img.off {
  display: inline !important;
  margin: 8px 8px 0 0 !important;
  width: 20% !important;
}

@media only screen and (min-width: 768px) {
  .dcb-key .key-top .inner img.tt-sp,
  .dcb-key .key-middle .inner img.tt-sp,
  .dcb-key .key-bottom .inner img.point-sp {
    display: none!important;
  }
}

@media only screen and (max-width: 767px) {
  .dcb-key .inner {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .dcb-key .key-top .inner img.tt-sp,
  .dcb-key .key-middle .inner img.tt-sp,
  .dcb-key .key-bottom .inner img.point-sp {
    display: block!important;
    width: 100%!important;
  }

  .dcb-key .key-top .inner img.tt-pc,
  .dcb-key .key-middle .inner img.tt-pc,
  .dcb-key .key-bottom .inner img.point-pc {
    display: none!important;
  }

  .dcb-key .key-top .inner img.impact {
    top: 37.931034%;
    left: 15px;
    width: 25% !important;
  }

  .dcb-key .key-image .inner {
    padding: 0;
  }

  .dcb-key .key-image .inner img.off {
    width: 25% !important;
  }
}

/* 見出し */


#main h1,
.remodal h1 {
  /* position: relative;
  margin: 4em 0 .8em;
  padding: 0 0 10px;
  border-bottom: 2px solid #50388c;
  font-size: 24px;
  line-height: 1.4;
  text-align: center; */
	margin: 90px 0;
	font-size: 38px;
	line-height: 1.4;
	text-align: center;
	color: #222;}

#main h1 .ja,
.remodal h1 .ja {
  font-weight: normal;
  display: block;
  font-size: 16px;
  line-height: 1.5;
  color: #777;}

/* #main h1::after {
	content: "";
	display: block;
	width: 280px;
	height: 2px;
	margin: 24px auto 0;
	background-color: #222;} */

#main h1.tnone {
	margin: 30px 0;}

#main h1.tnone::after {
	content: none;}


#main h2,
.remodal h2 {
  /* margin: 3.2em 0 .8em;
  padding: 10px 10px 8px 16px;
  border-bottom: 1px solid #50388c;
  border-left: 8px solid #50388c;
  background-color: #f2f2f2;
  box-sizing: border-box;
  text-align: left;
  color: #333;
  font-size: 20px;
  line-height: 1.5;
  font-weight: normal; */
	margin: 70px 0 50px 0;
	/*padding: 16px 24px;*/
	padding: 16px 0;
	display: block;
	background-color: #fff;
	font-size: 28px;
	line-height: 1.5;
	color: #333;
	text-align: center;
}

#main h2.h-img,
.remodal h2.h-img {
  padding: 0 0 0 0;
  border-bottom: none;
  border-left: none;
  background-color: #fff;
}

#main h3,
.remodal h3 {
  /* margin: 2.4em 0 .8em;
  background-color: #f2f2f2;
  padding: 8px 10px 6px 14px;
  box-sizing: border-box;
  border-left: 6px solid #50388c;
  text-align: left;
  font-size: 18px;
  line-height: 25.2px;
  font-weight: normal; */
	margin: 40px 0 32px 0;
	padding: 0 0 0 16px;
	border-left: 4px solid #acacac;
	font-size: 22px;
	line-height: 1.6;
	color: #333;
}

#main h3.h-img,
.remodal h3.h-img {
  background-color: #fff;
  padding: 0 0 0 0;
  border-left: none;
}

#main h4,
.remodal h4 {
  /* margin: 1.6em 0 .8em;
  padding: 2px 0 0 14px;
  box-sizing: border-box;
  border-left: 6px solid #50388c;
  text-align: left;
  font-size: 16px;
  line-height: 23.2px;
  font-weight: normal; */
	margin: 40px 0 32px 0;
	font-size: 20px;
	line-height: 1.6;
	color: #333;
}

/* add */

#main .h-img {
	padding: 0 0 0 0;
	background-color: #fff;
}

/* add_end */

@media only screen and (max-width: 767px) {
	
	#main h1.tnone {
	margin: 15px 0;}
	
	#main h1.tnone::after {
	content: none;}
	
  #main h1,
  .remodal h1 {
    /* margin: 2em 0 .4em;
    padding: 0 0 5px;
    font-size: 20px;
    line-height: 1.5; */
	  margin: 34px 0;
		font-size: 22px;
		/* text-align: left; */}
	
	#main h1::after {
		width: 100%;
		margin-top: 16px;}

  #main h1 .ja,
  .remodal h1 .ja {
    font-size: 14px;}

  #main h2,
  .remodal h2 {
    /* margin: 1.6em 0 .4em;
    padding: 5px 5px 4px 8px;
    font-size: 18px;
    line-height: 1.5; */
	  margin: 30px 0 20px 0;
	  /*padding: 8px 16px;*/
	  padding: 8px 0;
	  font-size: 19px;
  }

  #main h3,
  .remodal h3 {
    /* margin: 1.2em 0 .4em;
    padding: 4px 5px 3px 7px;
    font-size: 16px;
    line-height: 1.5; */
	  margin: 18px 0 15px 0;
	  font-size: 17px;
  }

  #main h4,
  .remodal h4 {
    /* margin: 1.6em 0 .4em;
    padding: 1px 0 0 7px;
    font-size: 14px;
    line-height: 1.5; */
	  margin: 18px 0 15px 0;
	  font-size: 15px;
  }
}

/* ダイナミック-見出し */

.dcb-h1 {
  text-align: center !important;
  font-weight: bold !important;
  border-bottom: none !important;
}

.dcb-h1 .big {
  display: block;
  padding: 4px 8px;
  background-color: #e50012;
  color: #fff;
  font-size: 40px;
  line-height: 1.2;
}

.dcb-h1 .small {
  display: block;
  font-size: 32px;
  color: #e50012;
  line-height: 1.5;
}

.dcb-h2 {
  margin: 0 0 .8em 0 !important;
  padding: 8px 15px !important;
  background-color: #1d2087 !important;
  border-bottom: none !important;
  border-left: none !important;
  font-size: 32px !important;
  line-height: 1.3 !important;
  font-weight: bold !important;
  text-align: center !important;
  color: #fff !important;
}

@media only screen and (min-width: 768px) {
  .dcb-h1 br {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .dcb-h1 {
    font-size: 24px;
  }

  .dcb-h1 .big {
    font-size: 24px;
  }

  .dcb-h1 .small {
    font-size: 16px;
  }

  .dcb-h2 {
    margin-bottom: .4em;
    padding: 4px 8px !important;
    font-size: 24px !important;
    line-height: 1.5 !important;
    text-align: left !important;
  }
}

/* セクション */

.gry-sec {
  background-color: #f0f0f0;
}

/* ダイナミック-特典 */

.dcb-tokuten {
  font-size: 8px;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff8b0;
  border: 8px solid #e50012;
  box-sizing: border-box;
}

.dcb-tokuten .tokuten-inner {
  width: 100%;
  max-width: 1032px;
  margin: 0 auto;
  padding: 16px;
  box-sizing: border-box;
}

.dcb-tokuten img {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0 auto !important;
}

.dcb-tokuten .tokuten-head {
  margin: 0 0 8px 0 !important;
}

.dcb-tokuten .tokuten-container {
  overflow: hidden;
}

.dcb-tokuten .tokuten-item {
  padding: 0 0 8px;
  box-sizing: border-box;
}


.dcb-tokuten .tokuten-container .tokuten-item {
  float: left;
  padding-right: 4px;
  padding-left: 4px;
  box-sizing: border-box;
}

.dcb-tokuten .tokuten-item.m {
  width: 100%;
}

.dcb-tokuten .tokuten-item.s {
  width: 50%;
}

.dcb-tokuten .tokuten-item .item-detail {
  display: none;
  background-color: #fff;
  margin: 0 auto;
  padding: 16px;
  box-sizing: border-box;
}

.dcb-tokuten .tokuten-item.m .item-detail {
  max-width: 1000px;
}

.dcb-tokuten .tokuten-item.s .item-detail {
  max-width: 492px;
}

.dcb-tokuten .tokuten-item .item-detail h3 {
  margin: 0 0 16px 0 !important;
  font-size: 20px !importatnt;
  line-height: 1.2 !important;
  font-weight: bold !important;
  color: #e40012 !important;
  border-left: none !important;
  padding: 0 !important;
  background-color: rgba(0, 0, 0, 0) !important;
}

.dcb-tokuten .tokuten-item .item-detail h3 .num {
  display: inline-block;
  width: 32px;
  height: 32px;
  margin: 0 8px 0 0;
  border-radius: 50%;
  background-color: #e40012;
  line-height: 32px;
  text-align: center;
  color: #fff;
}

.dcb-tokuten .tokuten-item .item-detail p {
  margin: 0 !important;
  font-size: 14px !important;
}

@media screen and (max-width: 640px) {
  .dcb-tokuten {
    border: 4px solid #e50012;
  }

  .dcb-tokuten .tokuten-inner {
    max-width: 608px;
    padding: 8px;
  }

  .dcb-tokuten .tokuten-head {
    margin-bottom: 4px !important;
  }

  .dcb-tokuten .tokuten-item {
    padding: 0 0 4px 0 !important;
  }

  .dcb-tokuten .tokuten-container .tokuten-item {
    padding-right: 2px !important;
    padding-left: 2px !important;
  }

  .dcb-tokuten .tokuten-item .item-detail {
    padding: 8px;
  }

  .dcb-tokuten .tokuten-item .item-detail h3 {
    margin-bottom: 8px !important;
    font-size: 18px !important;
  }

  .dcb-tokuten .tokuten-item .item-detail h3 .num {
    display: none;
  }

  .dcb-tokuten .tokuten-item .item-detail p {
    font-size: 12px !important;
  }
}

/* テーブル */

#main table,
.remodal table {
  margin: .8em auto;
  width: 100%;
  max-width: 850px;
  border-collapse: collapse;
  /* border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc; */
}

#main table tr:nth-child(odd),
.remodal table tr:nth-child(odd) {
  background-color: #f0f0f0;
}

#main table th,
.remodal table th {
  padding: 10px 20px;
  min-width: 140px;
  font-weight: bold;
  box-sizing: border-box;
}

#main table td,
.remodal table td {
  padding: 10px;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  #main table,
  .remodal table {
    margin: .4em auto;
  }

  #main table th,
  #main table td,
  .remodal table th, 
  .remodal table td {
    display: block;
    width: 100%;
    padding: 5px 10px;
    box-sizing: border-box;
  }

  #main table th, 
  .remodal table th {
    text-align-last: left;
  }
}

/* 公開日 */

.day {
  text-align: center;
  color: #999;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .day {
    font-size: 12px;
  }
}

/* ボタン */

/* .btn {
  display: block;
  margin: 2em auto;
  padding: 16px;
  width: 100%;
  max-width: 280px;
  background-color: #50388c;
  color: #fff !important;
  text-align: center;
  font-size: 14px;
} */

/* .btn_kaguha {
  display: block;
  margin: 2em auto;
  padding: 16px;
  width: 100%;
  max-width: 280px;
  background-color: #224c5d;
  color: #fff !important;
  text-align: center;
  font-size: 14px;
} */

/* add */

#main .btn {
	display: block;
	margin: 40px auto;
	padding: 16px;
	width: 100%;
	max-width: 300px;
	border: solid 1px #50388c;
	background-color: #50388c;
	color: #fff;
	text-align: center;
	font-size: 14px;
	border-radius: 4px;
	transition: 0.3s;}

#main .btn:hover {
	background-color: #fff;
	color: #50388c;}

#main .btn_kaguha {
	display: block;
	margin: 40px auto;
	padding: 16px;
	width: 100%;
	max-width: 280px;
	border: solid 1px #224c5d;
	background-color: #224c5d;
	color: #fff;
	text-align: center;
	font-size: 14px;
	border-radius: 4px;
	transition: 0.3s;}

#main .btn_kaguha:hover {
	background-color: #fff;
	color: #224c5d;}

/* add */

.btn_gray {
  display: block;
  margin: 2em auto;
  padding: 16px;
  width: 100%;
  max-width: 280px;
  background-color: #a9a9a9;
  color: #fff !important;
  text-align: center;
  font-size: 14px;
}


#main .btn_orange {
	display: block;
	margin: 40px auto;
	padding: 16px;
	width: 100%;
	max-width: 280px;
	border: solid 1px #e68c3d;
	background-color: #e68c3d;
	color: #fff;
	text-align: center;
	font-size: 14px;
	border-radius: 8px;
	transition: 0.3s;}

#main .btn_orange:hover {
	background-color: #fff;
	color: #e68c3d;}

@media only screen and (max-width: 767px) {
  /* .btn {
    margin: 1em auto;
    padding: 8px;
  }
.btn_kaguha {
    margin: 1em auto;
    padding: 8px;
  } */
  .btn_gray {
    margin: 1em auto;
    padding: 8px;
  }

}

/* ダイナミック-提携-エラー */

.dcb-true-wrapper.off,
.dcb-404-wrapper.off {
  display: none;
}

#main .dcb-404-wrapper h1 {
  /* position: relative;
  margin: 4em 0 .8em;
  padding: 0 0 10px;
  border-bottom: 2px solid #50388c;
  font-size: 24px;
  line-height: 1.4;
  text-align: center; */
	margin: 55px 0;
	font-size: 35px;
	line-height: 1.4;
	text-align: center;
	color: #222;}

#main .dcb-404-wrapper h1::after {
	content: "";
	display: block;
	width: 280px;
	height: 2px;
	margin: 24px auto 0;
	background-color: #222;}

#main .dcb-404-wrapper h1.tnone {
	margin: 30px 0;}

#main .dcb-404-wrapper h1.tnone::after {
	content: none;}

@media only screen and (max-width: 767px) {
	
	#main .dcb-404-wrapper h1.tnone {
	margin: 15px 0;}
	
	#main .dcb-404-wrapper h1.tnone::after {
	content: none;}
	
  #main .dcb-404-wrapper h1 {
    /* margin: 2em 0 .4em;
    padding: 0 0 5px;
    font-size: 20px;
    line-height: 1.5; */
	  margin: 34px 0;
		font-size: 22px;
		/* text-align: left; */}
	
	#main .dcb-404-wrapper h1::after {
		width: 100%;
		margin-top: 16px;}

}

/* 会社案内メニュ */

.company-menu {
  overflow: hidden;
  box-sizing: border-box;
  margin: .8em 0;
  border-bottom: 1px solid #ccc;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.company-menu .item {
  padding: 20px 10px;
  width: 25%;
  border-right: 1px solid #ccc;
  border-top: 1px solid #ccc;
  box-sizing: border-box;
  font-size: 14px;
  text-align: center;
}

.company-menu .item:nth-child(4n) {
  border-right: none;
}

.company-menu .item.plan {
  width: 100%;
  padding: 6px 10px;
  font-size: 12px;
  border-bottom: none;
  border-right: none;
}

.company-menu .now {
  background-color: #999;
}

.company-menu .now p {
  padding: 0;
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .company-menu {
    margin: .4em 0;
  }

  .company-menu .item {
    width: 50%;
    padding: 10px 5px;
  }

  .company-menu .item:nth-child(2n) {
    border-right: none;
  }

  .company-menu .item.plan {
    padding: 3px 5px;
  }
}

/* サイトマップツリー */

.sitemap-list {
  margin: .8em 0;
  text-align: left;
}

.sitemap-list .under01,
.sitemap-list .menu_first {
  font-size: 16px;
}

.sitemap-list .under02,
.sitemap-list .menu_last {
  padding-left: 1em;
  color: #444 !important;
  font-size: 14px;
}

.sitemap-list .under03 {
  padding-left: 2em;
  color: #444 !important;
  font-size: 12px;
}

.sitemap-list .under04 {
  padding-left: 3em;
  color: #444 !important;
  font-size: 10px;
}

@media screen and (max-width: 767px) {
  .sitemap-list {
    margin: .4em 0;
  }

  .sitemap-list .under01 {
    font-size: 14px;
  }

  .sitemap-list .under02 {
    font-size: 12px;
  }

  .sitemap-list .under03 {
    font-size: 10px;
  }
}

/* ダイナミック-追従ボタン */

#fix-inquiry-btn {
  position: fixed;
  top: 15px;
  right: 15px;
  z-index: 999999;
}

#fix-inquiry-btn img {
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  #fix-inquiry-btn {
    top: initial;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.6);
    text-align: center;
  }

  #fix-inquiry-btn img {
    margin-left: auto;
    margin-right: auto;
  }
}

/* 2カラム(1:1) */

.column1-1 {
  width: 100%;
  overflow: hidden;
}

.column1-1 > div {
  float: left;
  width: 50%;
  padding-right: .4em;
  box-sizing: border-box;
}

.column1-1 > div:nth-child(2n) {
  padding-right: 0;
  padding-left: .4em;
}

@media screen and (max-width: 767px) {
  .column1-1 > div {
    float: none;
    width: 100%;
    padding-right: 0;
  }

  .column1-1 > div:nth-child(2n) {
    padding-left: 0;
  }
}

/* 3カラム */

.column1-1-1 {
  width: 100%;
  overflow: hidden;
}

.column1-1-1 > div {
  float: left;
  width: 33.33333333%;
  padding-right: .4em;
  padding-left: .4em;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .column1-1-1 > div {
    float: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

/* 4カラム(1:1:1:1) */

.column1-1-1-1 {
  width: 100%;
  overflow: hidden;
}

.column1-1-1-1 > div {
  float: left;
  width: 25%;
  padding-left: .4em;
  padding-right: .4em;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .column1-1-1-1 > div {
    width: 50%;
  }
}

/* Q&Aリスト */

.faq-list {
  margin: .8em 0;
}

.faq-list .item {
  margin-bottom: .8em;
}

.faq-list .item .top {
  position: relative;
  padding: 20px 40px 20px 80px;
  box-sizing: border-box;
  cursor: pointer;
  background-color: #50388C;
  color: #fff;
  min-height: 88px;
}

.faq-list .item .top .num {
  position: absolute;
  top: 20px;
  left: 20px;
  margin: 0 !important;
  opacity: 0.6;
  font-size: 40px !important;
  font-weight: normal;
  line-height: 1;
}

.faq-list .item .top .f {
  margin: 0 !important;
  font-weight: bold;
}

.faq-list .item .top::after {
  content: '＋';
  position: absolute;
  bottom: 20px;
  right: 20px;
  font-size: 16px;
  opacity: 0.6;
  font-weight: bold;
}

.faq-list .item .bottom {
  display: none;
  position: relative;
  padding: 20px 40px 20px 60px;
  background-color: #fff;
  border-right: 6px solid #50388C;
  border-bottom: 6px solid #50388C;
  border-left: 6px solid #50388C;
  box-sizing: border-box;
}

.faq-list .item .bottom .a::before {
  content: 'A';
  position: absolute;
  top: 30px;
  left: 20px;
  font-size: 40px;
  color: #50388C;
  line-height: 1;
  opacity: 0.6;
}

@media screen and (max-width: 767px) {
  .faq-list {
    margin: .4em 0;
  }

  .faq-list .item {
    width: 100%;
    margin: .2em;
  }

  .faq-list .item .top {
    min-height: 44px;
    padding: 10px 30px 10px 40px;
  }

  .faq-list .item .top .num {
    top: 10px;
    left: 10px;
    font-size: 21px !important;
  }

  .faq-list .item .top::after {
    bottom: 10px;
    right: 10px;
    font-size: 16px;
  }

  .faq-list .item .bottom {
    padding: 10px 30px 10px;
    border-right: 4px solid #50388C;
    border-bottom: 4px solid #50388C;
    border-left: 4px solid #50388C;
  }

  .faq-list .item .bottom .a::before {
    top: 15px;
    left: 10px;
    font-size: 20px;
  }
}

/* 非表示 */

.d-n {
  display: none;
}

@media screen and (min-width: 768px) {
  .pc-none {
    display: none!important;
  }
  .sp-none {
    display: block!important;
  }
}

@media screen and (max-width: 767px) {
  .pc-none {
    display: block!important;
  }
  .sp-none {
    display: none!important;
  }
}

/* youtube */

.video {
  position: relative;
  width: 100%;
  margin: .8em 0;
  padding-top: 56.25%;
  margin-left: auto;
  margin-right: auto;
}

.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media screen and (max-width: 767px) {
  .video {
    margin: .4em 0;
  }
}

/* ニュースリスト-スクエア4カラム */

.news-list-sq {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: .8em 0;
}

.news-list-sq .item {
  padding: .4em;
  width: 25%;
  box-sizing: border-box;
}

.news-list-sq .item .thumb {
  display: block;
  width: 100%;
  max-width: 200px;
  margin: 0 auto 6px;
}

.news-list-sq .item img {
  display: block;
  width: 100%;
  margin: 0 !important;
}

.news-list-sq .item .info {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 200px;
  box-sizing: border-box;
}

.news-list-sq .item .tt {
  display: block;
  margin: 0 auto 0.4em;
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  color: #444;
}

.news-list-sq .item .txt {
  display: block;
  margin: 0 auto 0.4em;
  text-align: left;
  font-size: 14px;
  color: #444;
}

.news-list-sq .item .place {
  display: block;
  text-align: right;
  font-size: 12px;
  color: #999;
}

@media screen and (max-width: 767px) {
  .news-list-sq {
    border-top: 1px solid #ccc;
    margin: .4em 0;
  }

  .news-list-sq .item {
    float: left;
    width: 100%;
    overflow: hidden;
    border-bottom: 1px solid #ccc;
  }

  .news-list-sq .item .thumb {
    float: left;
    width: 33.333333%;
  }

  .news-list-sq .item .info {
    float: left;
    width: 66.666667%;
    min-width: 66.666667%;
    min-width: -webkit-calc(100% - 200px);
    min-width: calc(100% - 200px);
    max-width: none;
    padding: 0 0 0 10px;
  }

  .news-list-sq .item .info .tt {
    font-weight: normal;
    font-size: 14px;
  }

  .news-list-sq .item .info .txt {
    font-size: 12px;
  }

  .news-list-sq .item .info .place {
    font-size: 10px;
  }
}

/* ニュースリスト-3:2-3カラム */

.news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: .8em 0;
}

.news-list .item {
  padding: .4em;
  width: 33.333333%;
  box-sizing: border-box;
}

.news-list .item .thumb {
  display: block;
  width: 100%;
  max-width: 300px;
  margin: 0 auto 6px;
}

.news-list .item img {
  display: block;
  width: 100%;
  margin: 0 !important;
}

.news-list .item .info {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 300px;
  box-sizing: border-box;
}

.news-list .item .tt {
  display: block;
  margin: 0 auto 0.4em;
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  color: #444;
}

.news-list .item .txt {
  display: block;
  margin: 0 auto 0.4em;
  text-align: left;
  font-size: 14px;
  color: #444;
}

.news-list .item .place {
  display: block;
  text-align: right;
  font-size: 12px;
  color: #999;
}

@media screen and (max-width: 767px) {
  .news-list {
    border-top: 1px solid #ccc;
    margin: .4em 0;
  }

  .news-list .item {
    float: left;
    width: 100%;
    overflow: hidden;
    border-bottom: 1px solid #ccc;
  }

  .news-list .item .thumb {
    float: left;
    width: 33.333333%;
  }

  .news-list .item .info {
    float: left;
    width: 66.666667%;
    min-width: 66.666667%;
    min-width: -webkit-calc(100% - 300px);
    min-width: calc(100% - 300px);
    max-width: none;
    padding: 0 0 0 10px;
  }

  .news-list .item .info .tt {
    font-weight: normal;
    font-size: 14px;
  }

  .news-list .item .info .txt {
    font-size: 12px;
  }

  .news-list .item .info .place {
    font-size: 10px;
  }
}

/* お問い合わせフォーム */

.contact {
  position: relative;
  width: 87%;
  margin-left: auto;
  margin-right: auto;
}

.contact input[type='text'] {
  font: 15px/24px sans-serif;
  box-sizing: border-box;
  width: 100%;
  padding: 0.3em;
  transition: 0.3s;
  letter-spacing: 1px;
  color: #333;
  border: 1px solid #1b2538;
  border-radius: 4px;
}

.contact label {
  padding: 8px;
  font: 14px sans-serif;
  line-height: 3em;
  background-color: #f0f0f0;
  border-radius: 4px;
}

.contact input.text-short {
  max-width: 260px;
}

.contact input.text-long {
  max-width: 520px;
}

.contact select {
  font: 15px/24px sans-serif;
  box-sizing: border-box;
  width: 100%;
  max-width: 200px;
  padding: 0.3em;
  transition: 0.3s;
  letter-spacing: 1px;
  color: #333;
  border: 1px solid #1b2538;
  border-radius: 4px;
}

.contact textarea {
  font: 15px/24px sans-serif;
  box-sizing: border-box;
  width: 100%;
  max-width: 520px;
  padding: 0.3em;
  transition: 0.3s;
  letter-spacing: 1px;
  color: #333;
  border: 1px solid #1b2538;
  border-radius: 4px;
}

.contact-ck table input,
.contact-ck .table-sp input {
  border: none;
}

.contact-ck table .contact-ck .table-sp {
  line-height: 2em;
}

#main input[type="submit"] {
  -webkit-appearance: none;
  display: block;
  margin: 1em auto;
  background-color: #50388c;
  color: #fff;
  line-height: 47px;
  height: 50px;
  text-align: center;
  font-size: 12px;
  min-width: 200px;
  border-right: 2px solid #31125e;
  border-bottom: 2px solid #31125e;
  border-left: 2px solid #876fc1;
  border-top: 2px solid #876fc1;
}

#main input[type="submit"]:hover {
  opacity: 0.7;
}

/* スライドショー */

.slide-show {
  margin: .8em 0;
}

.slide-show li img {
  margin: 0 !important;
}

@media screen and (max-width: 767px) {
  .slide-show {
    border-top: 1px solid #ccc;
  }
}


/* home　スライド部分 */

.multiple {
  padding: 0;}

.multiple img {
  width: 100%;}

.multiple li {
  margin: 0 5px;}

.multiple .slick-next {
  right: -14px;
  z-index: 100;}

.multiple .slick-prev {
  left: -14px;
  z-index: 100;}

.multiple .item a {
  color: #333;}

.multiple .item .tt {
  display: block;
  margin: 10px 0 0 0;
  padding: 0 0.5em;
  text-align: left;
  font-size: 14px;
  line-height: 23.2px;
  /* font-weight: bold; */
  color: #333;}

/* home ニュース一覧 */

  .infobox {
    display: flex;
    justify-content: space-between;
  }

  .news-list-02 {
    width: 530px;
    height: 350px;
    list-style: none;
    overflow: scroll;
    overflow-x: hidden;
    line-height: 170%;
  }

  .news-list-02 li {
    display: flex;
    justify-content: flex-start;
    border-bottom: 1px #333 dashed;
    align-items: center;
  }

  .news-list-02 li p {
    margin-right: 1em !important;
    font-size: 12px !important;
    box-sizing: content-box;
  }

  .news-list-02 li p.ell {
    margin-right: 1em;
    font-size: 12px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 28em;
  }

  .news-list-02 li p.i-cam {
    color: #fff;
    background-color: #339933;
    border-radius: 8px;
    padding: 0.5em;
    font-size: 9px !important;
    width: 8em;
    height: 1em;
    line-height: 1em;
    text-align: center;
  }

  .news-list-02 li p.i-info {
    color: #fff;
    background-color: #3399cc;
    border-radius: 8px;
    padding: 0.5em;
    font-size: 9px !important;
    width: 8em;
    height: 1em;
    line-height: 1em;
    text-align: center;
  }

  .news-list-02 li p.i-sale {
    color: #fff;
    background-color: #ff6666;
    border-radius: 8px;
    padding: 0.5em;
    font-size: 9px !important;
    width: 8em;
    height: 1em;
    line-height: 1em;
    text-align: center;
  }

  /* 20211228 add */

  .news-list-02new {
    width: 100%;
    height: 300px;
    list-style: none;
    overflow: scroll;
    overflow-x: hidden;
    line-height: 170%;
  }

  .news-list-02new li {
    display: flex;
    justify-content: flex-start;
    border-bottom: 1px #333 dashed;
    align-items: center;
  }

  .news-list-02new li p {
    margin-right: 1em !important;
    font-size: 14px !important;
    box-sizing: content-box;
  }

  .news-list-02new li p.ell {
    margin-right: 1em;
    font-size: 14px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    width: 50em;
  }

  .news-list-02new li p.i-cam {
    color: #215A36;
    border: solid 2px #215A36;
    border-radius: 11px;
    padding: 0.5em;
    font-size: 9px !important;
    width: 8em;
    height: 1em;
    line-height: 1em;
    text-align: center;
  }

  .news-list-02new li p.i-info {
    color: #2E4A74;
    border: solid 2px #2E4A74;
    border-radius: 11px;
    padding: 0.5em;
    font-size: 9px !important;
    width: 8em;
    height: 1em;
    line-height: 1em;
    text-align: center;
  }

  .news-list-02new li p.i-sale {
    color: #A93422;
    border: solid 2px #A93422;
    border-radius: 11px;
    padding: 0.5em;
    font-size: 9px !important;
    width: 8em;
    height: 1em;
    line-height: 1em;
    text-align: center;
  }

  #main .news-list-02new li a {
    color: #444;
  }

  #main ul.bs {
		margin: 70px 0;
		display: flex;
		justify-content: space-between;
	}

	#main ul.bs li {
		margin: 0 0 10px 0;
		display: flex;
		justify-content: space-between;
	}

	#main ul.bs li p.bsimg {
		width: 100px;
		margin: 0;
	}

	#main ul.bs li p.bsimg img {
		margin: 0;
	}

	#main ul.bs li p.bstxt {
		width: 190px;
		height: 66px;
		font-size: 11px;
		line-height: 66px;
		margin: 0 0 0 20px;
		border-bottom: 1px #333 dashed;
	}

	#main ul.bs li a {
		display: block;
	}

/* 20211228 add end */

  .news-list-03 {
    margin: 3em 0;
    list-style: none;
    /* overflow: scroll;
    overflow-x: hidden; */
    line-height: 170%;
  }

  .news-list-03 li {
    display: flex;
    justify-content: flex-start;
    border-bottom: 1px #333 dashed;
    align-items: center;
  }

  .news-list-03 li p {
    margin-right: 1em !important;
    font-size: 12px !important;
    box-sizing: content-box;
  }

  .news-list-03 li p.ell {
    margin-right: 1em;
    font-size: 12px !important;
    /* text-overflow: ellipsis; */
    /* white-space: nowrap; */
    /* overflow: hidden; */
    /* width: 28em; */
  }

  .news-list-03 li p.i-cam {
    color: #fff;
    background-color: #339933;
    border-radius: 8px;
    padding: 0.5em;
    font-size: 9px !important;
    width: 8em;
    height: 1em;
    line-height: 1em;
    text-align: center;
  }

  .news-list-03 li p.i-info {
    color: #fff;
    background-color: #3399cc;
    border-radius: 8px;
    padding: 0.5em;
    font-size: 9px !important;
    width: 8em;
    height: 1em;
    line-height: 1em;
    text-align: center;
  }

  .news-list-03 li p.i-sale {
    color: #fff;
    background-color: #ff6666;
    border-radius: 8px;
    padding: 0.5em;
    font-size: 9px !important;
    width: 8em;
    height: 1em;
    line-height: 1em;
    text-align: center;
  }

  @media screen and (max-width:767px) {
    #main h2 {
      margin: 1em 0
    }

    .infobox {
      display: flex;
      flex-wrap: wrap;
    }

    .news-list-02,.news-list-02new  {
      width: 95%;
      height: 200px;
      margin: 0 auto 2em auto;
      list-style: none;
    }

    .news-list-02,.news-list-02new li p {
      margin-right: 0.5em !important;
      font-size: 12px !important;
    }

    .news-list-02,.news-list-02new li p.i-cam {
      background-color: #fff;
      border-radius: 8px;
      padding: 1em;
      font-size: 8px !important;
      width: 8em;
      height: 1em;
      line-height: 1em;
      text-align: center;
      white-space: nowrap;
    }

    .news-list-02,.news-list-02new li p.i-info {
      background-color: #fff;
      border-radius: 8px;
      padding: 1em;
      font-size: 8px !important;
      width: 8em;
      height: 1em;
      line-height: 1em;
      text-align: center;
      white-space: nowrap;
    }

    .news-list-02,.news-list-02new li p.i-sale {
      background-color: #fff;
      border-radius: 8px;
      padding: 1em;
      font-size: 8px !important;
      width: 8em;
      height: 1em;
      line-height: 1em;
      text-align: center;
      white-space: nowrap;
    }

    .news-list-02,.news-list-02new li p.ell {
      margin-right: 1em;
      font-size: 12px !important;
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden;
      width: 12em;
    }
/* 20211228 add */

#main ul.bs {
  margin: 10px 0;
  display: flex;
  flex-direction: column;
}

#main ul.bs li {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 10px 0 0 0;
}

#main ul.bs li p.bsimg {
  width: 25%;
  margin: 0;
}

#main ul.bs li p.bsimg img {
  width: 100%;
  margin: 0;
}

#main ul.bs li p.bstxt {
  width: 70%;
  height: 50px;
  line-height: 50px;
  margin: 0 0 0 20px;
  border-bottom: 1px #333 dashed;
}

/* 20211228 add end */

   .news-list-03 {
      width: 95%;
      margin: 2em auto;
      list-style: none;
    }

    .news-list-03 li p {
      margin-right: 0.5em !important;
      font-size: 12px !important;
    }

    .news-list-03 li p.i-cam {
      color: #fff;
      background-color: #339933;
      border-radius: 8px;
      padding: 1em;
      font-size: 8px !important;
      width: 8em;
      height: 1em;
      line-height: 1em;
      text-align: center;
      white-space: nowrap;
    }

    .news-list-03 li p.i-info {
      color: #fff;
      background-color: #3399cc;
      border-radius: 8px;
      padding: 1em;
      font-size: 8px !important;
      width: 8em;
      height: 1em;
      line-height: 1em;
      text-align: center;
      white-space: nowrap;
    }

    .news-list-03 li p.i-sale {
      color: #fff;
      background-color: #ff6666;
      border-radius: 8px;
      padding: 1em;
      font-size: 8px !important;
      width: 8em;
      height: 1em;
      line-height: 1em;
      text-align: center;
      white-space: nowrap;
    }

    .news-list-03 li p.ell {
      margin-right: 1em;
      font-size: 12px !important;
      text-overflow: ellipsis;
      white-space: nowrap;
      overflow: hidden;
      width: 12em;
    }
  }

    /* home ニュース一覧ここまで */

    /* home facebook 枠 */

    @media screen and (max-width:767px) {
      .fb-container {
        width: 100%;
        background: #ccc;
      }

      .fb-page {
        display: block !important;
        width: 95%;
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
        height: 350px;
      }
    }

/* サイト内検索 */

.siteSearch {
  position: relative;
  width: 100%;
  max-width: 656px;
  height: 48px;
  margin: 32px auto;
  border-radius: 4px;
  border: 1px solid #acacac;
}

.siteSearch-txt {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 8px 64px 8px 16px;
  border: 0;
  background-color: transparent;
  box-sizing: border-box;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
  font-size: 16px;
  color: #444;
}

.siteSearch-txt:focus {
  box-shadow: 0 0 7px #50388c;
  border: 1px solid #50388c;
  outline: none;
}

.siteSearch-submit {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: 48px;
  height: 100%;
  border: none;
  background-color: transparent;
}

.siteSearch-submit:hover {
  opacity: 0.6;
}

.siteSearch-submit .searchIcon {
  width: 24px;
  height: 24px;
}

.siteSearch-list {
  margin: 32px 0;
}

.siteSearch-list li {
  margin: 32px 0;
}

.siteSearch-list h3 {
  margin-top: 0!important;
  margin-bottom: 5px!important;
  padding: 0!important;
  border-left: none!important;
  font-size: 18px!important;
  line-height: 1.4!important;
  font-weight: normal!important;
  background-color: transparent!important;
  color: #50388c;
}

.siteSearch-list p {
  margin-top: 0!important;
  margin-bottom: 0!important;
  font-size: 14px!important;
  line-height: 1.6;
  color: #666;
}

@media only screen and (max-width: 767px) {
  .siteSearch {
    height: 32px;
    margin-top: 16px;
    margin-bottom: 16px;
  }

  .siteSearch-txt {
    padding-top: 4px;
    padding-right: 40px;
    padding-bottom: 4px;
    padding-left: 8px;
    font-size: 14px;
  }

  .siteSearch-submit {
    width: 32px;
  }

  .siteSearch-submit .searchIcon {
    width: 16px;
    height: 16px;
  }

  .siteSearch-list {
    margin-top: 16px;
    margin-bottom: 16px;
  }

  .siteSearch-list li {
    margin-top: 16px;
    margin-bottom: 16px;
  }

  .siteSearch-list h3 {
    margin-bottom: 1px!important;
    font-size: 15px!important;
  }

  .siteSearch-list p {
    font-size: 12px!important;
  }
}

span.hl {
	font-weight: bold;
	background: linear-gradient(transparent 60%, #ffd833 60%);}

/* 内部修正対応 */

.thumb_image {
margin: 30px 0;
}

#main h1.main_title {
font-size: 16px;
font-weight: normal;
}







/* 15th index キャッチコピー */


.index-title{
	font-family: a-otf-futo-min-a101-pr6n, serif;
	color:#fff;
	font-size:31.25px;
	line-height:48px;
	font-weight:400;
	letter-spacing:0.15em;
	transform:scaleX(.96) !important;
	transform-origin:left;
    width:92%;
	text-align:left;
	position:absolute;
	bottom:138px;
	left:4%;
	z-index:100;
	-webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    transition: all 0.3s linear;
    opacity:0 !important;
}
.index-title span{
font-size:15px;
}
.big .index-title{
	opacity:1 !important;
}

