@import url("//fonts.googleapis.com/css?family=Roboto+Condensed:300,400,700&display=swap");

/* Contents Menu
-------------------------------------------------------------------------------------
【PC/SP】
	**:normalize
	**:web font
	**:reset
	**:base contents
		header/gnav/breadChumbs/mv/contents/footer/newslist/
	**:indent
	**:size
	**:wide
	**:section
	**:compo parts
		btn/box/list/head/table/float/column/topcontrol/roBtn/
	**:pager
	**:form
-------------------------------------------------------------------------------------*/

/* normalize
-------------------*/

/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
    display: block;
}
audio,
canvas,
video {
    display: inline-block;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden] {
    display: none;
}
html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}
body {
    margin: 0;
}
h1 {
    font-size: 2em;
}
abbr[title] {
    text-decoration: none;
}
b,
strong {
    font-weight: 700;
}
dfn {
    font-style: italic;
}
mark {
    background: #ff0;
    color: #000;
}
code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}
pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}
q {
    quotes: "\201C""\201D""\2018""\2019";
}
small {
    font-size: 80%;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}
sub {
    bottom: -0.25em;
}
img {
    border: 0;
}
svg:not(:root) {
    overflow: hidden;
}
figure {
    margin: 0;
}
fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}
legend {
    border: 0;
    padding: 0;
}
button,
input,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
}
button,
input {
    line-height: normal;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}
button[disabled],
input[disabled] {
    cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}
input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}
textarea {
    overflow: auto;
    vertical-align: top;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*googlefont*/
/*
font-family: 'Roboto Condensed', sans-serif;
font-weight: 300;
font-weight: 400;
font-weight: 700;

*/

/*notosans*/
@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 100;
    src: url(fonts/notosans/NotoSansCJKjp-Thin.woff2) format("woff2"), url(fonts/notosans/NotoSansCJKjp-Thin.woff) format("woff");
}
@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 200;
    src: url(fonts/notosans/NotoSansCJKjp-Light.woff2) format("woff2"), url(fonts/notosans/NotoSansCJKjp-Light.woff) format("woff");
}
@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 300;
    src: url(fonts/notosans/NotoSansCJKjp-DemiLight.woff2) format("woff2"), url(fonts/notosans/NotoSansCJKjp-DemiLight.woff) format("woff");
}
@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 400;
    src: local("NotoSansCJKjp-Regular.otf"), url(fonts/notosans/NotoSansCJKjp-Regular.woff2) format("woff2"), url(fonts/notosans/NotoSansCJKjp-Regular.woff) format("woff");
}
@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 500;
    src: url(fonts/notosans/NotoSansCJKjp-Medium.woff2) format("woff2"), url(fonts/notosans/NotoSansCJKjp-Medium.woff) format("woff");
}
@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 700;
    src: url(fonts/notosans/NotoSansCJKjp-Bold.woff2) format("woff2"), url(fonts/notosans/NotoSansCJKjp-Bold.woff) format("woff");
}
@font-face {
    font-family: "Noto Sans CJK JP";
    font-style: normal;
    font-weight: 900;
    src: url(fonts/notosans/NotoSansCJKjp-Black.woff2) format("woff2"), url(fonts/notosans/NotoSansCJKjp-Black.woff) format("woff");
}
.notosans1 {
    font-weight: 100;
    font-family: "Noto Sans CJK JP";
}
.notosans2 {
    font-weight: 200;
    font-family: "Noto Sans CJK JP";
}
.notosans3 {
    font-weight: 300;
    font-family: "Noto Sans CJK JP";
}
.notosans4 {
    font-weight: 400;
    font-family: "Noto Sans CJK JP";
}
.notosans5 {
    font-weight: 500;
    font-family: "Noto Sans CJK JP";
}
.notosans6 {
    font-weight: 700;
    font-family: "Noto Sans CJK JP";
}
.notosans7 {
    font-weight: 900;
    font-family: "Noto Sans CJK JP";
}

