@charset "UTF-8";
/**
* 一般css
* 標準のタグ用プロパティ設定、utility class設定
*/

:root {
  --main-color: #689D68;
  --hover-color: #4B714B;
  --sub-color-orange: #EFA54E;
  --sub-hover-orange: #c88539;
  --sub-color-pink: #DE8686;
  --sub-hover-pink: #c16868;
  --sub-color-blue: #4B6DB3;
  --bg-color-yellow: #FFFBED;
  --bg-color-green: #F1F6F1;
  --txt-color: #392F2C;

  --content-margin: 50px;
  --breadcrumb-margin: 30px;

  --ff-ttl: 'Zen Maru Gothic', sans-serif;
  --ff-normal: 'M PLUS Rounded 1c', sans-serif;
}
@media screen and (max-width: 767px) {
  :root {
    --content-margin: 25px;
    --breadcrumb-margin: 15px;
    --ttl-margin-sp: 20px;
  }
}

html {
  font-size: 62.5%;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  color: var(--txt-color);
  font-weight: 500;
  -webkit-text-size-adjust: 100%;
  line-height: 2.25;
}

* {
  margin: 0;
  padding: 0;
}

body {
  font-size: 1.6rem;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.respon{ width: 100%; }
.max_respon{ max-width: 100%; }

p, a, th, td, blockquote, address, pre, figure, dt, dl, summary, li, input, label {
  transform:rotateZ(0.03deg);
}

li { list-style: none; }

/* PC/SP/tablet/切り替え */
.tablet { display: none!important; }
@media screen and (max-width: 767px) { .pc { display: none!important; } }
@media screen and (min-width: 768px) { .sp { display: none!important; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .tablet { display: unset!important; } }


/* ホバーで透けるアニメーション */
.op {
	transition: opacity 0.4s;
}
.op:hover {
	opacity:0.7;
}

/* テキスト */
.ffgothic { font-family: 'M PLUS Rounded 1c', sans-serif; }
/* .ffmincho { font-family: 'Noto Serif JP', serif; } */
.ffdeco { font-family: 'Zen Maru Gothic', sans-serif; }
.ffgothic-ns { font-family: 'Noto Sans JP', sans-serif; }
/* .ffgothic-m { font-family: 'M PLUS Rounded 1c', sans-serif; } */
.fwB { font-weight: bold; }
.fw900 { font-weight: 900; }

.taC { text-align: center; }
.taL { text-align: left; }
.taR { text-align: right; }
.taJ { text-align: justify; }
.nowrap { white-space: nowrap; }

/* テキスト飛ばし */
.tex_none {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.unvisible {
  visibility: hidden;
}

/* 文字色 */
.black { color: #333; }
.white { color: #fff; }
.gray { color: #E8E8E8; }
.red { color: #ff0000; }
.blue { color: #0000cc; }
.orange { color: #eb6100; }
.purple { color: #ae5da1; }
.brown { color: #a84200; }
.aqua { color: #63bde6; }
.green { color: #009944; }

/* 背景色 */
.bgBlack { background-color: #000; }
.bgWhite { background-color: #fff; }
.bgGray { background-color: #E8E8E8; }
.bgRed { background-color: #ff0000; }
.bgblue { background-color: #0000cc; }
.bgorange { background-color: #eb6100; }
.bgpurple { background-color: #ae5da1; }
.bgbrown { background-color: #a84200; }
.bgaqua { background-color: #E9F1F5; }
.bggreen { background-color: #009944; }
.bgyellow {
  background-image: url(../images/cmn/bg-yellow.png);
  background-size: cover;
}

/* Line height */
.lh150 { line-height: 1.5; }
.lh160 { line-height: 1.6; }
.lh170 { line-height: 1.7; }
.lh180 { line-height: 1.8; }
.lh190 { line-height: 1.9; }
.lh200 { line-height: 2; }
.lh210 { line-height: 2.1; }
.lh220 { line-height: 2.2; }
.lh230 { line-height: 2.3; }
.lh240 { line-height: 2.4; }
.lh250 { line-height: 2.5; }

/* display */
.inline { display: inline!important; }
.block { display: block!important; }
.inblock { display: inline-block!important; }
@media screen and (max-width: 768px) {
  .inline_sp { display: inline!important; }
  .block_sp { display: block!important; }
  .inblock_sp { display: inline-block; }
} /*END*/

.dT { display: table; }
.dTC { display: table-cell; }

/* flex */
.flex_box {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.jcSA { justify-content: space-around; }
.jcSB { justify-content: space-between; }
.jcC { justify-content: center; }
.jcFS { justify-content: flex-start; }
.jcFE { justify-content: flex-end; }
.fdRR { flex-direction: row-reverse; }
.fdRR { flex-direction: row-reverse; }
.aiC { align-items: center; }
.aiFS { align-items: flex-start; }
.aiFE { align-items: flex-end; }
.aiB { align-items: baseline; }
.aiS { align-items: stretch; }
.flC { flex-flow: column; }

.flex_box > .row1 { flex:0 0 10%; max-width: 10%; }
.flex_box > .row13 { flex:0 0 13%; max-width: 13%; }
.flex_box > .row15 { flex:0 0 15%; max-width: 15%; }
.flex_box > .row18 { flex:0 0 18%; max-width: 18%; }
.flex_box > .row2 { flex:0 0 20%; max-width: 20%; }
.flex_box > .row24 { flex:0 0 24%; max-width: 24%; }
.flex_box > .row25 { flex:0 0 25%; max-width: 25%; }
.flex_box > .row3 { flex:0 0 30%; max-width: 30%; }
.flex_box > .row32 { flex:0 0 32%; max-width: 32%; }
.flex_box > .row33 { flex:0 0 33.33333%; max-width: 33.33333%; }
.flex_box > .row4 { flex:0 0 40%; max-width: 40%; }
.flex_box > .row49 { flex:0 0 49%; max-width: 49%; }
.flex_box > .row5 { flex:0 0 50%; max-width: 50%; }
.flex_box > .row6 { flex:0 0 60%; max-width: 60%; }
.flex_box > .row66 { flex:0 0 66.66666%; max-width: 66.66666%; }
.flex_box > .row7 { flex:0 0 70%; max-width: 70%; }
.flex_box > .row75 { flex:0 0 75%; max-width: 75%; }
.flex_box > .row8 { flex:0 0 80%; max-width: 80%; }
.flex_box > .row9 { flex:0 0 90%; max-width: 90%; }

@media screen and (min-width: 768px) {
  .flex_box > .row1-pc { flex:0 0 10%; max-width: 10%; }
  .flex_box > .row13-pc { flex:0 0 13%; max-width: 13%; }
  .flex_box > .row15-pc { flex:0 0 15%; max-width: 15%; }
  .flex_box > .row18-pc { flex:0 0 18%; max-width: 18%; }
  .flex_box > .row2-pc { flex:0 0 20%; max-width: 20%; }
  .flex_box > .row24-pc { flex:0 0 24%; max-width: 24%; }
  .flex_box > .row25-pc { flex:0 0 25%; max-width: 25%; }
  .flex_box > .row3-pc { flex:0 0 30%; max-width: 30%; }
  .flex_box > .row32-pc { flex:0 0 32%; max-width: 32%; }
  .flex_box > .row33-pc { flex:0 0 33.33333%; max-width: 33.33333%; }
  .flex_box > .row4-pc { flex:0 0 40%; max-width: 40%; }
  .flex_box > .row49-pc { flex:0 0 49%; max-width: 49%; }
  .flex_box > .row5-pc { flex:0 0 50%; max-width: 50%; }
  .flex_box > .row6-pc { flex:0 0 60%; max-width: 60%; }
  .flex_box > .row66-pc { flex:0 0 66.66666%; max-width: 66.66666%; }
  .flex_box > .row7-pc { flex:0 0 70%; max-width: 70%; }
  .flex_box > .row75-pc { flex:0 0 75%; max-width: 75%; }
  .flex_box > .row8-pc { flex:0 0 80%; max-width: 80%; }
  .flex_box > .row9-pc { flex:0 0 90%; max-width: 90%; }
	.flex_box > .row10-pc { flex: 0 0 100%; max-width: 100%; }
}
@media screen and (max-width: 767px) {
  .flex_box > .row1-sp { flex:0 0 10%; max-width: 10%; }
  .flex_box > .row13-sp { flex:0 0 13%; max-width: 13%; }
  .flex_box > .row15-sp { flex:0 0 15%; max-width: 15%; }
  .flex_box > .row18-sp { flex:0 0 18%; max-width: 18%; }
  .flex_box > .row2-sp { flex:0 0 20%; max-width: 20%; }
  .flex_box > .row24-sp { flex:0 0 24%; max-width: 24%; }
  .flex_box > .row25-sp { flex:0 0 25%; max-width: 25%; }
  .flex_box > .row3-sp { flex:0 0 30%; max-width: 30%; }
  .flex_box > .row32-sp { flex:0 0 32%; max-width: 32%; }
  .flex_box > .row33-sp { flex:0 0 33.33333%; max-width: 33.33333%; }
  .flex_box > .row4-sp { flex:0 0 40%; max-width: 40%; }
  .flex_box > .row49-sp { flex:0 0 49%; max-width: 49%; }
  .flex_box > .row5-sp { flex:0 0 50%; max-width: 50%; }
  .flex_box > .row6-sp { flex:0 0 60%; max-width: 60%; }
  .flex_box > .row66-sp { flex:0 0 66.66666%; max-width: 66.66666%; }
  .flex_box > .row7-sp { flex:0 0 70%; max-width: 70%; }
  .flex_box > .row75-sp { flex:0 0 75%; max-width: 75%; }
  .flex_box > .row8-sp { flex:0 0 80%; max-width: 80%; }
  .flex_box > .row9-sp { flex:0 0 90%; max-width: 90%; }
	.flex_box > .row10-sp { flex: 0 0 100%; max-width: 100%; }
}
/* Float */
.fL { float: left; }
.fR { float: right; }

/* Clearfix */
.clearfix::after {
  content:"";
  display: block;
  clear: both;
}
.clearfix {
  zoom: 100%;
}
@media screen and (min-width: 768px) {
  .fL-pc { float: left; }
  .fR-pc { float: right; }
  .clearfix_pc::after {
    content:"";
    display: block;
    clear: both;
  }
}
@media screen and (max-width: 767px) {
  .fL-sp { float: left; }
  .fR-sp { float: right; }
  .clearfix-sp::after {
    content:"";
    display: block;
    clear: both;
  }
}


@media screen and (max-width: 767px) {
  table.sp-table td, table.sp-table th {
    display: block;
    width: 100%;
  }
}

/* List */
.dT > li { display: table-cell; }
.disc { list-style-type: disc; margin-left: 25px; }
.disc li { list-style: disc; }
.decimal { list-style-type: decimal; margin-left: 25px; }
.decimal li { list-style: decimal; }
.circle { list-style-type: circle; margin-left: 25px; }
.circle li { list-style: circle; }

/*  ofject-fit */
.ofCV { object-fit: cover; }
.ofCT { object-fit: contain; }

/* Position */
.pR { position: relative; }
.pA { position: absolute; }
.pF { position: fixed; }
.layout_center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.layout_centerY {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.layout_centerX {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
}
