@charset "UTF-8";


@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p:300,400,700');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
ul {
    list-style:none;
}
img {
	width:100%;
	border:none;
	vertical-align:bottom;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
address, em, code, cite, dfn, var, optgroup {
  font-style: normal;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
	text-decoration:none;
	outline:none;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
input, select {
    vertical-align:baseline;
}
input[type="button"],input[type="text"],input[type="submit"],input[type="reset"],textarea {
	-webkit-appearance:none;
	border-radius:0;
	font-family:'M PLUS 1p', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.clearfix:after {
    content: "."; 
    display:block; 
    height:0; 
    clear:both; 
    visibility:hidden;
}
.clearfix {display:inline-block;}
* html .clearfix {height:1%;}
.clearfix {display:block;}

/*  common  */
.clear {
	font-size: 1px;
	height: 1px;
	clear: both;
}
.floatL {
	float:left;
	display:inline;
}

.floatR {
	float:right;
	display:inline;
}
.alignCenter {text-align:center;}
.alignLeft {text-align:left;}
.alignRight {text-align:right;}
.valignTop {vertical-align:top;}
.valignMiddle {vertical-align:middle;}
.valignBottom {vertical-align:bottom;}

.mt00 { margin-top: 0 !important; }
.mt05 { 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; }
.mt55 { margin-top: 55px !important; }
.mt60 { margin-top: 60px !important; }
.mt65 { margin-top: 65px !important; }
.mt70 { margin-top: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mt80 { margin-top: 80px !important; }
.mt85 { margin-top: 85px !important; }
.mt90 { margin-top: 90px !important; }
.mt95 { margin-top: 95px !important; }
.mt100 { margin-top: 100px !important; }

.mr00 { margin-right: 0 !important; }
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }
.mr55 { margin-right: 55px !important; }
.mr60 { margin-right: 60px !important; }
.mr65 { margin-right: 65px !important; }
.mr70 { margin-right: 70px !important; }
.mr75 { margin-right: 75px !important; }
.mr80 { margin-right: 80px !important; }
.mr85 { margin-right: 85px !important; }
.mr90 { margin-right: 90px !important; }
.mr95 { margin-right: 95px !important; }
.mr100 { margin-right: 100px !important; }

.mb00 { margin-bottom: 0 !important; }
.mb05 { 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; }
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb85 { margin-bottom: 85px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb95 { margin-bottom: 95px !important; }
.mb100 { margin-bottom: 100px !important; }

.ml00 { margin-left: 0 !important; }
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }
.ml55 { margin-left: 55px !important; }
.ml60 { margin-left: 60px !important; }
.ml65 { margin-left: 65px !important; }
.ml70 { margin-left: 60px !important; }
.ml75 { margin-left: 75px !important; }
.ml80 { margin-left: 80px !important; }
.ml85 { margin-left: 85px !important; }
.ml90 { margin-left: 90px !important; }
.ml95 { margin-left: 95px !important; }
.ml100 { margin-left: 100px !important; }

.pt00 { padding-top: 0 !important; }
.pt05 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pt55 { padding-top: 55px !important; }
.pt60 { padding-top: 60px !important; }
.pt65 { padding-top: 65px !important; }
.pt70 { padding-top: 70px !important; }
.pt75 { padding-top: 75px !important; }
.pt80 { padding-top: 80px !important; }
.pt85 { padding-top: 85px !important; }
.pt90 { padding-top: 90px !important; }
.pt95 { padding-top: 95px !important; }
.pt100 { padding-top: 100px !important; }

.pr00 { padding-right: 0 !important; }
.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pr45 { padding-right: 45px !important; }
.pr50 { padding-right: 50px !important; }
.pr55 { padding-right: 55px !important; }
.pr60 { padding-right: 60px !important; }
.pr65 { padding-right: 65px !important; }
.pr70 { padding-right: 70px !important; }
.pr75 { padding-right: 75px !important; }
.pr80 { padding-right: 80px !important; }
.pr85 { padding-right: 85px !important; }
.pr90 { padding-right: 90px !important; }
.pr95 { padding-right: 95px !important; }
.pr100 { padding-right: 100px !important; }

.pb00 { padding-bottom: 0 !important; }
.pb05 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }
.pb55 { padding-bottom: 55px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb65 { padding-bottom: 65px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb75 { padding-bottom: 75px !important; }
.pb80 { padding-bottom: 80px !important; }
.pb85 { padding-bottom: 85px !important; }
.pb90 { padding-bottom: 90px !important; }
.pb95 { padding-bottom: 95px !important; }
.pb100 { padding-bottom: 100px !important; }

.pl00 { padding-left: 0 !important; }
.pl05 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
.pl50 { padding-left: 50px !important; }
.pl55 { padding-left: 55px !important; }
.pl60 { padding-left: 60px !important; }
.pl65 { padding-left: 65px !important; }
.pl70 { padding-left: 70px !important; }
.pl75 { padding-left: 75px !important; }
.pl80 { padding-left: 80px !important; }
.pl85 { padding-left: 85px !important; }
.pl90 { padding-left: 90px !important; }
.pl95 { padding-left: 95px !important; }
.pl100 { padding-left: 100px !important; }

.pcon { display:block; }
.spon { display:none; }
@media only screen and (max-width:767px){
.pcon { display:none; }
.spon { display:block; }
}

/* html
-------------------------------------------------*/
html {
	overflow-y:scroll;
}

/*  body  */
body {
	font-family:'M PLUS 1p', "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:12px;
	line-height:1.5;
	color:#1a1a1a;
	background-color: #fff;
	-webkit-text-size-adjust:100%;
    font-weight: 400;
}

/* #wrapper */
#wrapper {
	width:100%;
	margin:0 auto;
	clear:both;
	overflow:hidden;
}

/* #contents */
#contents {
	width:100%;
	clear:both;
}

/* section */
section {
	width:100%;
}
section .inner {
	max-width:1200px;
	margin:0 auto;
	clear:both;
	position:relative;
}

img {
	border-radius: 0.75em;
}

/* .mainTxt */
.mainTxt {
	padding-top:2.4em;
	color:#4d4d4d;
}
.mainTxt .txt {
	max-width:550px;
	margin:0 auto;
	padding:1.1em 0 0.5em;
	line-height:1.6;
}

/* .headTitle01 */
.headTitle01 {
	width:40%;
	position:absolute;
	left:50%;
  	top:50%;
	transform:translate3d(-50%, -8%, 0);
	white-space:nowrap;
}
.headTitle02 {
	text-align:center;
	font-weight:bold;
	line-height:1.4;
	padding:0 0 0.72em;
	position:relative;
	color:#323232;
}
.headTitle02:after {
	position:absolute;
  	bottom:0;
  	left:50%;
	margin-left:-1.75em;
  	z-index:2;
  	content:'';
  	width:3.5em;
  	height:0.12em;
	background:#e60012;
}

@media only screen and (min-width:768px){
/* font */
.fo10 { font-size:10px; }
.fo12 { font-size:12px; }
.fo13 { font-size:13px; }
.fo14 { font-size:14px; }
.fo15 { font-size:15px; }
.fo17 { font-size:17px; }
.fo18 { font-size:18px; }
.fo19 { font-size:19px; }
.fo20 { font-size:20px; }
.fo21 { font-size:21px; }
.fo22 { font-size:22px; }
.fo24 { font-size:24px; }
.fo26 { font-size:26px; }
.fo28 { font-size:28px; }
}

@media only screen and (min-width:768px) and (max-width:1024px){
body {
	font-size:1.1725vw;
}

/* font */
.fo10 { font-size:0.9725vw; }
.fo12 { font-size:1.1725vw; }
.fo13 { font-size:1.2725vw; }
.fo14 { font-size:1.3725vw; }
.fo15 { font-size:1.4725vw; }
.fo17 { font-size:1.6725vw; }
.fo18 { font-size:1.7725vw; }
.fo19 { font-size:1.8554vw; }
.fo20 { font-size:1.9725vw; }
.fo21 { font-size:2.0725vw; }
.fo22 { font-size:2.1725vw; }
.fo24 { font-size:2.3725vw; }
.fo26 { font-size:2.5725vw; }
.fo28 { font-size:2.7725vw; }
}

@media only screen and (max-width:767px){
body {
	font-size:3.5vw;
}

/* section */
section .inner {
	width:92%;
}

/* .headTitle01 */
.headTitle01 {
	width:60%;
}
.headTitle02 {
	font-size:5vw;
}

/* .mainTxt */
.mainTxt {
	padding:2em 0;
}
.mainTxt .txt {
	padding-bottom:0;
}
}

/* .animated */
.animated {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animated.time01 {
  -webkit-animation-duration: 1.8s;
  animation-duration: 1.8s;
}
.animated.time02 {
  -webkit-animation-duration: 2.1s;
  animation-duration: 2.1s;
}
.animated.time03 {
  -webkit-animation-duration: 2.4s;
  animation-duration: 2.4s;
}
.animated.time04 {
  -webkit-animation-duration: 2.7s;
  animation-duration: 2.7s;
}
.wow {
	visibility:visible;
	animation-name:fadeInUp;
}
.wow.wowL {
	visibility:visible;
	animation-name:fadeInLeft;
}
.wow.wowR {
	visibility:visible;
	animation-name:fadeInRight;
}

/* .fadeInUp */
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

/* .fadeInLeft */
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

/* .fadeInRight */
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}


/* .aboutArea */
.aboutArea .about01 {
	background:url(../images/about/bg01.jpg) no-repeat center top;
    background-size:100% auto;
	padding:4.5em 0 1.1em;
}
.aboutArea .cont {
	width:79.1667%;
	margin:0 auto;
	clear:both;
	border-radius: 1em;
	overflow: hidden;
}
.aboutArea .title01 {
	background:#4d4d4d;
	font-size:0;
	color:#fff;
	font-weight:bold;
	border-radius: 1rem 1rem 0 0;
	overflow: hidden;
}
.aboutArea .title01 dt {
	width:33.5%;
	display:inline-block;
	vertical-align:middle;
	background:#e60012;
	box-sizing:border-box;
	padding:1em 0 0.7em 1.2em;
}
.aboutArea .title01 dt span {
	padding-right:0.6em;
	display:inline-block;
	vertical-align:middle;
}
.aboutArea .title01 dd {
	width:66.5%;
	display:inline-block;
	vertical-align:middle;
	box-sizing:border-box;
	padding:0.7em 0 0.5em 1.2em;
}
.aboutArea .set01 {
	background:#f2f2f2;
	padding:3% 3.8%;
	margin-bottom:5.1em;
	border-radius: 0 0 1rem 1rem;
}
.aboutArea .set01 .photo01 {
	width:44.4%;
	float:left;
}
.aboutArea .set01 .sec {
	width:52%;
	float:right;
}
.aboutArea .set01 .txt01 {
	font-weight:bold;
	line-height:1.6;
	padding-bottom:2.7em;
}
.aboutArea .set01 .txt01.pb {
	padding-bottom:1em;
}
.aboutArea .set01 .txt01 p {
	padding-bottom:1px;
	text-indent:-5.5em;
	padding-left:5.5em;
}
.aboutArea .set01 .txt01 p:last-child {
	margin-bottom:-2em;
}
.aboutArea .set01 .tit01 {
	color:#e60012;
	font-style:italic;
	font-weight:bold;
	padding-bottom:0.3em;
}
.aboutArea .set01 .txt02 {
	width:52%;
	float:left;
	line-height:1.6;
	margin-bottom:-0.2em;
	letter-spacing:-0.01em;
}
.aboutArea .set01 .img01 {
	width:45%;
	float:right;
	padding-top:0.3em;
}
.aboutArea .set01 .img01 span {
	display:block;
	line-height:1.2;
	padding-top:0.6em;
}

.aboutArea .set01 .box1 {
	width: 44.4%;
	float: left;
	margin-top: 2em;
}
.aboutArea .set01 .box1 .txt02  {
	width: 100%;
	float: none;
}
.aboutArea .set01 .box2 {
	width: 52%;
	float: right;
	margin-top: 4.5em;
}
.aboutArea .set01 .box2 .img01.left {
	float: left;
}
.aboutArea .about01 {
	margin-bottom:3.9em;
}
.aboutArea .about01 .set01 {
	margin-bottom:0;
}
.aboutArea .about02 {
	background:url(../images/about/bg02.jpg) no-repeat center 85.5%;
    background-size:100% auto;
}
.aboutArea .about03 {
	background:url(../images/about/bg03.jpg) no-repeat center 48.6%;
    background-size:100% auto;
}
.aboutArea .about04 {
	margin-top:-0.3em;
	background:url(../images/about/bg04.jpg) no-repeat center top;
    background-size:100% auto;
    padding-bottom: 4em;
}
.aboutArea .about04 .close {
    width: 180px;
    margin: 4.5em auto 0;
}
.aboutArea .about04 .close a {
    padding: 0.5em 0;
    background-color: #fff;
    color: #e60012;
    text-decoration: none;
    text-align: center;
    display: block;
    font-weight: bold;
    border-radius: 10px;
}
.aboutArea .about04 .close a:hover {
    opacity: 0.7;
}
.aboutArea .links {
	text-align:center;
	padding:4.9em 0 2.35em;
}
.aboutArea .links a {
	color:#fff;
	text-decoration:underline;
}
@media only screen and (min-width:768px){
/* .aboutArea */
.aboutArea .links a:hover {
	text-decoration:none;
}
}

@media only screen and (min-width:768px) and (max-width:1200px){
/* .aboutArea */
.aboutArea .title01 dt {
	font-size:1.1625vw;
}
.aboutArea .about02 {
	background-position:center 35vw;
}
.aboutArea .about03 {
	background-position:center 57vw;
}
}

@media only screen and (max-width:767px){
/* .aboutArea */
.aboutArea .about01,
.aboutArea .about02,
.aboutArea .about03 {
	padding:0;
	margin:0;
    background-size:200% auto;
}
.aboutArea .cont {
	width:100%;
}
.aboutArea .title01 {
	font-size:3.8vw;
}
.aboutArea .title01 dt {
	width:100%;
	display:block;
	font-size:3.2vw;
	padding:0.7em 0 0.5em 1.2em;
}
.aboutArea .title01 dt span {
	font-size:4.2vw;
}
.aboutArea .title01 dd {
	width:100%;
	display:block;
}
.aboutArea .set01 {
	margin-bottom:2em!important;
	padding:4%;
}
.aboutArea .set01 .photo01 {
	width:100%;
	float:none;
	padding-bottom:3vw;
}
.aboutArea .set01 .sec {
	width:100%;
	float:none;
}
.aboutArea .set01 .txt01 {
	padding-bottom:4vw;
	word-break:break-all;
}
.aboutArea .set01 .txt01 p {
	margin:0!important;
	letter-spacing:-0.04em;
	text-indent:-5.1em;
	padding-left:5.1em;
}
.aboutArea .set01 .txt01 .int {
	text-indent:0;
	padding-left:0;
}
.aboutArea .set01 .img01 span {
	font-size:3vw;
	letter-spacing:-0.02em;
}
.aboutArea .about04 {
	margin:0;
	background-color:#e70012;
	background-position:center 20%;
    background-size:200% auto;
    padding-bottom: 3em;
}
.aboutArea .links {
	font-size:4.5vw;
}
.aboutArea .about04 .close {
    width: 50%;
    margin: 4.5em auto 0;
    font-size: 4vw;
}
.aboutArea .about04 .close a:hover {
    opacity: 1;
}
}