/*notoserif*/
@font-face {
    font-family: "notoserif";
    font-style: normal;
    font-weight: 100;
    src: url(fonts/notoserif/SourceHanSerifJP-ExtraLight.woff2) format("woff2"), url(fonts/notoserif/SourceHanSerifJP-ExtraLight.woff) format("woff");
}
@font-face {
    font-family: "notoserif";
    font-style: normal;
    font-weight: 200;
    src: url(fonts/notoserif/SourceHanSerifJP-Light.woff2) format("woff2"), url(fonts/notoserif/SourceHanSerifJP-Light.woff) format("woff");
}
@font-face {
    font-family: "notoserif";
    font-style: normal;
    font-weight: 300;
    src: url(fonts/notoserif/SourceHanSerifJP-Regular.woff2) format("woff2"), url(fonts/notoserif/SourceHanSerifJP-Regular.woff) format("woff");
}
@font-face {
    font-family: "notoserif";
    font-style: normal;
    font-weight: 400;
    src: url(fonts/notoserif/SourceHanSerifJP-Medium.woff2) format("woff2"), url(fonts/notoserif/SourceHanSerifJP-Medium.woff) format("woff");
}
@font-face {
    font-family: "notoserif";
    font-style: normal;
    font-weight: 500;
    src: url(fonts/notoserif/SourceHanSerifJP-SemiBold.woff2) format("woff2"), url(fonts/notoserif/SourceHanSerifJP-SemiBold.woff) format("woff");
}
@font-face {
    font-family: "notoserif";
    font-style: normal;
    font-weight: 600;
    src: url(fonts/notoserif/SourceHanSerifJP-Bold.woff2) format("woff2"), url(fonts/notoserif/SourceHanSerifJP-Bold.woff) format("woff");
}
@font-face {
    font-family: "notoserif";
    font-style: normal;
    font-weight: 700;
    src: url(fonts/notoserif/SourceHanSerifJP-Heavy.woff2) format("woff2"), url(fonts/notoserif/SourceHanSerifJP-Heavy.woff) format("woff");
}
.notoserif1 {
    font-weight: 100;
    font-family: "notoserif";
}
.notoserif2 {
    font-weight: 200;
    font-family: "notoserif";
}
.notoserif3 {
    font-weight: 300;
    font-family: "notoserif";
}
.notoserif4 {
    font-weight: 400;
    font-family: "notoserif";
}
.notoserif5 {
    font-weight: 500;
    font-family: "notoserif";
}
.notoserif6 {
    font-weight: 600;
    font-family: "notoserif";
}
.notoserif7 {
    font-weight: 700;
    font-family: "notoserif";
}

/* reset
-------------------*/

html {
    background: #fff;
    font-size: 62.5%; /* sets the base font to 10px for easier math */
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
ul,
ol,
li,
dl,
dt,
dd,
p,
img {
    margin: 0;
    padding: 0;
}
body {
    font-family: "Noto Sans CJK JP";
    color: #000;
    font-size: 15px;
    font-size: 1.5rem; /* sets the default sizing to make sure nothing is actually 10px */
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.08em;
    /*	min-width:1000px;*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
}
body * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
#fancybox-wrap,
#fancybox-wrap *,
#fancybox-tmp,
#fancybox-loading {
    -webkit-box-sizing: content-box !important;
    -moz-box-sizing: content-box !important;
    -o-box-sizing: content-box !important;
    -ms-box-sizing: content-box !important;
    box-sizing: content-box !important;
}
a,
a:link,
a:hover,
a:focus {
    color: #333;
    text-decoration: none;
    cursor: pointer;
    outline: none;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
a:hover {
    text-decoration: underline;
}
ul,
ol {
    list-style-type: none;
}
::selection {
    background: #888;
    color: #fff; /* Safari */
}
::-moz-selection {
    background: #888;
    color: #fff; /* Firefox */
}
#contents p {
    line-height: 1.7;
}
hr.ancHr {
    font-size: 0 !important;
    line-height: 0 !important;
    visibility: hidden !important;
    margin: 0;
    padding: 0;
}

/* base contents
-------------------*/

/*header*/
#header {
    width: 100%;
    position: fixed;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    z-index: 99999;
}
#header:hover {
    background-color: rgba(255, 255, 255, 0.9);
}
#header .logo.normal {
    display: none;
}

#header .hdInr {
    width: 95%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#header:hover .hdInr {
    border-bottom: none;
}
#header:hover .logo.white {
    display: none;
}
#header:hover .logo.normal {
    display: block;
}

#header.fixed {
    background-color: rgba(255, 255, 255, 0.9);
}

#header.fixed #gNav ul li a {
    color: #000;
}
#header.fixed .logo.normal {
    display: block;
}
#header.fixed .logo.white {
    display: none;
}

#header.fixed .hdInr {
    border-bottom: none;
    padding: 10px 0;
}

#header .hdInr .logo {
    width: 20%;
}

#header.fixed .hdInr .logo {
    width: 15%;
}

#spHeader,
.spMenu {
    display: none;
}

/*gNav*/
#gNav {
    width: 65%;
}
#header.fixed #gNav {
    width: 60%;
}
#gNav ul {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
#gNav ul li {
}

#gNav ul li a {
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    display: block;
}
#header:hover #gNav ul li a {
    color: #000;
}

#header.fixed #gNav ul li a {
    font-size: 14px;
}

#gNav ul li a:hover {
    text-decoration: none;
}
#gNav ul li a:after {
    content: "";
    width: 0;
    transition: all 0.3s ease;
    border-bottom: 3px solid #2aa53b;
    display: block;
}
#gNav ul li a:hover:after {
    width: 100%;
    border-bottom: 3px solid #2aa53b;
}

