@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

:root {
  --Black: #5B5657;
  --MainWine: #962042;
  --Wine1: #8D2D3B;
  --Yellow: #B38A33;

--color-meiji: #CE7A86;
--color-taisho: #9CA1C8;
--color-showa: #BCBC6A;
--color-heisei: #92BFC0;
--color-reiwa: #C9A37B;
}

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

    reset

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

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure, article, section { margin: 0; padding: 0; border: 0; outline: 0; box-sizing: border-box;}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; } ol, ul { list-style: none; } blockquote, q { quotes: none; } :focus { outline: 0; } ins { text-decoration: none; } del { text-decoration: line-through; }

body{
position: relative;
font-size:16px;
line-height: 180%;
color: #fff;
font-family: "Zen Old Mincho", serif;
font-weight: 400;
letter-spacing: 5%;
background: var(--MainWine);
}

img{vertical-align:middle; width:100%; height:auto;}

.ImgFix {overflow: hidden;}
.ImgFix img{width: 100%; height: 100%; object-fit: cover;}

@media only screen and (max-width:840px) {
body{font-size:13px;}
img.ImgSp{width: 80%; margin-left: 10%; margin-right: 10%;}
}

html,body{height: 100%;}

a{color: var(--base);}
a:hover{opacity: .8;}

a,a img,a:hover img,li,li:hover,a::after,a:hover::after,a::before,a:hover::before,input,input:hover,.trigger,.trigger:hover,i{-webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all  0.3s ease;}

p{margin-bottom:40px; padding:0;}
p:last-of-type {margin-bottom: 0;}

h1,h2,h3,h4,h5{font-weight:normal; margin:0; padding:0; position: relative; width: 100%;}
td,li,dt,dd{position: relative;}

.Heading1{font-weight: 600; font-size: 60px; line-height: 160%; margin-bottom: 80px;}
.Heading2{font-weight: 600; font-size: 24px; line-height: 34px; margin-bottom: 60px;}
.Heading3{font-weight: 600; font-size: 34px; margin-bottom: 30px;}

.SubHeading1{font-size: 80%; line-height: 100%; letter-spacing: 20%;}

@media only screen and (max-width:840px) {
.Heading1{font-size: 22px; margin-bottom: 40px;}
.Heading2{font-weight: 400; font-size: 18px; line-height: 140%; letter-spacing: 20%; margin-bottom: 40px;}
.Heading3{font-weight: 600; font-size: 16px; margin-bottom: 30px; letter-spacing: 10%; margin-bottom: 20px;}

p{margin-bottom:24px; padding:0;}
}

.Overflow{overflow: hidden;}

.Bg{height: 100%; width: 100%; background-image: radial-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .8)); position: relative; z-index: 2; top: 0; left: 0;}
.Bg_w{height: 100%; width: 100%; background-image: radial-gradient(rgba(255, 255, 255, .8), rgba(255, 255, 255, 1)); position: relative; z-index: 2; top: 0; left: 0;}

.BgFix{position: relative; width: 100%; height: auto; overflow: hidden; clip-path: inset(0);}
.BgFix::before {content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100svh; background-size: cover; background-position: center; background-repeat: no-repeat; z-index: -1; will-change: transform; transform: translateZ(0);}

.Inner{margin:0 auto; position:relative; max-width:1420px; padding-left:20px; padding-right:20px;}


/* 初期状態：透明にして、少し下（または上）にずらしておく */
.fade-in {
  opacity: 0;
  transform: translateY(30px); /* 30px下からふわっと上がってくる場合 */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}

/* 表示されたときの状態：不透明度1、元の位置に戻る */
.fade-in.is-show {
  opacity: 1;
  transform: translateY(0);
}



@media only screen and (max-width:840px) {
.Inner{padding-left:20px; padding-right:20px;}
}

