@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@600&family=Noto+Sans+JP:wght@400;700&family=Oswald&display=swap'); /* load reset.css */
*, ::before, ::after {
    box-sizing: inherit;
    background-repeat: no-repeat;
}
html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-size: 50%;
    box-sizing: border-box;
}
body {
    /* font-family: "游明朝 DemiBold", "YuMincho DemiBold","Yu Mincho DemiBold","游明朝体 DemiBold", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; */
	font-family:"Roboto", "Noto Sans JP", sans-serif;
    color: #333;
    font-size: 1.625rem;
    letter-spacing: 0.03em;
    line-height: 1.538461538461538;
}
@media screen and (min-width: 992px), print {
    html {
        font-size: 62.5%;
    }
    body {
        font-size: 1.4rem;
        line-height: 1.7;
    }
}
h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}
li {
    list-style-type: none;
}
address {
    margin: 0 0 1.5em;
    font-style: normal;
}
strong, em {
    font-weight: 600;
    font-style: normal;
}
sub {
    font-size: 70%;
    position: relative;
    top: -0.25em;
}
/* Link, Focus,Selection */
a {
    outline: none;
    text-decoration: none;
    color: #79b22f;
}
main p a, main li a, main td a, main dd a {
    color: #1A73E8;
    border-bottom: 1px dashed #1A73E8;
    text-decoration: none;
}
em {
	position: relative;
	display: inline-block;
	font-style: normal;
}
@media screen and (min-width: 992px), print {
    a {
        transition: all .15s ease;
    }
    a:hover {
        text-decoration: none;
    }
}
a:focus {
    outline: none;
}
::-moz-selection {
    background-color: #ffffff;
    color: #000000;
    text-shadow: none;
}
::selection {
    background-color: #ffffff;
    color: #000000;
    text-shadow: none;
}
/* Form */
input[type="radio"], input[type="checkbox"] {
    margin-right: .25em;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #b3b3b3;
    border-radius: 0;
    padding: 5px;
    width: 100%;
    font-size: 16px;
    vertical-align: bottom;
}
textarea {
    height: 180px;
    line-height: 1.4;
}
input[type="submit"], input[type="reset"], input[type="button"], button {
    cursor: pointer;
    background: #000;
    color: #fff;
    opacity: 1.0;
    padding: 10px 20px;
    transition: 0.3s;
    border: none;
    border-radius: 5px;
}
input[type="submit"]:focus, input[type="submit"]:active {
    outline: none;
}
img.hoverimg:hover{
	opacity: 0.6;
	transition-duration: 0.5s;
}
@media screen and (min-width: 992px), print {
    input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], textarea {
        padding: 10px;
    }
    input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, button:hover {
        background: #444;
        color: #fff;
        opacity: 0.7;
    }
}
/* ============================== */
/*  Contents */
/* ============================== */
h1 {
    font-size: 2.4rem;
}
h2 {
    font-size: 2.0rem;
}
h3 {
    font-size: 1.7rem;
}
h4 {
    font-size: 1.6rem;
}
h5 {
    font-size: 1.4rem;
}
h6 {
    font-size: 1.2rem;
}
p + p {
    margin-top: 1em;
}
@media screen and (min-width: 768px), print {
    h1 {
        font-size: 3.0rem;
    }
    h2 {
        font-size: 1.9rem;
    }
    h3 {
        font-size: 1.8rem;
    }
    h4 {
        font-size: 1.6rem;
    }
    h5 {
        font-size: 1.4rem;
    }
}
th, td {
    padding: 0.5em 1em;
    border: 1px solid #dcdcdc;
    text-align: left;
    vertical-align: middle;
}
th {
    font-weight: 600;
    background-color: #fafafa;
}
caption {
    color: #444;
    text-align: center;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
/* ============================== */
/*  Repeatable */
/* ============================== */
/* ============================== */
/*  Layout */
/* ============================== */
#page{
	padding-top:72px;
	overflow-x: hidden;
}
@media screen and (max-width: 767px) {
    .only-pc {
        display: none;
    }
}
@media screen and (min-width: 992px), print {
    .only-sp {
        display: none;
    }
}
#main{
}
.content{
	padding-bottom:35px;
}
/* ============================== */
/*  機能一覧 */
/* ============================== */
@media screen and (min-width: 1080px){
	.tbl{
		width:100%;
	}
}
@media screen and (max-width: 1079px){
}
/* ============================== */
/*  Page Top */
/* ============================== */
#go-pagetop a {
    display: block;
    position: fixed;
    bottom: -80px;
    right: 10px;
    z-index: 500;
    text-indent: -9999px;
    overflow: hidden;
    background-color: rgba(120, 120, 120, 0.5);
    background-size: 44px;
    width: 40px;
    height: 40px;
    transition: 0.2s ease;
    opacity: 0;
}
#go-pagetop a.js-view {
    opacity: 1;
    bottom: 20px;
}
#go-pagetop a::before {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    left: calc(50% - 5px);
    top: calc(50% - 3px);
    display: block;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