#gNav ul li.current a:after {
    width: 100%;
    border-bottom: 3px solid #2aa53b;
}

.mdd_wrap {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
}
.mdd_wrap .mdd_inner {
    display: none;
    width: 100%;
    height: auto;
    padding: 40px 0 20px;
    margin: 0 auto;
    background: #000;
    opacity: 1 !important;
    background-color: rgba(0, 0, 0, 0.9);
}
.mdd_wrap .mdd_inner dl {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.mdd_wrap .mdd_inner dt {
    width: 20%;
    color: #fff !important;
    font-weight: bold;
    border-right: 1px solid #333;
}
.mdd_wrap .mdd_inner dd {
    width: 78%;
}

.mdd_wrap .mdd_inner dd ul li a {
    color: #fff !important;
    font-size: 14px !important;
}

#header.fixed .mdd_wrap .mdd_inner dd ul li a {
    color: #fff !important;
}

#header:hover .mdd_wrap .mdd_inner dd ul li a {
    color: #fff !important;
}

.mdd_wrap .mdd_inner dd ul {
    display: flex;
    justify-content: flex-start !important;
    flex-wrap: wrap;
}

.mdd_wrap .mdd_inner dd ul li {
    width: 33%;
    margin-bottom: 20px;
}

#spNav,
#spFixed {
    display: none;
}

.mdd_wrap .mdd_inner dd ul li a:hover {
    color: #2aa53b !important;
}

#header.fixed .mdd_wrap .mdd_inner dd ul li a:hover {
    color: #2aa53b !important;
}

#header:hover .mdd_wrap .mdd_inner dd ul li a:hover {
    color: #2aa53b !important;
}

.mdd_wrap .mdd_inner dd ul li a:hover:after {
    display: none !important;
}
#gNav ul li.current .mdd_wrap .mdd_inner dd ul li a:after {
    display: none !important;
}

/*mv*/
#mv {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    /*background-attachment: fixed;*/
    margin-bottom: 20px;
    width: 100%;
}

#mv .mvInr {
    width: 95%;
    max-width: 1500px;
    margin: 0 auto;
    padding-top: 107px;
}
#mv .mvInr h1 {
    color: #fff;
    padding: 60px 0;
    font-size: 4rem;
    font-weight: 200;
}

#mv .mvInr h1 span {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
    font-size: 1.3rem;
    display: block;
    padding-top: 10px;
    padding-left: 5px;
}

/*breadChumbs*/
#breadChumbs {
    margin: 0 auto;
    max-width: 1500px;
    width: 95%;
    padding: 10px 0;
}
#breadChumbs p {
    font-size: 1.1rem !important;
    color: #fff;
}
#breadChumbs p a {
    display: inline-block;
    color: #fff;
}

/*contents*/
#contents {
    margin: 40px auto 0;
    width: 95%;
    max-width: 1500px;
    margin: 0 auto;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    padding-top: 40px;
}
#contents.index {
    display: block;
}

#contents.wInr {
    max-width: 1200px;
    width: 97%;
}
#main {
    background: #fff;
    max-width: 1170px;
    width: 78%;
}

/*sideNav*/
#sideNav {
    max-width: 390px;
    width: 20%;
}
#sideNav .snInr {
    padding: 20px;
    border: 1px solid #cbcbcb;
}

#sideNav h2 {
    font-size: 2.5rem;
    color: #000;
    font-weight: 400;
    position: relative;
    margin-bottom: 30px;
}
#sideNav h2:before {
    content: "";
    display: block;
    position: absolute;
    top: -20px;
    left: 0;
    width: 60px;
    height: 5px;
    background: #2aa53b;
}

#sideNav ul {
    width: 100%;
}
#sideNav ul li {
    width: 100%;
    position: relative;
}
#sideNav ul li:before {
    font-family: "icon";
    content: "\e905";
    position: absolute;
    left: 0;
    top: 16px;
}

#sideNav ul li a {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    padding: 15px 0 15px 2em;
    text-decoration: none;
    position: relative;
}

#sideNav ul li ul li:before {
    left: 27px;
    top: 3px;
    color: #666;
    font-size: 1rem;
}

#sideNav ul li ul li a {
    padding: 0 0 5px 3em;
    font-size: 1.3rem;
    color: #666;
}

#sideNav ul li a.current {
    color: #2aa53b;
}

#sideNav ul li a:hover {
    color: #2aa53b;
}

/*footer*/
#footer {
    background: #333;
    margin-top: 40px;
    width: 100%;
}
#footer .ftInr {
    margin: 0 auto;
    max-width: 1500px;
    width: 95%;
    padding: 60px 0;
}

#footer .ftInr ul {
    display: flex;
    justify-content: space-between;
}

#footer .ftInr ul dl {
    margin-bottom: 20px;
}