header.Header{position: absolute; top: 0; left: 0; z-index: 10; width: 100%; height: 150px; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.3) 60%, rgba(0, 0, 0, 0) 100%);}
header.Header .Inner{display: flex; padding-left: 64px;}
header.Header .LogoArea{width: 220px; background: rgba(150,32,66,.95); padding: 24px 30px 39px;}
header.Header nav{flex: 1; padding-left: 32px;}
header.Header ul{display: flex; align-items: center; justify-content: flex-end; line-height: 150%; letter-spacing: 5%; gap:32px; padding-top: 62px;}
header.Header ul a{letter-spacing: 10%; line-height: 100%; text-decoration: none; color: #fff;}
header.Header ul a:hover{opacity: .5;}

header.Header ul .MainLink{border-left: #fff solid 1px; padding-left: 32px;}

section.MainVisual{height: 100vh; position: relative; overflow: hidden; background: url("../img/mainvisual.webp") center center no-repeat; background-size: cover;}
section.MainVisual .Inner{height: 100%; position: relative;}
section.MainVisual .Inner .Catch{position: absolute; left: 64px; top: 42%; width: 390px;}

@media only screen and (max-width:1350px) {
header.Header ul{letter-spacing: 5%; gap: 16px; font-size: 14px;}
header.Header nav{padding-left: 16px;}
header.Header ul .MainLink{padding-left: 16px;}

}

@media only screen and (max-width:1160px) {
header.Header .Inner{padding-left: 16px;}
header.Header .LogoArea{width: 180px;}

section.MainVisual .Inner .Catch{left: 16px; top: 42%;}
}


@media only screen and (max-width:840px) {

header.Header{background: rgba(150,32,66,.95); height: 72px;}
header.Header .LogoArea{width: 200px; background: rgba(150,32,66,0); padding:0;}
header.Header nav{display: none;}
section.MainVisual{height: 612px;}
section.MainVisual .Inner .Catch{top: 42%; width: 254px;}

}

.menu-btn {position: absolute; right: 0; top: 50%; transform: translate(0,-50%); display: flex; align-items: center; background: none; border: none; cursor: pointer; padding: 0; color: #fff; z-index: 11;}

@media only screen and (min-width:841px) {
.menu-btn {display: none;}
}

.menu-text {font-size: 13px; letter-spacing: 5%; margin-right: 12px; font-family: "Roboto Mono", monospace;}
.icon-lines {position: relative; width: 50px; height: 20px; display: flex; flex-direction: column; justify-content: space-between;}
.icon-lines span {display: block; width: 100%; height: 0.5px; background-color: #fff; transition: transform 0.3s ease, opacity 0.3s ease; position: relative;}
.menu-btn.is-open .icon-lines span:nth-child(1) {transform: translateY(9.75px) rotate(21.8deg);}
.menu-btn.is-open .icon-lines span:nth-child(2),
.menu-btn.is-open .icon-lines span:nth-child(3),
.menu-btn.is-open .icon-lines span:nth-child(4) {opacity: 0; transform: scale(0);}
.menu-btn.is-open .icon-lines span:nth-child(5) {transform: translateY(-9.75px) rotate(-21.8deg);}
.nav-menu {position: absolute; top: 72px; left: 0; width: 100%; background-color: #882743; overflow: hidden; transform: translateY(-100%); opacity: 0; visibility: hidden; transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out, visibility 0.4s ease-in-out; z-index: 5;}
.nav-menu.is-open {transform: translateY(0); opacity: 1; visibility: visible;}
.nav-list {list-style: none; margin: 0;}
.nav-list li{border: rgba(255,255,255,.2) solid 1px;}
.nav-list a{color: #fff; text-decoration: none; font-size: 14px; letter-spacing: 10%; transition: opacity 0.2s; line-height: 180%; display: block; padding: 20px; position: relative;}
.nav-list a::after{position: absolute; content: ">"; right: 20px; top: 50%; transform: translate(0,-50%) scaleY(1.5); transition: 0.3s ease;}
.nav-list a:hover::after {right: 15px; transition: 0.3s ease;}
.nav-list .MainLink{padding: 32px 0; display: flex; justify-content: center; align-items: center;}
.nav-list .MainLink a{width: 262px; border: rgba(255,255,255,.2) solid 1px; padding: 16px 56px;}
.nav-list .MainLink a::after{display: none;}



.Bg1{background: url("../img/bg_paper.webp") center top / cover no-repeat;}
.LineArea{margin: 0 auto; max-width: 1000px;}

section.TopNews{background: url("../img/bg_paper_top.webp") left top no-repeat;}
section.TopNews .Inner{max-width: 1000px; padding: 104px 20px;}

section.TopNews .Line{background: url("../img/line.svg") center bottom repeat-x; padding: 0 20px; height: 17px; margin: 0 20px;}
section.TopNews .NewsArea{display: flex; flex-wrap: wrap; justify-content: space-between; position: relative;}
section.TopNews h2{font-size: 32px; width: 153px; line-height: 1.2; position: relative;}
section.TopNews h2::before{content: "News"; font-family: "Roboto Mono", monospace; font-size: 13px; position: absolute; transform: rotate(90deg) translate(50%,0); left: 35px; top: 3px;}
section.TopNews h2::after{content: ""; position: absolute; left: 16px; top: 170px; width: 1px; height: 150px; border-left: rgba(255,255,255,.5) solid 1px;}
@media only screen and (min-width:841px) {
section.TopNews h2 span{display: block;}
}
ul.NewsUl{padding-left: 60px; flex: 1;}
ul.NewsUl li{border: rgba(255,255,255,.2) solid 1px;}
ul.NewsUl li a{padding: 30px 40px; display: block; text-decoration: none;}
ul.NewsUl li a:hover{opacity: 1; background: rgba(255,255,255,.16);}
ul.NewsUl li span.Day{font-size: 20px;}
ul.NewsUl li span.Category{font-size: 13px; padding: 3px 5px; border: #fff solid 1px; font-family: "Zen Kaku Gothic New", sans-serif; margin-left: 15px; display: inline-block;}
ul.NewsUl li h3{font-size: 16px; line-height: 150%; letter-spacing: 5%; margin-top: 10px;}

section.TopNews .Bt{position: absolute; left: 0; bottom: 0; border: #fff solid 1px; font-size: 18px; display: flex; justify-content: center; align-items: center; width: 133px; height: 65px; text-decoration: none;}
section.TopNews .Bt:hover{opacity: 1; background: rgba(255,255,255,.16);}
@media only screen and (max-width:840px) {
section.TopNews .Inner{padding: 64px 0;}
section.TopNews h2{font-size: 26px; width: 100%; line-height: 140%; letter-spacing: 10%; text-align: center; margin-bottom: 48px;}
section.TopNews h2::before{transform: rotate(0deg) translate(-50%,0); left: 50%; top: 100%;}
section.TopNews h2::after{display: none;}
ul.NewsUl{padding-left: 0px;}
section.TopNews .NewsArea{padding-bottom: 70px;}
section.TopNews .Bt{width: 133px; height: 50px; left: 50%; transform: translate(-50%,0);}
ul.NewsUl li span.Day{font-size: 16px;}
ul.NewsUl li h3{font-size: 14px;}
}


section.movie .Inner{padding-top: 80px; padding-bottom: 96px; max-width: 840px;}
section.movie h2{font-size: 36px; text-align: center; line-height: 180%; letter-spacing: 12%; margin-bottom: 64px;}
section.movie video{width: 100%;}
@media only screen and (max-width:840px) {
section.movie .Inner{padding-top: 64px; padding-bottom: 40px;}
section.movie h2{font-size: 24px;line-height: 140%; letter-spacing: 8%; margin-bottom: 40px;}
}

section.vision{position: relative;}


section.vision .Inner{padding-top: 0px; padding-bottom: 120px; max-width: 1200px;}
section.vision h2{font-size: 24px; text-align: center; line-height: 180%; letter-spacing: 12%; margin-bottom: 64px;}
section.vision .Box{background: rgba(255,255,255,.88); padding: 72px; display: flex; flex-wrap: wrap; justify-content: space-between; color: var(--Black); box-shadow: 0 12px 16px 0 rgba(0,0,0,.12);}
section.vision h3{font-size: 22px; line-height: 140%; letter-spacing: 18%; background: var(--MainWine); text-align: center; color: #fff; margin-bottom: 24px; padding: 5px;}
section.vision .BoxVision{width: 63%;}
section.vision .BoxVision .Heading{font-size: 28px; color: var(--Wine1); text-align: center; line-height: 140%; letter-spacing: 12%; position: relative; margin-bottom: 20px;}
section.vision .BoxVision .Heading::before,section.vision .BoxVision .Heading::after{content: ""; width: 15%; height: 1px; border-bottom: var(--MainWine) solid 1px; opacity: .4; position: absolute; top: 50%;}
section.vision .BoxVision .Heading::before{left: 0;}
section.vision .BoxVision .Heading::after{right: 0;}

@media only screen and (max-width:1170px) {
section.vision .BoxVision .Heading::before,section.vision .BoxVision .Heading::after{width: 10%;}
}

@media only screen and (max-width:1050px) {
section.vision .BoxVision .Heading{font-size: 24px;}
}

@media only screen and (max-width:950px) {
section.vision h3{font-size: 16px;}
section.vision .BoxVision .Heading::before,section.vision .BoxVision .Heading::after{width: 6%;}
}

section.vision .BoxVision ul{margin-left: 25px;}
section.vision .BoxVision ul li{list-style: decimal; margin-bottom: 10px; font-family: "Zen Kaku Gothic New", sans-serif; font-size: 15px;}
section.vision .BoxVision ul li:last-child{margin-bottom: 0;}
section.vision .BoxVision ul li::marker{color: var(--Wine1); font-size: 18px; font-weight: bold; font-family: "Zen Old Mincho", serif;}
section.vision .BoxPhilosophy{width: 32.28%;}

@media only screen and (min-width:841px) {
section.vision .PaperLight{position: absolute; width: 1231px; right: 0; top: -300px;}
section.vision h2 span{display: block;}
}

@media only screen and (max-width:840px) {
section.vision .PaperLight{position: absolute; width: 1000px; right: 0; bottom: -200px;}
section.vision .Inner{padding-bottom: 48px;}
section.vision h2{font-size: 16px; text-align: left; margin-bottom: 40px;}
section.vision .Box{padding: 20px;}
section.vision .BoxVision,
section.vision .BoxPhilosophy{width: 100%;}

section.vision h3{font-size: 14px;}
section.vision .BoxVision .Heading{font-size: 18px;}
section.vision .BoxVision .Heading span{display: block;}
section.vision .BoxVision .Heading::before,section.vision .BoxVision .Heading::after{width: 20%;}

section.vision .BoxVision ul{margin-bottom: 32px;}
section.vision .BoxVision ul li{font-size: 13px;}
section.vision .BoxVision ul li::marker{font-size: 16px;}
}

section.Message {position: relative; background: url("../img/bg_paper_bottom.webp") center bottom no-repeat; background-size: 100%; overflow: hidden;}


section.Message .Inner{max-width: 1120px; padding-bottom: 160px;}
section.Message .Inner .Box{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}

section.Message .Inner .Box .presidents{box-shadow: -24px 24px 0 0 var(--Yellow);}
section.Message .Inner .Box .chairmans{box-shadow: 24px 24px 0 0 var(--Yellow);}
section.Message .Inner .Box .TxtArea{width: 55.55555%;}
section.Message .Inner .Box .TxtArea p{font-size: 15px; line-height: 200%; letter-spacing: 5%; font-family: "Zen Kaku Gothic New", sans-serif;}
section.Message .Inner .Box h2{font-size: 32px; line-height: 140%; letter-spacing: 10%; display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 40px;}
section.Message .Inner .Box h2 span.Sub{font-family: "Roboto Mono", monospace; font-size: 13px; letter-spacing: 5%; margin-left: 24px;}

section.Message .Mb{margin-bottom: 104px;}

@media only screen and (min-width:841px) {
section.Message .PaperLight1{position: absolute; width: 1231px; right: 0; bottom: -200px;}
section.Message .PaperLight2{position: absolute; width: 1171px; left: 0; top: -50px;}
section.Message .Inner .Box .ImgArea{width: 36%;}
}

@media only screen and (max-width:840px) {
section.Message .PaperLight1{position: absolute; width: 1231px; right: -95%; bottom: -100px;}
section.Message .PaperLight2{position: absolute; width: 1171px; left: -90%; top: 30%;}

section.Message {overflow: hidden;}
section.Message .Inner{padding: 0 0 64px 0;}
section.Message .Inner .Box h2{font-size: 26px; display: block; margin-bottom: 32px; text-align: center;}
section.Message .Inner .Box h2 span.Sub{margin-left: 0px; display: block;}
section.Message .Inner .Box .TxtArea{width: 100%; padding: 0 20px;}
section.Message .Inner .Box .ImgArea{max-width: 335px !important; padding: 0 20px 32px; margin: 0 auto 32px; position: relative;}
section.Message .Inner .Box .ImgArea::after{content: ""; position: absolute; width: 1000px; height: 50%; background: var(--Yellow); left: 50%; bottom: 0; transform: translate(-50%,0); z-index: 1;}
section.Message .Inner .Box .ImgArea img{z-index: 2; position: relative;}
section.Message .Inner .Box .TxtArea p{font-size: 13px;}
}

section.Project{padding: 104px 20px;}
section.Project.BgFix::before {background: url("../img/bg01.webp") center center / cover no-repeat;}


section.Project .Inner{max-width: 840px; background: rgba(255,255,255,.94); padding: 56px 72px; color: var(--Black)}

section.Project .Inner h2{font-size: 32px; line-height: 140%; letter-spacing: 10%; margin-bottom: 40px; color: var(--Wine1); text-align: center;}
section.Project .Inner h2 span.Sub{font-family: "Roboto Mono", monospace; font-size: 13px; letter-spacing: 5%; display: block;}
section.Project .Inner p{text-align: center; font-family: "Zen Kaku Gothic New", sans-serif;}
section.Project .Inner .Bold{color: var(--Wine1); font-weight: bold;}

@media only screen and (max-width:840px) {
section.Project .Inner h2{font-size: 26px; margin-bottom: 24px;}
section.Project{padding: 40px 20px;}
section.Project .Inner{padding: 33px 32px;}
section.Project .Inner p{text-align: left;}
}

section.Catch2{background: url("../img/bg02.webp") center center / cover no-repeat;}
section.Catch2 .Inner{max-width: 1040px; padding-top: 104px; padding-bottom: 104px;}
section.Catch2 .Box{background: rgba(255,255,255,.94); padding: 56px 72px; color: var(--Black);}
section.Catch2 .Logo120th{display: flex; flex-wrap: wrap; justify-content: space-between; padding: 72px; margin-bottom: 16px;}
section.Catch2 .Logo120th .ImgArea{width: 32.7%;}
section.Catch2 .Logo120th .TxtArea{width: 59.8%;}
section.Catch2 .Logo120th .TxtArea h2{font-size: 24px; line-height: 140%; letter-spacing: 10%; color: var(--Wine1); margin-bottom: 40px;}
section.Catch2 .Logo120th .TxtArea h2 span.Sub{font-family: "Roboto Mono", monospace; font-size: 13px; letter-spacing: 5%; display: block;}
section.Catch2 .Logo120th .TxtArea p{font-size: 15px; line-height: 200%; letter-spacing: 5%; font-family: "Zen Kaku Gothic New", sans-serif;}

section.Catch2 .Catchcopy{padding: 72px 16%; text-align: center;}
section.Catch2 .Catchcopy .Icon{margin-bottom: 20px;}
section.Catch2 .Catchcopy .Icon span{background: var(--Wine1); border-radius: 500px; display: inline-block; color: #fff; font-size: 15px; line-height: 140%; letter-spacing: 5%; font-family: "Zen Kaku Gothic New", sans-serif; padding: 2px 20px;}
section.Catch2 .Catchcopy h2{font-size: 30px; line-height: 140%; letter-spacing: 18%; color: var(--Wine1); margin-bottom: 34px;}
section.Catch2 .Catchcopy h2 span.kana{display: inline-block; position: relative;}
section.Catch2 .Catchcopy h2 span.kana::before{position: absolute; content: "つむ"; font-size: 15px; line-height: 140%; letter-spacing: 5%; left: 50%; top: -15px; transform: translate(-60%,0); width: 100%;}
section.Catch2 .Catchcopy .Txt1{color: var(--Black); font-size: 15px; line-height: 200%; letter-spacing: 5%; font-family: "Zen Kaku Gothic New", sans-serif;}
section.Catch2 .Catchcopy .mb{margin-bottom: 48px;}
section.Catch2 .Catchcopy dl{border: var(--Yellow) solid 1px;}
section.Catch2 .Catchcopy dt{background: var(--Yellow); color: #fff; padding: 12px; font-size: 16px;}
section.Catch2 .Catchcopy dd{background: #fff; padding: 32px; text-align: left;}
section.Catch2 .Catchcopy dd .Comment{margin-bottom: 16px;}
section.Catch2 .Catchcopy dd .Name{text-align: right; line-height: 160%; letter-spacing: 5%; margin-bottom: 0;}
section.Catch2 .Catchcopy dd .Name span{font-size: 16px;}
section.Catch2 .Catchcopy dd .Major{text-align: right; font-size: 14px; line-height: 160%; letter-spacing: 5%; padding-right: 15px;}

@media only screen and (min-width:841px) {
section.Catch2 .Logo120th .TxtArea h2 span.Sub .SpBlock{margin-right: 8px;}
}

@media only screen and (max-width:840px) {
section.Catch2{background: url("../img/bg_paper01.webp") center center / cover no-repeat;}
section.Catch2 .Inner{padding-top: 40px; padding-bottom: 50px;}
section.Catch2 .Box{background: rgba(255,255,255,.94); padding: 32px 20px; color: var(--Black);}
section.Catch2 .Logo120th{display: flex; flex-wrap: wrap; justify-content: space-between; padding: 32px 20px; margin-bottom: 20px;}
section.Catch2 .Logo120th .ImgArea{width: 100%; padding: 0 23%; margin-bottom: 20px}
section.Catch2 .Logo120th .TxtArea{width: 100%;}
section.Catch2 .Logo120th .TxtArea h2{font-size: 22px; margin-bottom: 20px; text-align: center;}
section.Catch2 .Logo120th .TxtArea h2 span.Sub{line-height: 120%; margin-top: 15px;}
section.Catch2 .Logo120th .TxtArea p{font-size: 13px;}

section.Catch2 .Catchcopy{padding: 32px 20px;}
section.Catch2 .Catchcopy .Icon{margin-bottom: 22px;}
section.Catch2 .Catchcopy .Icon span{font-size: 13px;}
section.Catch2 .Catchcopy h2{font-size: 22px; margin-bottom: 20px;}
section.Catch2 .Catchcopy h2 span.kana::before{font-size: 13px; line-height: 140%; letter-spacing: 5%; left: 50%; top: -15px; transform: translate(-60%,0); width: 120%;}
section.Catch2 .Catchcopy .Txt1{font-size: 13px; text-align: left;}
section.Catch2 .Catchcopy .mb{margin-bottom: 20px;}
section.Catch2 .Catchcopy dl{border: var(--Yellow) solid 1px;}
section.Catch2 .Catchcopy dt{background: var(--Yellow); color: #fff;}
section.Catch2 .Catchcopy dd{background: #fff; padding: 32px; text-align: left;}
section.Catch2 .Catchcopy dd .Comment{margin-bottom: 16px;}
section.Catch2 .Catchcopy dd .Name{text-align: right; line-height: 160%; letter-spacing: 5%; margin-bottom: 0;}
section.Catch2 .Catchcopy dd .Name span{font-size: 16px;}
section.Catch2 .Catchcopy dd .Major{font-size: 12px; padding-right: 5px;}
}


section.Project2{background:#F4F3F3;}
section.Project2 .Inner{padding: 104px 0 144px; max-width: 1000px; color: var(--Black);}
section.Project2 .Inner h2{font-size: 32px; line-height: 160%; letter-spacing: 10%; margin-bottom: 62px; color: var(--Wine1); text-align: center;}
section.Project2 .Inner h2 span.Sub{font-family: "Roboto Mono", monospace; font-size: 13px; line-height: 120%; letter-spacing: 5%; display: block; margin-top: 20px;}

section.Project2 table{width: 960px; border-collapse:collapse; font-family: "Zen Kaku Gothic New", sans-serif; font-size: 15px; line-height: 150%; letter-spacing: 5%; text-align: center;}
section.Project2 th.th1{width: 120px;}
section.Project2 th.th2{width: 280px;}

section.Project2 th.column-1{width: 120px;}
section.Project2 th.column-2{width: 380px;}
section.Project2 th.column-3{width: 180px;}
section.Project2 th.column-4{width: 280px;}


section.Project2 th,
section.Project2 td{border: var(--Wine1) solid 1px; padding: 16px;}
section.Project2 th{background: #FBECEE; color: var(--Wine1);}
section.Project2 table a{color: #004EC2; position: relative;}
section.Project2 table a::after{content: ""; background: url("../img/icon_link.svg") center center no-repeat; width: 14px; height: 14px; background-size: 14px; display: inline-block;}


section.Project2 .TableScroll{overflow-x: scroll}
.table-scroll-container {width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; /* Firefox用 */}
.table-scroll-container::-webkit-scrollbar {display: none; width: 0; height: 0;}
.table-inner {display: flex; width: max-content; padding-left: 20px; padding-right: 20px; padding-bottom: 25px; box-sizing: border-box;}
.scrollbar-wrapper {position: relative; width: 100%; margin-top: 0px; margin-bottom: 50px; pointer-events: none;}
.custom-scrollbar-track {position: relative; height: 6px; background-color: #FBECEE; margin-left: 20px; margin-right: 20px; border-radius: 3px; cursor: pointer; pointer-events: auto; display: none;}
.custom-scrollbar-thumb {position: absolute; top: 0; left: 0; height: 100%; background-color: var(--Wine1); border-radius: 3px; cursor: grab; pointer-events: auto;}
.custom-scrollbar-thumb:active {cursor: grabbing;}


section.Project2 .tablepress{width: 100%; margin-bottom: 80px;}

section.Project2 .dl-inner{max-width: 800px; margin: 0 auto; padding: 0 20px;}
section.Project2 dl{border: var(--Wine1) solid 1px;}
section.Project2 dt{background: var(--Wine1); color: #fff; padding: 12px; font-size: 18px; ine-height: 140%; letter-spacing: 12%; text-align: center;}
section.Project2 dd{background: #fff; padding: 32px; font-family: "Zen Kaku Gothic New", sans-serif; font-size: 15px; line-height: 200%; letter-spacing: 5%;}
section.Project2 dd h3{font-size: 22px; line-height: 140%; letter-spacing: 8%; text-align: center; color: var(--Wine1); margin-bottom: 24px; font-family: "Zen Old Mincho", serif; font-weight: bold;}
section.Project2 dd p{margin-bottom: 24px;}

section.Project2 dd .LinkArea{text-align: center; margin-bottom: 0;}
section.Project2 dd .LinkArea a{color: #004EC2; position: relative;}
section.Project2 dd .LinkArea a::after{content: ""; background: url("../img/icon_link.svg") center center no-repeat; width: 14px; height: 14px; background-size: 14px; display: inline-block;}

@media only screen and (max-width:840px) {
section.Project2 .Inner{padding: 64px 0;}
section.Project2 .Inner h2{font-size: 28px; line-height: 140%; letter-spacing: 10%; margin-bottom: 40px;}
section.Project2 .Inner h2 span.Sub{font-family: "Roboto Mono", monospace; font-size: 13px; line-height: 120%; letter-spacing: 5%; display: block; margin-top: 12px;}

section.Project2 dt{font-size: 16px;}
section.Project2 dd{padding: 24px 20px;}
section.Project2 dd h3{font-size: 18px; margin-bottom: 16px;}
section.Project2 dd p{margin-bottom: 16px;}

section.Project2 .tablepress{margin-bottom: 60px; font-size: 80%;}
}


section.Nojima{background: url("../img/bg02.webp") center center / cover no-repeat;}
section.Nojima .Inner{padding-top: 104px; padding-bottom: 144px; display: flex; flex-wrap: wrap; justify-content: space-between; max-width: 1200px; align-items: flex-end;}
section.Nojima .Inner h2{font-size: 32px; line-height: 160%; letter-spacing: 10%; margin-bottom: 72px; text-align: center;}
section.Nojima .Inner h2 span.Nojima{font-size: 38px; display: block;}
section.Nojima .Inner h2 span.Sub{font-family: "Roboto Mono", monospace; font-size: 13px; line-height: 120%; letter-spacing: 5%; display: block; margin-top: 20px;}

section.Nojima .Inner .TxtArea{width: 53.448%; font-family: "Zen Kaku Gothic New", sans-serif; font-size: 16px; line-height: 180%; letter-spacing: 5%;}
section.Nojima .Inner .TxtArea .Comment{margin-bottom: 40px;}
section.Nojima .Inner .TxtArea .Box{padding: 20px 32px; border: rgba(255,255,255,.5) solid 1px;}
section.Nojima .Inner .TxtArea .Box h3{font-family: "Zen Old Mincho", serif; font-size: 18px; line-height: 140%; letter-spacing: 18%; border-bottom: rgba(255,255,255,.5) solid 1px; padding-bottom: 16px; margin-bottom: 20px;}
section.Nojima .Inner .TxtArea .Box ul{font-size: 15px;}
section.Nojima .Inner .TxtArea .Box ul li{position: relative; padding-left: 20px;}
section.Nojima .Inner .TxtArea .Box ul li::before{content: ""; position: absolute; left: 0; top: 50%; transform: translate(0,-50%); width: 4px; height: 4px; border-radius: 100%; background: #fff;}
section.Nojima .Inner .TxtArea .Box ul li span{text-decoration: underline; display: inline-block;}
section.Nojima .Inner .ImgArea{width: 40%;}

@media only screen and (max-width:840px) {
section.Nojima{background: url("../img/bg_paper01.webp") center center / no-repeat cover;}
section.Nojima .Inner{padding-top: 64px; padding-bottom: 64px;}
section.Nojima .Inner h2{font-size: 19px; line-height: 140%; letter-spacing: 10%; margin-bottom: 40px;}
section.Nojima .Inner h2 span.Nojima{font-size: 26px; display: block; line-height: 140%; letter-spacing: 10%;}
section.Nojima .Inner h2 span.Sub{margin-top: 12px;}

section.Nojima .Inner .TxtArea{width: 100%;}
section.Nojima .Inner .TxtArea .Box{padding: 20px; margin-bottom: 40px;}
section.Nojima .Inner .TxtArea .Box h3{text-align: center;}

section.Nojima .Inner .ImgArea{width: 100%; border: #ccc solid 1px;}
}


.Bg2{background: #fff; color: var(--Wine1);}
.Bg2 .Inner{max-width: 1000px;}
.Bg2 h2{font-size: 32px; line-height: 160%; letter-spacing: 10%; text-align: center;}
.Bg2 h2 span.Sub{font-family: "Roboto Mono", monospace; font-size: 13px; letter-spacing: 120%; letter-spacing: 5%; display: block;}

.Bg2 .Line{height: 16px; border-top: #E7E7E7 solid 1px; border-bottom: #E7E7E7 solid 1px; position: relative; margin: 0 20px; box-sizing: border-box; display: block;}
.Bg2 .Line::before,
.Bg2 .Line::after{content: ""; position: absolute; width: 100%; left: 0; top: 50%; transform: translate(0,-50%); box-sizing: border-box;}
.Bg2 .Line::before{border-top: #E7E7E7 solid 1px; border-bottom: #E7E7E7 solid 1px; height: 8px;}
.Bg2 .Line::after{border-top: #E7E7E7 solid 1px; height: 1px;}

section.Goods .Inner{padding-top: 104px; padding-bottom: 88px;}
section.Goods h2{margin-bottom: 56px;}
section.Goods .Box{background: #F9EEEF; padding: 72px 10%; box-shadow: 16px 20px 0 0 rgba(150,32,66,.4);}
section.Goods .Box ul{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px;}
section.Goods .Box ul li{width: 45%; text-align: center;}
section.Goods .Box ul li .ImgArea{width: 100%; aspect-ratio: 9 / 4; overflow: hidden; margin-bottom: 19px;}
section.Goods .Box ul li .ImgArea img{width: 100%; height: 100%; object-fit: cover; display: block;}
section.Goods .Box ul li h3{font-size: 20px; line-height: 140%; letter-spacing: 8%; margin-bottom: 10px;}
section.Goods .Box ul li .TxtArea{font-size: 15px; line-height: 150%; letter-spacing: 5%; color: var(--Black); font-family: "Zen Kaku Gothic New", sans-serif;}

section.Support .Inner{padding-top: 104px; padding-bottom: 104px;}
section.Support h2{margin-bottom: 38px;}
section.Support .TxtArea{font-family: "Zen Kaku Gothic New", sans-serif; margin-bottom: 56px;}
section.Support .TxtArea .Cap1{font-size: 15px; line-height: 240%; letter-spacing: 10%; margin-bottom: 96px; color: var(--Wine1); text-align: center;}
section.Support .TxtArea .Cap2{font-size: 15px; line-height: 150%; letter-spacing: 5%; margin-bottom: 48px; color: var(--Black);}
section.Support h3{font-size: 24px; line-height: 120%; letter-spacing: 10%; margin-bottom: 24px; padding-left: 35px; background: url("../img/icon_line.svg") left center no-repeat; background-size: 24px;}
section.Support .Flex{display: flex; flex-wrap: wrap; justify-content: space-between; gap:20px;}
section.Support .Box{background: #FBECEE; padding: 48px 5%; width: 47%; font-size: 15px; line-height: 180%; letter-spacing: 5%; color: var(--Black);}
section.Support .Box h4{font-size: 22px; line-height: 120%; letter-spacing: 10%; margin-bottom: 20px; color: var(--Wine1);}
section.Support .BtArea{display: flex; justify-content: center;}
section.Support a.Bt{background: linear-gradient(to left, #AA5477, #8E325A); color: #fff; font-size: 18px; line-height: 140%; letter-spacing: 5%; text-decoration: none; position: relative; width: 360px; height: 65px; display: flex; justify-content: center; align-items: center; padding-left: 18px;}
section.Support a.Bt::before{content: ""; position: absolute; width: 40px; height: 1px; border-bottom: #F8E1EB solid 1px; box-sizing: border-box; left: 0; top: 50%; transform: translate(0,-50%);}
section.Support a.Bt::after{content: ""; position: absolute; width: 6px; height: 6px; background: #F8E1EB; left: 40px; top: 50%; transform: translate(-50%,-50%) rotate(45deg);}

section.Support a.Bt:hover{background: linear-gradient(to left, #8E325A, #AA5477); opacity: 1;}
section.Support a.Bt:hover::before{width: 45px;}
section.Support a.Bt:hover::after{left: 45px;}

section.History .Inner{padding-top: 104px; padding-bottom: 144px;}
section.History h2{margin-bottom: 64px;}

@media only screen and (min-width:841px) {
section.Support .SpBlock{margin-left: 10px;}
}

@media only screen and (max-width:840px) {
.Bg2 h2{font-size: 26px; line-height: 140%;}
.Bg2 h2 span.Sub{ffont-size: 13px; letter-spacing: 120%; letter-spacing: 5%; display: block;}
section.Goods .Inner{padding-top: 64px; padding-bottom: 64px;}
section.Goods h2{margin-bottom: 40px;}
section.Goods .Box{background: #F9EEEF; padding: 35px 20px 45px; box-shadow: 10px 20px 0 0 rgba(150,32,66,.4);}
section.Goods .Box ul li{width: 100%;}
section.Goods .Box ul li .TxtArea{font-size: 13px;}

section.Support .Inner{padding-top: 64px; padding-bottom: 64px;}
section.Support h2{margin-bottom: 40px;}

section.Support .TxtArea .Cap1{font-size: 13px; line-height: 200%; letter-spacing: 5%; margin-bottom: 72px; text-align: left;}
section.Support .TxtArea .Cap2{font-size: 13px; margin-bottom: 32px;}
section.Support .Box{padding: 30px 23px; width: 100%; font-size: 13px; line-height: 150%; letter-spacing: 5%;}
section.Support .Box h4{font-size: 18px; line-height: 120%; letter-spacing: 10%;}

section.Support a.Bt{font-size: 16px; width: 322px; padding-left: 8px}
section.Support a.Bt::before{width: 24px;}
section.Support a.Bt::after{left: 24px;}
section.Support a.Bt:hover::before{width: 30px;}
section.Support a.Bt:hover::after{left: 30px;}

section.History .Inner{padding-top: 164px; padding-bottom: 64px;}
}





.tab-nav {display: flex; flex-direction: row; background: transparent; padding: 0; gap: 20px; border-bottom: none; position: relative; max-width: 740px; margin: 0 auto 53px;}
.tab-btn {position: relative; text-align: center; cursor: pointer; transition: all 0.3s ease; flex: 1; background: transparent; border: none; padding: 20px 8px; color: #3C3133; font-size: 22px; line-height: 140%; letter-spacing: 5%; font-family: "Zen Old Mincho", serif;}
.tab-btn::after {content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background-color: #E7E7E7; transition: background-color 0.3s ease;}

.tab-btn[data-index="0"].active::after { background-color: var(--color-meiji); height: 3px;}
.tab-btn[data-index="1"].active::after { background-color: var(--color-taisho); height: 3px;}
.tab-btn[data-index="2"].active::after { background-color: var(--color-showa); height: 3px;}
.tab-btn[data-index="3"].active::after { background-color: var(--color-heisei); height: 3px;}
.tab-btn[data-index="4"].active::after { background-color: var(--color-reiwa); height: 3px;}

.tab-btn[data-index="0"].active::before { border-top-color: var(--color-meiji); }
.tab-btn[data-index="1"].active::before { border-top-color: var(--color-taisho); }
.tab-btn[data-index="2"].active::before { border-top-color: var(--color-showa); }
.tab-btn[data-index="3"].active::before { border-top-color: var(--color-heisei); }
.tab-btn[data-index="4"].active::before { border-top-color: var(--color-reiwa); }

.tab-btn.active::before {content: ""; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 10px solid transparent; z-index: 2;}

@media (max-width: 840px) {
.tab-nav {display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;}
.tab-btn {background: #ffffff; border: 1px solid #ccc; border-radius: 4px; padding: 14px 4px; flex: 0 0 calc((100% - 16px) / 3); font-size: 14px; line-height: 160%; letter-spacing: 10%; font-family: "Zen Kaku Gothic New", sans-serif; color: var(--Wine1);}            
.tab-btn::after {display: none;}/* スマホ時はPC用の下線（::after）を非表示にする */
.tab-btn.active::before {bottom: -8px; border-left: 7px solid transparent; border-right: 7px solid transparent;}

.tab-btn[data-index="0"].active { background-color: var(--color-meiji); border-color: var(--color-meiji); color: #ffffff; }
.tab-btn[data-index="1"].active { background-color: var(--color-taisho); border-color: var(--color-taisho); color: #ffffff; }
.tab-btn[data-index="2"].active { background-color: var(--color-showa); border-color: var(--color-showa); color: #ffffff; }
.tab-btn[data-index="3"].active { background-color: var(--color-heisei); border-color: var(--color-heisei); color: #ffffff; }
.tab-btn[data-index="4"].active { background-color: var(--color-reiwa); border-color: var(--color-reiwa); color: #ffffff; }

.tab-btn[data-index="0"].active::before { border-top-color: var(--color-meiji); }
.tab-btn[data-index="1"].active::before { border-top-color: var(--color-taisho); }
.tab-btn[data-index="2"].active::before { border-top-color: var(--color-showa); }
.tab-btn[data-index="3"].active::before { border-top-color: var(--color-heisei); }
.tab-btn[data-index="4"].active::before { border-top-color: var(--color-reiwa); }
}

@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}


.tab-content {display: none; animation: fadeIn 0.4s ease-out forwards;}
.tab-content.active {display: block;}
.tab-content .Flex{display: flex; flex-wrap: wrap; justify-content: space-between;}
.tab-content .Flex .TxtArea{padding-right: 56px;}
.tab-content .Flex .ImgArea{font-size: 13px; line-height: 140%; letter-spacing: 5%; color: #3C3133;}
.tab-content .Flex .ImgArea1{width: 150px;}
.tab-content .Flex .ImgArea2{width: 285px;}
.tab-content .Flex .ImgArea3{width: 270px;}
.tab-content .Flex .ImgArea4{width: 300px;}
.tab-content .Flex .ImgArea5{width: 240px;}
.tab-content dl{display: flex; flex-wrap: wrap; justify-content: space-between; position: relative;}
.tab-content dl::before{content: ""; position: absolute; height: 100%; width: 1px; border-left: #E7E7E7 solid 1px; left: 28%; top: 0; box-sizing: border-box;}
.tab-content dt{font-size: 32px; width: 28%; position: relative;}
.tab-content dt::before{content: ""; position: absolute; width: 20px; height: 20px; left: 100%; top: 5px; transform: translate(-50%,0) rotate(45deg);}
.tab-content dt span{display: inline-block; font-size: 18px; letter-spacing: 5%;}
.tab-content dd{font-size: 17px; line-height: 160%; letter-spacing: 10%; font-family: "Zen Kaku Gothic New", sans-serif; width: 72%; padding-left: 70px; margin-bottom: 40px;}
.tab-content dd:last-child{margin-bottom: 0px;}

.tab-content#content-0 dt::before{background-color: var(--color-meiji);}
.tab-content#content-1 dt::before{background-color: var(--color-taisho);}
.tab-content#content-2 dt::before{background-color: var(--color-showa);}
.tab-content#content-3 dt::before{background-color: var(--color-heisei);}
.tab-content#content-4 dt::before{background-color: var(--color-reiwa);}

.tab-content#content-4 dt.Icon120th{height: 110px;}
.tab-content#content-4 dt.Icon120th::before{background-color: transparent; background-image: url("../img/icon_120th_w.webp"); background-repeat: no-repeat; background-size: 150px; width: 150px; height: 110px; transform: translate(-50%,-30px) rotate(0deg);}


@media (min-width: 841px) {
.tab-content .Flex .TxtArea{flex: 1;}
}

@media (max-width: 840px) {
.tab-content .Flex .ImgArea1{width: 170px;}
.tab-content .Flex .ImgArea2{width: 200px;}
.tab-content .Flex .ImgArea3{width: 200px;}
.tab-content .Flex .ImgArea4{width: 220px;}
.tab-content .Flex .ImgArea5{width: 200px;}

.tab-content .Flex .TxtArea{padding-right: 0px; width: 100%; margin-bottom: 24px;}

.tab-content dl::before{left: 11px; top: 0; box-sizing: border-box;}
.tab-content dt{font-size: 28px; width: 100%; margin-left: 40px; margin-bottom: 24px;}
.tab-content dt::before{width: 16px; height: 16px; left: -28.5px; top: 5px; transform: translate(-50%,0) rotate(45deg);}

.tab-content dd{font-size: 13px; width: 100%; padding-left: 0px; padding-bottom: 24px; margin-bottom: 40px; margin-left: 40px; border-bottom: #E7E7E7 solid 1px;}
.tab-content dd:last-child{margin-bottom: 0px;}

.tab-content#content-4 dt.Icon120th::before{transform: translate(24px,-15px) rotate(0deg);}
.tab-content#content-4 dt.Icon120th{margin-bottom: 0px;}
}




Footer {background: url("../img/bg_footer.webp") center center / cover no-repeat; color: #fff; font-family: "Zen Kaku Gothic New", sans-serif;}

Footer .Inner{padding-top: 80px; padding-bottom: 80px;}
Footer .LogoArea{width: 140px; margin: 0 auto 36px;}
Footer .LogoArea a:hover{opacity: .5;}
Footer ul.Add{display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 36px;}
Footer ul.Add li{border-right: rgba(255,255,255,.24) solid 1px; text-align: center; width: 416px; display: flex; font-size: 16px; line-height: 170%; letter-spacing: 5%; padding-top: 17px; padding-bottom: 17px;}
Footer ul.Add li:last-child{border: none;}
Footer ul.Add li span{display: inline-block;}
Footer ul.Add li.nakameguro{justify-content: flex-start;}
Footer ul.Add li.ikebukuro{justify-content: flex-end;}
Footer ul.Add li h3{font-size: 18px; line-height: 150%; letter-spacing: 5%; font-weight: bold;}

Footer ul.Jasrac{display: flex; flex-wrap: wrap; justify-content: center; align-items: center; font-size: 12px; line-height: 150%; letter-spacing: 5%;}
Footer ul.Jasrac li.ImgArea{padding-right: 16px;}

Footer .CopyArea{width: 100%; border-top: rgba(255,255,255,.24) solid 1px; padding: 30px 110px; display: flex; flex-wrap: wrap; justify-content: space-between; font-size: 13px; line-height: 150%; letter-spacing: 5%;}
Footer .CopyArea .Copy{font-size: 14px; line-height: 150%; letter-spacing: 5%; font-family: "Zen Old Mincho", serif;}

@media only screen and (max-width:840px) {
Footer .Inner{padding-top: 63px; padding-bottom: 40px;}
Footer .LogoArea{width: 276px; margin-bottom: 40px;}

Footer ul.Add{margin-bottom: 40px; gap:24px;}
Footer ul.Add li{border: none; width: 100%; font-size: 13px; padding-top: 0px; padding-bottom: 0px; margin-bottom: 0px;}
Footer ul.Add li.nakameguro{justify-content: center;}
Footer ul.Add li.ikebukuro{justify-content: center;}
Footer ul.Add li h3{font-size: 15px;}

Footer .CopyArea{padding: 24px 20px; font-size: 11px; text-align: center; gap:12px;}
Footer .CopyArea li{width: 100%;}
}



section.NewsSingle{padding: 400px 0 200px; font-family: "Zen Kaku Gothic New", sans-serif;}
section.NewsSingle .Inner{max-width: 1000px;}
section.NewsSingle .page-header{margin-bottom: 40px;}
section.NewsSingle .page-content{margin-bottom: 30px; padding-bottom: 30px; border-bottom: rgba(255,255,255,.4) solid 1px;}

section.NewsSingle .nav-links{display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 20px;}
section.NewsSingle .nav-links .nav-previous,section.NewsSingle .nav-links .nav-next{width: 50%;}
section.NewsSingle .nav-links .nav-previous{display: flex; justify-content: flex-start;}
section.NewsSingle .nav-links .nav-next{display: flex; justify-content: flex-end;}

section.NewsSingle .nav-links a{border: #fff solid 1px; font-size: 12px; display: flex; justify-content: center; align-items: center; width: 90px; height: 30px; text-decoration: none;}
section.NewsSingle .nav-links a:hover{opacity: 1; background: rgba(255,255,255,.16);}

section.NewsSingle .back-to-top{text-align: center;}


@media only screen and (max-width:840px) {
section.NewsSingle{padding: 150px 0 80px;}
section.NewsSingle .nav-links .nav-previous,section.NewsSingle .nav-links .nav-next{margin-bottom: 20px;}

}



/* == form == */

input[type="text"],
input[type="tel"],
input[type="email"],
select,
textarea{margin:0; padding:10px; width:100%; background: #E8E8E8; box-sizing: border-box; border: 0; border-radius: 5px;}

.textarea_h{min-height:200px; margin-bottom: 20px;}

.bt_submit{background:#000; color:#FFF; font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: -0.011em; text-align: center; border: 0; padding: 15px 100px; border-radius: 10px;}
.bt_submit:hover{opacity: .8}

.formtitle{position:relative; font-size: 14px; margin-bottom: 5px;}
.formtitle span{background:rgba(200, 80, 0, 1); color:#fff; padding:2px 4px; border-radius:50px; -webkit-border-radius:50px; -moz-border-radius:50px; font-size:50%; margin-left:10px;}



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

    other

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


@media only screen and (min-width:841px) {
	
.pc{display:block;}
.sp{display:none;}

.PcBlock{display:block;}

.res10{width:10%;}
.res11{width:11%;}
.res12{width:12%;}
.res13{width:13%;}
.res14{width:14%;}
.res15{width:15%;}
.res16{width:16%;}
.res17{width:17%;}
.res18{width:18%;}
.res19{width:19%;}
.res20{width:20%;}
.res21{width:21%;}
.res22{width:22%;}
.res23{width:23%;}
.res24{width:24%;}
.res25{width:25%;}
.res26{width:26%;}
.res27{width:27%;}
.res28{width:28%;}
.res29{width:29%;}
.res30{width:30%;}
.res31{width:31%;}
.res32{width:32%;}
.res33{width:33%;}
.res34{width:34%;}
.res35{width:35%;}
.res36{width:36%;}
.res37{width:37%;}
.res38{width:38%;}
.res39{width:39%;}
.res40{width:40%;}
.res41{width:41%;}
.res42{width:42%;}
.res43{width:43%;}
.res44{width:44%;}
.res45{width:45%;}
.res46{width:46%;}
.res47{width:47%;}
.res48{width:48%;}
.res49{width:49%;}
.res50{width:50%;}
.res51{width:51%;}
.res52{width:52%;}
.res53{width:53%;}
.res54{width:54%;}
.res55{width:55%;}
.res56{width:56%;}
.res57{width:57%;}
.res58{width:58%;}
.res59{width:59%;}
.res60{width:60%;}
.res61{width:61%;}
.res62{width:62%;}
.res63{width:63%;}
.res65{width:65%;}
.res66{width:66%;}
.res67{width:67%;}
.res68{width:68%;}
.res69{width:69%;}
.res70{width:70%;}
.res71{width:71%;}
.res72{width:72%;}
.res73{width:73%;}
.res74{width:74%;}
.res75{width:75%;}
.res76{width:76%;}
.res77{width:77%;}
.res78{width:78%;}
.res79{width:79%;}
.res80{width:80%;}
.res81{width:81%;}
.res82{width:82%;}
.res83{width:83%;}
.res84{width:84%;}
.res85{width:85%;}
.res86{width:86%;}
.res87{width:87%;}
.res88{width:88%;}
.res89{width:89%;}
.res90{width:90%;}
}



@media only screen and (max-width:840px) {
	
.pc{display:none;}
.sp{display:block;}

.SpBlock{display:block;}

.SpNone{display:none;}

.res10,.res11,.res12,.res13,.res14,.res15,.res16,.res17,.res18,.res19,.res20,.res21,.res22,.res23,.res24,.res25,.res26,.res27,.res28,.res29,.res30,.res31,.res32,.res33,.res34,.res35,.res36,.res37,.res38,.res39,.res40,.res41,.res42,.res43,.res44,.res45,.res46,.res47,.res48,.res49,.res50,.res51,.res52,.res53,.res54,.res55,.res56,.res57,.res58,.res59,.res60,.res61,.res62,.res63,.res64,.res65,.res66,.res67,.res68,.res69,.res70,.res71,.res72,.res73,.res74,.res75,.res76,.res77,.res78,.res79,.res80,.res81,.res82,.res83,.res84,.res85,.res86,.res87,.res88,.res89,.res90{width:100%; margin-bottom:10px;}

}



/*--------共通--------*/

.memo{font-size: 80%;}

.photo_l{float:left; margin:0 10px 10px 0;}
.photo_r{float:right; margin:0 0px 10px 10px;}

.box_l{float:left;}
.box_r{float:right;}
.box_c{margin:0 auto;}

.txt_r{text-align:right;}
.txt_l{text-align:left;}
.txt_c{text-align:center;}

.block{display:block;}
.overflow{overflow:hidden;}
.cl{clear:both;}

.img_b5 img{margin-bottom:5px;}
.img_b10 img{margin-bottom:10px;}

.w10{width:10%;}
.w15{width:15%;}
.w20{width:20%;}
.w25{width:25%;}
.w30{width:30%;}
.w35{width:35%;}
.w40{width:40%;}
.w45{width:45%;}
.w50{width:50%;}
.w55{width:55%;}
.w60{width:60%;}
.w65{width:65%;}
.w70{width:70%;}
.w75{width:75%;}
.w80{width:80%;}
.w85{width:85%;}
.w90{width:90%;}

.mt5{margin-top:5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}
.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}
.mt50{margin-top:50px !important;}

.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}

.mtb5{margin:5px 0 !important;}
.mtb10{margin:10px 0 !important;}
.mtb15{margin:15px 0 !important;}
.mtb20{margin:20px 0 !important;}

.ptb5{padding:5px 0 !important;}
.ptb10{padding:10px 0 !important;}
.ptb15{padding:15px 0 !important;}
.ptb20{padding:20px 0 !important;}

.mr3{margin-right:3px !important;}
.mr4{margin-right:4px !important;}
.mr5{margin-right:5px !important;}
.mr6{margin-right:6px !important;}
.mr7{margin-right:7px !important;}
.mr8{margin-right:8px !important;}
.mr9{margin-right:9px !important;}
.mr10{margin-right:10px !important;}
.mr15{margin-right:15px !important;}
.mr20{margin-right:20px !important;}

.f70per{font-size:70%}
.f80per{font-size:80%}
.f90per{font-size:90%}
.f110per{font-size:110%}
.f120per{font-size:120%}
.f130per{font-size:130%}
.f140per{font-size:140%}
.f150per{font-size:150%}
.f160per{font-size:160%}
.f170per{font-size:170%}
.f180per{font-size:180%}


.movie-wrap {position: relative; padding-bottom: 50%; padding-top: 30px; height: 0; overflow: hidden;}
.movie-wrap iframe {position: absolute; top: 0; left: 0; width:100%; height:100%;}

#page-top{position: fixed; bottom: 30px; right: 30px; z-index:20;}
#page-top{width: 50px; height: 50px; border: #fff solid 0px; border-radius: 500rem; opacity: .5; background: rgba(160,0,0,1)}
#page-top:hover{opacity: 1;}
#page-top::before{content: 'Back'; width: 100%; text-align: center; font-size: .7rem; color: #fff; position: absolute; left: 0; bottom: 5px; margin: auto;}
#page-top::after{
content: "";
position: absolute;
right: 0px;
left: 0px;
width: 0px;
height: 0px;
top: 7px;
margin: auto;
border-style: solid;
border-color: transparent transparent #fff transparent ;
border-width: 0px 6px 10px 6px;}