@media screen and (min-width: 768px), print {
    #go-pagetop a {
        right: 20px;
    }
    #go-pagetop a.js-view {
        bottom: 54px;
    }
}
@media screen and (min-width: 992px), print {
    #go-pagetop a {
        right: 50px;
        width: 60px;
        height: 60px;
    }
    #go-pagetop a.js-view {
        bottom: 68px;
    }
    #go-pagetop a:hover {
        background-color: #74a93e;
    }
}
/* ============================== */
/*  Global-Header */
/* ============================== */
.global-header {
    position: fixed;
    z-index: 990;
    width: 100%;
	background-color:#ffffff;
	height: 72px;
	font-size: 14px;
	display: flex;
	top:0;
}
.global-header figure a {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 30px;
}
.global-header a {
  color: #fff;
  text-decoration: none;
}
/* ============================== */
/*  Global-NAV */
/* ============================== */
/* Tablet & PC */
header nav {
  display: flex;
  flex-grow: 1;
}
header img.logo{
	width:160px;
}
.main-menu {
	position: relative;
	margin-right: 20px;
	display: flex;
}
@media screen and (min-width: 768px) {
    .main-menu li {
        display: table-cell;
    }
    .main-menu > li > a {
		height: 100%;
		padding: 0 8px;
		display: flex;
		align-items: center;
        color: #333;
    }
	.main-menu li a {
		color:#000000;
	}
	.main-menu li a::after {
		border-right:1px solid #000000;
	}
	.main-menu li a:hover {
		opacity: 0.5;
	}
}
/* ============================== */
/*  Toggle Menu */
/* ============================== */
#nav-toggle {
	display: none;
	position: fixed;
    top: 0;
    right: 0;
	z-index: 500;
    width: 72px;
    height: 72px;
	cursor: pointer;
	transition: all 0.3s;
}

#nav-toggle span {
	position: absolute;
	display: block;
	width: 30px;
	height: 3px;
	background-color: #000000;
	left: 20px;
	transition: all 0.3s;
}
#nav-toggle span:nth-child(1) {
  top: 20px;
}
#nav-toggle span:nth-child(2) {
  top: 31px;
}
#nav-toggle span:nth-child(3) {
  top: 42px;
}
#nav-toggle.open {
	transition: all 0.3s;
}
#nav-toggle.open span:nth-child(1) {
	top: 32px;
	transform: rotate(135deg);
}
#nav-toggle.open span:nth-child(2) {
	width: 0;
}
#nav-toggle.open span:nth-child(3) {
	top: 32px;
	transform: rotate(-315deg);
}
@media (max-width: 767px) {
	header nav {
		background-color: #ffffff;
		left: 0;
		position: absolute;
		top: 72px;
		width: 100%;
		z-index: 998;
		padding-bottom: 1px;
		display: none;
	}
	header nav.open-menu{
		display: block;
	}
	.main-menu{
		display: list-item;  /* 縦に並べる */
		width:100%;
		margin:0px;
	}
	.main-menu li{
		background: #ffffff;
		border:1px solid #000000;
	}
	.main-menu li a {
		color:#000000;
		display: block;
		padding: 12px 7px;
	}
	#nav-toggle {
		display: block;
	}
}
/* ============================== */
/*  GLOBAL FOOTER */
/* ============================== */
footer {
	display:flex;
	background: #2a3239;
	color:#ffffff;
}
@media screen and (min-width: 992px){
    footer {
		padding: 20px 0;
    }
	footer .inner {
		display:flex;
		width:1080px;
		margin: 0 auto;
	}
	footer .footer-logo{
	}
	footer .footer-logo img {
		width:200px;
	}
	footer .copyright{
		margin:0 0 0 auto;
	}
}
@media screen and (max-width: 991px) {
    footer {
		padding: 10px 0;
    }
	footer .inner {
		display:flex;
		margin: 0 auto;
	}
	footer .footer-logo{
	}
	footer .footer-logo img {
		width:100px;
	}
	footer .copyright{
		font-size:10px;
		margin:0 0 0 auto;
	}
}
/* ============================== */
/*  下層ページ共通 */
/* ============================== */
section h2{
	color:#000000;
}
section h4 span{
	color:#2f4f4f;
}
.main-title{
	text-align: center;
	line-height: 1;
	padding: 100px 0 20px 0px;
	color: #00345b;
	font-weight: 400;
	position: relative;
	margin: 0 0 4% 0;
}
.main-title::after {
	content: "";
	width: 5rem;
	height: 1px;
	background: #00345b;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.content-box{
	padding: 14px 15px;
	background-color: #fff;
	margin-bottom: 20px;
}
.content-box-title{
	color: #ffa500;
	border: 1px solid #ffa500;
	margin: 0 0 10px 0;
	padding: 0 5px;
	text-align: center;
	font-size: 20px;
}