#footer .ftInr ul dl dt {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    border-bottom: 1px solid #888;
    padding-bottom: 10px;
}
#footer .ftInr ul dl dd {
    font-size: 14px;
    line-height: 1.7;
}
#footer .ftInr ul dl dd.under {
    font-size: 12px;
    padding-left: 15px;
    position: relative;
}

#footer .ftInr ul dl dd.under:before {
    content: "";
    display: inline-block;
    width: 10px;
    border-bottom: 1px solid #555;
    position: absolute;
    left: 0;
    top: 10px;
}

#footer .ftInr ul dl dt a,
#footer .ftInr ul dl dd a {
    color: #fff;
}
#footer .ftInr ul dl dt span {
    color: #fff;
}

.irWrap #footer {
    margin-top: 0;
}

small#copyright {
    background: #333;
    border-top: 1px solid #464646;
    color: #fff;
    display: block;
    font-size: 1.1rem !important;
    padding: 15px 0;
    text-align: center;
    width: 100%;
    font-family: "Roboto Condensed", sans-serif;
}
/*sp*/
#spAction {
    display: none;
}

/*newsList*/
/*.newsList{
	overflow: hidden;
}
.newsList li{
	overflow: hidden;
	margin-bottom: 30px;
	width: 100%;
}
.newsList figcaption{
	font-weight: bold;
	font-size: 1.6rem;
	margin-bottom: 10px;
	line-height: 1.4;
}
.newsList li .img{
	border: 1px solid #CCC;
	display: table;
	float: left;
	line-height: 0;
	margin-bottom: 10px;
	margin-right: 1em;
	height: 150px;
	width: 30%;
}
.newsList li .img span{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	line-height: 0;
}
.newsList li .img span img{
	max-height: 148px;
	max-width: 100%;
	line-height: 0;
}*/
/*文字数オーバー*/
/*.newsList li a::before {
	background: #FFF;
	font-size: 1.8rem;
    bottom: 0;
    content: "…";
    position: absolute;
    right: 0;
}
.newsList li a::after {
	background: #FFF;
    content: "";
    height: 100%;
    position: absolute;
    width: 100%;
}
.newsList li a {
	display: block;
    height: 150px;
    overflow: hidden;
    position: relative;
}
.newsList li .tx {
	line-height: 1.5!important;
}
*/

/* indent
-------------------*/
.center {
    text-align: center !important;
}
.left {
    text-align: left !important;
}
.right {
    text-align: right !important;
}
.top0 {
    margin-top: 0 !important;
}
.top5 {
    margin-top: 5px !important;
}
.top10 {
    margin-top: 10px !important;
}
.top15 {
    margin-top: 15px !important;
}
.top20 {
    margin-top: 20px !important;
}
.top25 {
    margin-top: 25px !important;
}
.top30 {
    margin-top: 30px !important;
}
.top35 {
    margin-top: 35px !important;
}
.top40 {
    margin-top: 40px !important;
}
.btm0 {
    margin-bottom: 0 !important;
}
.btm5 {
    margin-bottom: 5px !important;
}
.btm10 {
    margin-bottom: 10px !important;
}
.btm15 {
    margin-bottom: 15px !important;
}
.btm20 {
    margin-bottom: 20px !important;
}
.btm25 {
    margin-bottom: 25px !important;
}
.btm30 {
    margin-bottom: 30px !important;
}
.btm35 {
    margin-bottom: 35px !important;
}
.btm40 {
    margin-bottom: 40px !important;
}
.btm45 {
    margin-bottom: 45px !important;
}
.btm50 {
    margin-bottom: 50px !important;
}
.btm55 {
    margin-bottom: 55px !important;
}
.btm60 {
    margin-bottom: 60px !important;
}
.btm65 {
    margin-bottom: 65px !important;
}
.btm70 {
    margin-bottom: 70px !important;
}
.btm75 {
    margin-bottom: 75px !important;
}
.btm80 {
    margin-bottom: 80px !important;
}
.btm85 {
    margin-bottom: 85px !important;
}
.btm90 {
    margin-bottom: 90px !important;
}
.btm95 {
    margin-bottom: 90px !important;
}
.pT0 {
    padding-top: 0 !important;
}
.pT5 {
    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;
}
.pB0 {
    padding-bottom: 0 !important;
}
.pB5 {
    padding-bottom: 5px !important;
}
.pB10 {
    padding-bottom: 10px !important;
}
.pB15 {
    padding-bottom: 15px !important;
}
.pB20 {
    padding-bottom: 20px !important;
}
.lm5 {
    margin-left: 5px !important;
}
.lm10 {
    margin-left: 10px !important;
}
.lm15 {
    margin-left: 15px !important;
}
.lm20 {
    margin-left: 20px !important;
}
.lm50 {
    margin-left: 50px !important;
}
.lm60 {
    margin-left: 60px !important;
}
.lm70 {
    margin-left: 70px !important;
}
.rm5 {
    margin-right: 5px !important;
}
.rm10 {
    margin-right: 10px !important;
}
.rm15 {
    margin-right: 15px !important;
}
.rm20 {
    margin-right: 20px !important;
}
.vAT {
    vertical-align: top !important;
}
.vAM {
    vertical-align: middle !important;
}
.vAB {
    vertical-align: bottom !important;
}

.bold {
    font-weight: bold;
}
.normal {
    font-weight: normal;
}

.is-pc {
    display: block;
}
.is-sp {
    display: none;
}

.spTel {
    pointer-events: none;
}

.sawarabiG {
    font-family: "sawarabiG";
}
.mincho {
    font-family: "Roboto Slab", Garamond, "Times New Roman", "sawarabiM", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E",
        "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.marker {
    background: linear-gradient(transparent 30%, #ffff66 60%);
}

/* size
-------------------*/
.size10 {
    font-size: 1rem !important;
}
.size11 {
    font-size: 1.1rem !important;
}
.size12 {
    font-size: 1.2rem !important;
}
.size13 {
    font-size: 1.3rem !important;
}
.size14 {
    font-size: 1.4rem !important;
}
.size15 {
    font-size: 1.5rem !important;
}
.size16 {
    font-size: 1.6rem !important;
}
.size17 {
    font-size: 1.7rem !important;
}
.size18 {
    font-size: 1.8rem !important;
}
.size19 {
    font-size: 1.9rem !important;
}
.size20 {
    font-size: 2rem !important;
}
.size21 {
    font-size: 2.1rem !important;
}
.size22 {
    font-size: 2.2rem !important;
}
.size23 {
    font-size: 2.3rem !important;
}
.size24 {
    font-size: 2.4rem !important;
}

/* wide
-------------------*/
.w5 {
    width: 5% !important;
}
.w10 {
    width: 10% !important;
}
.w15 {
    width: 15% !important;
}
.w18 {
    width: 18% !important;
}
.w20 {
    width: 20% !important;
}
.w25 {
    width: 25% !important;
}
.w30 {
    width: 30% !important;
}
.w35 {
    width: 35% !important;
}
.w40 {
    width: 40% !important;
}
.w45 {
    width: 45% !important;
}
.w50 {
    width: 50% !important;
}
.w55 {
    width: 55% !important;
}
.w60 {
    width: 60% !important;
}
.w65 {
    width: 65% !important;
}
.w70 {
    width: 70% !important;
}
.w75 {
    width: 75% !important;
}
.w80 {
    width: 80% !important;
}
.w85 {
    width: 85% !important;
}
.w90 {
    width: 90% !important;
}
.w95 {
    width: 95% !important;
}
.wFull {
    width: 100% !important;
}

/* section
-------------------*/
section {
    clear: both;
    margin-bottom: 60px;
}
#contents > section:last-child {
    margin-bottom: 0;
}
section.bgColor {
    padding: 60px 0;
}
section.bgColor01 {
    background: #eee;
}
section.bgColor02 {
    background: #eaf6f9;
}
.scInr {
    margin: 0 auto;
    max-width: 1200px;
    width: 97%;
}
.scInrS {
    margin: 0 auto;
    max-width: 1000px;
    width: 97%;
}
.scInrW {
    margin: 0 auto;
    max-width: 1400px;
    width: 97%;
}
.aural span,
span.aural {
    display: none;
    visibility: hidden;
}

/* compo parts
-------------------*/

/*btn*/

.greenLink {
    color: #2aa53b !important;
    text-decoration: underline !important;
}

.greenLink:hover {
    text-decoration: none !important;
}

.bscBtn01 a {
    background: #fff;
    box-shadow: 0 0 6px #eee;
    padding: 18px 25px;
    display: inline-block;
    border-radius: 40px;
    color: #33a943;
    border: 1px solid #eee;
}

.bscBtn01 a:hover {
    box-shadow: none;
    text-decoration: none;
    background: #eee;
}

.arrow {
    display: inline-block;
    width: 1em;
    height: 0.4em;
    transform: skewX(40deg);
    border-right: 1px solid #33a943;
    border-bottom: 1px solid #33a943;
    margin-left: 10px;
    vertical-align: middle;
}

.bscBtn02 a {
    background: #fff;
    padding: 30px 28px;
    display: inline-block;
    color: #33a943;
    border: 1px solid #ddd;
}

.bscBtn02 a:hover {
    background: #eee;
    text-decoration: none;
}

/*box*/
.bscBox01 {
    background: #eceeec;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 30px;
}
.bscBox02 {
    border: 1px solid #ccc;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 30px;
}