.content-box2{
	padding: 14px 15px;
	background-color: #fbf1c4;
	margin: 10px;
	border: 1px solid #c0c0c0;
	box-shadow:rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
	-webkit-box-shadow:rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
	-moz-box-shadow:rgba(122, 122, 122, 0.0588235) 0px 0px 6px 3px;
}
.content-box-title2{
	display: flex;
	align-items: center;
	border-bottom: 1px solid #ff4500;
	font-size: 20px;
	margin-bottom: 10px;
	padding: 0 0 5px 0;
}
.content-box-title2 h2{
	box-sizing: border-box;
	font-size: 20px;
	color: #ff4500;
	padding:0 0 0 5px;
}

.top-image .image img{
	border:1px solid #000000;
}
.content{
	border-top:1px solid #000000;
}
.content-inner{
	font-size:18px;
}
.content-box img{
	/* じわっと画像が表示される */
 	animation: fadeIn 3s ease 0s 1 normal;
    -webkit-animation: fadeIn 3s ease 0s 1 normal;
}
/* じわっと画像が表示される ---------　一度追加していたら不要*/
@keyframes fadeIn {
    0% {opacity: 0} /* 始め */
    100% {opacity: 1} /* 終わり */
}
/*古いブラウザ用　---------　一度追加していたら不要*/
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@media screen and (min-width: 1080px){
	.main-title{
		font-size: 43px;
	}
	.top-image .inner {
		width:1080px;
		margin: 0 auto;
		padding-top: 40px;
	}
	.top-image .title-wrapper {
		height: 400px;
		position: relative;
	}
	.top-image .wrap-title {
		position: absolute;
		left: 0;
		top: 40px;
		z-index: 9;
	}
	.top-image .wrap-title .title1 {
		text-align: center;
		width: 535px;
		font-size:24px;
		margin: 50px auto 0 auto;
		position: relative;
	}
	.top-image .wrap-title .title2 {
		text-align: center;
		width: 535px;
		font-size:42px;
		margin: 10px auto 0 auto;
		position: relative;
	}
	.top-image .image {
		position: absolute;
		width: 675px;
		top: 0;
		right: -110px;
		z-index: 8;
	}
	.top-image .image img{
		width:443px;
	}
	.content .inner {
		width: 1080px;
		margin: 0 auto;
		padding: 0 0 20px 0;
	}
	.content-main-box{
		width:100%;
	}
	.content-main-box2{
		width : calc(100% / 3) ;
		float:left;
	}
	.content-box2{
		height: 150px;
	}
	section h2{
		font-size:30px;
		padding: 10px 0 15px 0;
	}
	section h4 span{
		font-size:24px;
	}
}
@media screen and (max-width: 1079px) {
	.main-title{
		font-size: 24px;
	}
	.inner{
		width: auto;
		margin: 0 20px;
	} 
	.top-image .inner {
		margin: 0 auto;
		padding: 10px 0;
	}
	.top-image .title-wrapper {
		position: relative;
	}
	.top-image .wrap-title {
		font-size:24px;
		text-align: center;
		margin: 0 auto 20px 0;
	}
	.top-image .image{
		text-align: center;
	}
	.top-image .image img{
		width:240px;
	}
	.content .inner {
		margin: 0 auto;
		padding: 0 0 20px 0;
	}
	.content-inner{
		padding: 0 10px;
	}
	.content-main-box{
		width:100%;
	}
	.content-main-box2{
		width:100%;
	}
	section h2{
		font-size:20px;
		padding: 10px 0 15px 0;
	}
	section h4 span{
		font-size:18px;
	}
}
/*
body:not(.btob) section:nth-of-type(2n+1) {
	background-color: #fef7d7;
}
*/
/* ◆ padding ====================================== */
.padding5 {
  padding: 5px;
}
.padding10 {
  padding: 10px;
}
.padding15 {
  padding: 15px;
}
.padding20 {
  padding: 20px;
}
/* ◆ padding-top ====================================== */
.padding-top1 {
  padding-top: 1px;
}
.padding-top2 {
  padding-top: 2px;
}
.padding-top3 {
  padding-top: 3px;
}
.padding-top4 {
  padding-top: 4px;
}
.padding-top5 {
  padding-top: 5px;
}
.padding-top6 {
  padding-top: 6px;
}
.padding-top7 {
  padding-top: 7px;
}
.padding-top8 {
  padding-top: 8px;
}
.padding-top9 {
  padding-top: 9px;
}
.padding-top10 {
  padding-top: 10px;
}
.padding-top15 {
  padding-top: 15px;
}
.padding-top20 {
  padding-top: 20px;
}
/* ◆ padding-bottom ====================================== */
.padding-bottom1 {
  padding-bottom: 1px;
}
.padding-bottom2 {
  padding-bottom: 2px;
}
.padding-bottom3 {
  padding-bottom: 3px;
}
.padding-bottom4 {
  padding-bottom: 4px;
}
.padding-bottom5 {
  padding-bottom: 5px;
}
.padding-bottom6 {
  padding-bottom: 6px;
}
.padding-bottom7 {
  padding-bottom: 7px;
}
.padding-bottom8 {
  padding-bottom: 8px;
}
.padding-bottom9 {
  padding-bottom: 9px;
}
.padding-bottom10 {
  padding-bottom: 10px;
}
.padding-bottom15 {
  padding-bottom: 15px;
}
.padding-bottom20 {
  padding-bottom: 20px;
}
/* ◆ padding-left ====================================== */
.padding-left1 {
  padding-left: 1px;
}
.padding-left2 {
  padding-left: 2px;
}
.padding-left3 {
  padding-left: 3px;
}
.padding-left4 {
  padding-left: 4px;
}
.padding-left5 {
  padding-left: 5px;
}
.padding-left6 {
  padding-left: 6px;
}
.padding-left7 {
  padding-left: 7px;
}
.padding-left8 {
  padding-left: 8px;
}
.padding-left9 {
  padding-left: 9px;
}
.padding-left10 {
  padding-left: 10px;
}
.padding-left15 {
  padding-left: 15px;
}
.padding-left20 {
  padding-left: 20px;
}
.padding-left30 {
  padding-left: 30px;
}
.padding-left40 {
  padding-left: 40px;
}
/* ◆ padding-right ====================================== */
.padding-right1 {
  padding-right: 1px;
}
.padding-right2 {
  padding-right: 2px;
}
.padding-right3 {
  padding-right: 3px;
}
.padding-right4 {
  padding-right: 4px;
}
.padding-right5 {
  padding-right: 5px;
}
.padding-right6 {
  padding-right: 6px;
}
.padding-right7 {
  padding-right: 7px;
}
.padding-right8 {
  padding-right: 8px;
}
.padding-right9 {
  padding-right: 9px;
}
.padding-right10 {
  padding-right: 10px;
}
.padding-right15 {
  padding-right: 15px;
}
.padding-right20 {
  padding-right: 20px;
}
/* ◆ margin ====================================== */
.margin5 {
  margin: 5px;
}
.margin10 {
  margin: 10px;
}
.margin15 {
  margin: 15px;
}
.margin20 {
  margin: 20px;
}
/* ◆ margin-top ====================================== */
.margin-top1 {
  margin-top: 1px;
}
.margin-top2 {
  margin-top: 2px;
}
.margin-top3 {
  margin-top: 3px;
}
.margin-top4 {
  margin-top: 4px;
}
.margin-top5 {
  margin-top: 5px;
}
.margin-top6 {
  margin-top: 6px;
}
.margin-top7 {
  margin-top: 7px;
}
.margin-top8 {
  margin-top: 8px;
}
.margin-top9 {
  margin-top: 9px;
}
.margin-top10 {
  margin-top: 10px;
}
.margin-top15 {
  margin-top: 15px;
}
.margin-top20 {
  margin-top: 20px;
}
.margin-top150 {
  margin-top: 150px;
}
.margin-top700 {
  margin-top: 700px;
}
/* ◆ margin-bottom ====================================== */
.margin-bottom1 {
  margin-bottom: 1px;
}
.margin-bottom2 {
  margin-bottom: 2px;
}
.margin-bottom3 {
  margin-bottom: 3px;
}
.margin-bottom4 {
  margin-bottom: 4px;
}
.margin-bottom5 {
  margin-bottom: 5px;
}
.margin-bottom6 {
  margin-bottom: 6px;
}
.margin-bottom7 {
  margin-bottom: 7px;
}
.margin-bottom8 {
  margin-bottom: 8px;
}
.margin-bottom9 {
  margin-bottom: 9px;
}
.margin-bottom10 {
  margin-bottom: 10px;
}
.margin-bottom15 {
  margin-bottom: 15px;
}
.margin-bottom20 {
  margin-bottom: 20px;
}
.margin-bottom150 {
  margin-bottom: 150px;
}
.margin-bottom700 {
  margin-bottom: 700px;
}
/* ◆ margin-left ====================================== */
.margin-left1 {
  margin-left: 1px;
}
.margin-left2 {
  margin-left: 2px;
}
.margin-left3 {
  margin-left: 3px;
}
.margin-left4 {
  margin-left: 4px;
}
.margin-left5 {
  margin-left: 5px;
}
.margin-left6 {
  margin-left: 6px;
}
.margin-left7 {
  margin-left: 7px;
}
.margin-left8 {
  margin-left: 8px;
}
.margin-left9 {
  margin-left: 9px;
}
.margin-left10 {
  margin-left: 10px;
}
.margin-left15 {
  margin-left: 15px;
}
.margin-left20 {
  margin-left: 20px;
}
/* ◆ margin-right ====================================== */
.margin-right1 {
  margin-right: 1px;
}
.margin-right2 {
  margin-right: 2px;
}
.margin-right3 {
  margin-right: 3px;
}
.margin-right4 {
  margin-right: 4px;
}
.margin-right5 {
  margin-right: 5px;
}
.margin-right6 {
  margin-right: 6px;
}
.margin-right7 {
  margin-right: 7px;
}
.margin-right8 {
  margin-right: 8px;
}
.margin-right9 {
  margin-right: 9px;
}
.margin-right10 {
  margin-right: 10px;
}
.margin-right15 {
  margin-right: 15px;
}
.margin-right20 {
  margin-right: 20px;
}
.margin-right30 {
  margin-right: 30px;
}
/* ◆ text-align ====================================== */
.align-left {
  text-align: left;
}
.align-center {
  text-align: center;
}
.align-right {
  text-align: right;
}
/* ◆ vertical-align ====================================== */
.vertical-align-top {
  vertical-align: top;
}
.vertical-align-middle {
  vertical-align: middle;
}
.vertical-align-bottom {
  vertical-align: bottom;
}
/* ◆ font-size ====================================== */
.font-size10 {
  font-size: 10px;
}
.font-size11 {
  font-size: 11px;
}
.font-size12 {
  font-size: 12px;
}
.font-size13 {
  font-size: 13px;
}
.font-size14 {
  font-size: 14px;
}
.font-size15 {
  font-size: 15px;
}
.font-size16 {
  font-size: 16px;
}
.font-size17 {
  font-size: 17px;
}
.font-size18 {
  font-size: 18px;
}
.font-size19 {
  font-size: 19px;
}
.font-size20 {
  font-size: 20px;
}
/* ◆ font-weight====================================== */
.font-bold {
  font-weight:bold;
}
/* ◆ float ====================================== */
.floatLeft {
  float: left;
}
.floatRight {
  float: right;
}
/* ◆ bold ====================================== */
.font-weight {
  font-weight: bold;
}
/* ◆ span-font====================================== */
.span-font1 {
	font-size:22px;
	color:red;
}
/* ◆ em-font====================================== */
em.span-font2::after {
	display: inline-block;
	content: "";
	position: absolute;
	height: 5px;
	width: 100%;
	background: #f3b045;
	bottom: 0px;
	left: 0;
	z-index: -1;
}
/* ◆ other ====================================== */
.clear{
	clear:both;
}