/*list*/
.indList,
.indListS {
    margin-bottom: 15px;
}
.indList li,
.indListS li {
    line-height: 170%;
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 10px;
}
.indListS li {
    font-size: 1.1rem !important;
    line-height: 130%;
}
.indList li::before,
.indListS li::before {
    content: "・";
    font-size: 50%;
    margin-right: 5px;
    vertical-align: middle;
}
.numList,
.numListS {
    margin-bottom: 15px;
    padding-left: 1.6em;
}
.numList li,
.numListS li {
    line-height: 150%;
    list-style: decimal outside none;
    margin-bottom: 10px;
}
.numListS li {
    font-size: 1.1rem !important;
    line-height: 130%;
}

.circleList li {
    position: relative;
    text-indent: -1.3em;
    padding-left: 1.3em;
    margin-bottom: 10px;
    line-height: 1.5;
    vertical-align: middle;
}

.circleList li:before {
    display: inline-block;
    vertical-align: middle;
    /*以下白丸つくる*/
    content: "";
    width: 0.8em;
    height: 0.8em;
    background: #33a943;
    border-radius: 50%;
    margin-right: 8px;
}

/*head*/
.imgHead {
    /* font-size: 0; */
    line-height: 0;
}
.head01 {
    color: #2aa53b;
    font-weight: 400;
    font-size: 3.2rem;
    margin-bottom: 20px;
    border-bottom: 3px solid #cccccc;
    padding-bottom: 10px;
}

.head02 {
    font-size: 2.4rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #2aa53b;
    color: #000;
    font-weight: 500;
}

.head03 {
    color: #000;
    font-size: 2.2rem;
    font-weight: 500;
    margin-bottom: 20px;
    padding-left: 1.3em;
    position: relative;
    line-height: 1.5;
}

.head03:before {
    content: "";
    display: block;
    width: 25px;
    height: 4px;
    background: #2aa53b;
    position: absolute;
    left: 0;
    top: 16px;
}

.head04 {
    color: #2aa53b;
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 20px;
    line-height: 1.5;
}
.head05 {
    text-align: center;
    border-bottom: 1px solid #ccc;
    margin-bottom: 40px;
    font-size: 1.2rem;
    padding-bottom: 15px;
    padding-top: 20px;
    font-weight: 300;
}

.head05 span {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 3rem;
    color: #000;
    display: block;
    margin-bottom: 10px;
    font-weight: 700;
}

/*table*/
.bscTbl01 table {
    border-collapse: collapse;
    border-left: 1px solid #ddd;
    border-top: 1px solid #ddd;
    width: 100%;
}
.bscTbl01 table th,
.bscTbl01 table td {
    background: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    line-height: 1.4;
    padding: 20px 20px 17px;
    text-align: left;
}
.bscTbl01 table th {
    background: #eee;
}
.bscTbl01 table tr.head th {
    background: #bbb;
    color: #fff;
}

/*float*/
.fltImgL {
    float: left;
    margin: 0 25px 20px 0;
}
.fltImgR {
    float: right;
    margin: 0 0 20px 25px;
}
.fltL {
    float: left;
}
.fltR {
    float: right;
}
.w100 {
    width: 100px;
}
.w200 {
    width: 200px;
}
.w300 {
    width: 300px;
}
.w400 {
    width: 400px;
}
.w450 {
    width: 450px;
}
.w500 {
    width: 500px;
}
.w600 {
    width: 600px;
}

/*float-clear*/
.cf:before,
.cf:after {
    content: "";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    zoom: 1;
}
br.clear,
.clear {
    display: inline !important;
    display: none;
    clear: both;
    line-height: 0px;
}
br.clear {
    clear: both;
    line-height: 0px;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    br.clear {
        display: block !important;
        content: " ";
    }
}

/*column*/
.clm4 li {
    float: left;
    margin: 0 24px 24px 0;
    width: -webkit-calc((100% - 72px) / 4);
    width: calc((100% - 72px) / 4);
}
.clm4 li:nth-child(4n) {
    margin-right: 0;
}

.clm3 li {
    float: left;
    margin: 0 24px 24px 0;
    width: -webkit-calc((100% - 48px) / 3);
    width: calc((100% - 48px) / 3);
}
.clm3 li:nth-child(3n) {
    margin-right: 0;
}

.clm2 li {
    float: left;
    margin-bottom: 16px;
    width: 49%;
}
.clm2 li.even,
.clm2 li:nth-child(2n) {
    float: right;
}

.clm4,
.clm3,
.clm2 {
    overflow: hidden;
}
.clm4 li,
.clm3 li,
.clm2 li {
    border: 1px solid #ededed;
    overflow: hidden;
}
.clm4 li figure,
.clm3 li figure,
.clm2 li figure {
    position: relative;
    cursor: pointer;
}
.clm4 li figure a,
.clm3 li figure a,
.clm2 li figure a {
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
}
.clm4 li figcaption,
.clm3 li figcaption,
.clm2 li figcaption {
    color: #000;
    display: table;
    table-layout: fixed;
    font-weight: bold;
    font-size: 1.8rem;
    width: 100%;
    padding: 20px 10px 10px;
    line-height: 1.2;
}
.clm4 li figcaption span,
.clm3 li figcaption span,
.clm2 li figcaption span {
    display: table-cell;
    vertical-align: middle;
}
.clm4 li .tx,
.clm3 li .tx,
.clm2 li .tx {
    padding: 0 10px 10px;
}
.clm4 li .img,
.clm3 li .img,
.clm2 li .img {
    display: table;
    line-height: 0;
    height: 130px;
    width: 100%;
    overflow: hidden;
    position: relative;
}
.clm4 li .img span,
.clm3 li .img span,
.clm2 li .img span {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    line-height: 0;
    overflow: hidden;
}
.clm4 li .img span img,
.clm3 li .img span img,
.clm2 li .img span img {
    max-height: 130px;
    max-width: 100%;
    line-height: 0;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.clm4 li:hover .img span img,
.clm3 li:hover .img span img,
.clm2 li:hover .img span img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}
.clm4 li:hover .img span::before,
.clm3 li:hover .img span::before,
.clm2 li:hover .img span::before {
    content: "MORE →";
    color: #fff;
    margin: auto;
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.clm4 li .img span::after,
.clm3 li .img span::after,
.clm2 li .img span::after {
    background: rgba(0, 0, 0, 0.6);
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    -webkit-transform: matrix(1, 0, 0, 1, -300, 0);
    -moz-transform: matrix(1, 0, 0, 1, -300, 0);
    transform: matrix(1, 0, 0, 1, -300, 0);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.clm3 li .img span::after {
    -webkit-transform: matrix(1, 0, 0, 1, -500, 0);
    transform: matrix(1, 0, 0, 1, -500, 0);
}
.clm2 li .img span::after {
    -webkit-transform: matrix(1, 0, 0, 1, -1000, 0);
    transform: matrix(1, 0, 0, 1, -1000, 0);
}
.clm4 li:hover .img span::after,
.clm3 li:hover .img span::after,
.clm2 li:hover .img span::after {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
    transform: matrix(1, 0, 0, 1, 0, 0);
}

/* pager
-------------------*/
.pager {
    padding-top: 20px;
    text-align: center;
}
/* .pager a {
	border:1px solid #2aa53b;
	background:#fff;
	color:#2aa53b;
	display:inline-block;
	line-height:1;
	margin: 0 2px 10px;
	padding:8px 8px;
	text-decoration:none;
	position: relative;
}
.pager a:hover,
.pager a.current {
	background:#2aa53b;
	border:1px solid #2aa53b;
	color:#FFF;
}
.pager a::after {
	content: attr(data-text);
}
.pager a:last-child::after {
	display: none;
}
.pager a:last-child::before {
	content: attr(data-text);
} */
.pager a,
.pager span {
    border: 1px solid #2aa53b;
    background: #fff;
    color: #2aa53b;
    display: inline-block;
    line-height: 1;
    margin: 0 2px 10px;
    padding: 8px 8px;
    text-decoration: none;
    position: relative;
}
.pager > *:hover,
.pager > *.current {
    background: #2aa53b;
    border: 1px solid #2aa53b;
    color: #fff;
}
.pager > *::after {
    content: attr(data-text);
}
.pager > *:last-child::after {
    display: none;
}
.pager > *:last-child::before {
    content: attr(data-text);
}

/*topcontrol*/
#topcontrol {
    z-index: 900;
}
#topcontrol a {
    background: url(../cmn_img/scrollup.png) center center no-repeat #000;
    display: block;
    height: 60px;
    width: 60px;
    filter: alpha(opacity=70) !important;
    opacity: 0.7 !important;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
#topcontrol a:hover {
    filter: alpha(opacity=10) !important;
    opacity: 1 !important;
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
}

/*roBtn*/
.roBtn:hover {
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}
/* IE8 */
html>/**/body .roBtn:hover {
    display/*\**/: inline-block\9;
    zoom/*\**/: 1\9;
}

/* 新旧Firefox */
.roBtn:hover,
x:-moz-any-link {
    background: #fff;
}
.roBtn:hover,
x:-moz-any-link,
x:default {
    background: #fff;
}

/* form
-------------------*/
.subscribeBtn {
    text-align: center;
    margin-bottom: 40px;
}
.subscribeBtn input {
    background: #000;
    border: 1px solid #000;
    color: #fff;
    display: inline-block;
    padding: 15px 100px 13px;
    line-height: 140%;
    text-decoration: none;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
.subscribeBtn input:hover {
    background: #fff;
    color: #000;
}
.subscribeBtn input.gray {
    background: #666;
    border: 1px solid #666;
    color: #fff;
}
.subscribeBtn input.gray:hover {
    background: #ddd;
    color: #000;
}
input.textFocus {
    color: #333;
}
input.wSS,
input.wS,
input.wM,
input.wL,
input.wLL {
    background: #fcfbf8;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #ccc;
    font-size: 1.3rem;
    line-height: 140%;
    padding: 8px 10px;
}
input {
    vertical-align: middle;
}

.wSS {
    width: 85px;
}
.wS {
    width: 170px;
}
.wM {
    width: 270px;
}
.wL {
    width: 470px;
}
.wLL {
    width: 340px;
}
.imeOn {
    ime-mode: active;
}
.imeOff {
    ime-mode: disabled;
}

textarea.txtarea {
    background: #fcfbf8;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #ccc;
    height: 200px;
    padding: 10px;
    width: 100%;
}
option {
    font-size: 1.4rem !important;
}
label {
    cursor: pointer;
}
label:hover {
    color: #999;
}
input[type="checkbox"],
input[type="radio"] {
    margin-right: 3px;
}
.formErr {
    color: #e54e52;
    font-weight: bold;
}
select.slctArea {
    background: #fcfbf8;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #ccc;
    margin-bottom: 5px;
    padding: 8px;
}
input.inputErr,
textarea.inputErr {
    background: #fadfde;
}
input:focus,
select:focus,
textarea:focus {
    background: #eee;
}
.req {
    background: #a40000;
    color: #fff;
    font-size: 1.1rem;
    margin-left: 3px;
    padding: 2px 5px;
    margin-right: 5px;
    vertical-align: middle;
}
.errText {
    background: #fee8e6;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: #db584b;
    font-size: 1.1rem;
    padding: 3px 5px;
    margin-top: 5px;
}
.cauText {
    color: #333;
    font-size: 1.1rem;
    line-height: 1.4 !important;
    margin-top: 5px;
}

/* for COMPANY
-------------------------------------------------------------------------------------*/
.name {
    font-size: 3.4rem;
    font-weight: 300;
}

.name span {
    font-size: 1.2rem;
    font-weight: 500;
    margin-right: 10px;
}
.bigList li {
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 40px;
    font-weight: 400;
    line-height: 1.9;
}

/* cookie
-------------------------------------------------------------------------------------*/
.cookieWrap {
    position: fixed;
    bottom: 30px;
    width: 90%;
    left: 50%;
    margin-left: -45%;
    background: #f5f5f5;
    border: 1px solid #2aa53b;
    border-radius: 5px;
    padding: 30px 50px;
    line-height: 2;
    font-size: 1.4rem;
    display: none;
    z-index: 9999;
}
.cookieWrap div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cookieWrap .cookieTxt {
    width: calc(100% - 280px);
}
.cookieWrap .cookieTxt a {
    text-decoration: underline;
    color: #157d23;
    font-weight: bold;
}
.cookieWrap .cookieBtn {
    width: 210px;
}
.cookieWrap .cookieBtn button {
    background: #2aa53b;
    color: #fff;
    border-radius: 4px;
    padding: 25px 80px;
    border: none;
    font-weight: bold;
}
.cookieNone {
    display: none;
}
@media only screen and (max-width: 960px) {
    .cookieWrap {
        bottom: 0;
        width: 100%;
        left: 0;
        margin-left: 0;
        border-radius: 0;
        padding: 15px 30px;
        line-height: 1.8;
        font-size: 1.2rem;
        border: 2px solid #2aa53b;
    }
    .cookieWrap .cookieTxt {
        width: calc(100% - 240px);
    }
}
@media only screen and (max-width: 750px) {
    .cookieWrap div {
        display: block;
    }
    .cookieWrap .cookieTxt {
        width: 100%;
        margin-bottom: 15px;
    }
    .cookieWrap .cookieBtn {
        width: 100%;
    }
    .cookieWrap .cookieBtn button {
        width: 100%;
        padding: 15px;
        font-size: 1.3rem;
    }
}

@media only screen and (max-width: 1470px) {
    /*#main {
    width: 68%;
}
#sideNav {
    width: 28%;
}
*/
}

@media only screen and (max-width: 1300px) {
    #gNav {
        width: 75%;
    }
}

/*--202306 added--*/
.lang_sw {
    text-align: right;
}
.lang_sw span {
    display: inline-block;
    font-size: 12px;
    color: #fff;
    background: #2aa53b;
    padding: 3px 15px;
    margin: 0 3px;
    margin-bottom: 10px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
}
.lang_sw a {
    display: inline-block;
    font-size: 12px;
    color: #111;
    background: #ddd;
    padding: 3px 15px;
    margin: 0 3px;
    margin-right: 0;
    margin-bottom: 10px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
}
#spNav .lang_sw {
    text-align: right;
    padding: 30px;
}
