@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic:wght@700&display=swap" rel="stylesheet');

/* #共通 ========================================================================================================== */
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, 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, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	font-family: inherit;
}
html {
	height:100%;
}
body{
    font-family: 'Noto Sans JP', serif;
    font-weight: 400;
    color: #000000;
    margin: 0px;
    height: 100%;
    font-size: 16px;
    line-height: 30px;
}
@media only screen and (max-width: 750px) {
body{
	font-weight: 400;
}
}
img {
	border: none;
	vertical-align:bottom;
}
a{}
a img.img_alpha {
}
a:hover img.img_alpha {
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
a  {
	color: #2965af;
	text-decoration: none;
	word-break: break-all; 
	transition: 0.4s;
}
a:hover {
    color: #88c684; /*下線あり*/
    opacity: 0.7;
}
a[href^="tel:"] { cursor: default; }

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display:block; }
.sp { display: none; }

@media only screen and (max-width: 750px) {
.pc { display: none !important; }
.sp { display: unset; }
}

.red { color: #ed4e5f; }
.blue { color: #2965af; }
.green { color: #88c684; }

.end {
	height: 0px;
	width: 100%;
	clear: left;
}
.flex {
    display: flex;
	flex-wrap: wrap;
}
.bc_g1 {
	background: linear-gradient(90deg,rgba(250, 250, 250, 1) 0%, rgba(242, 242, 242, 1) 100%);
}
.bc_g2 {
	background: linear-gradient(90deg,rgba(223, 232, 243, 1) 0%, rgba(237, 246, 237, 1) 100%);
}
.bc_g3 {
	background: linear-gradient(90deg,rgba(41, 101, 175, 1) 0%, rgba(136, 198, 132, 1) 100%);
}



/* #PC ========================================================================================================== */
#header {
    height: 155px;
    width: 100%;
    min-width: 1000px;
    position: fixed;
    z-index: 50;
    top: 0px;
}
#header1 {
    height: 95px;
    width: 100%;
    min-width: 1000px;
    position: fixed;
    z-index: 50;
    top: 0px;
    background-color: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(15px);
}
#header1 ul {
	padding: 0px;
	list-style-type: none;
	position : relative;
	margin: 0px;
}
#header1 li {
	margin: 0px;
	padding: 0px;
	text-decoration: none;
	display: block;
	height: auto;
	width: 100%;
	position : relative;
	float: left;
}
#header1 li.logo {
    height: 55px;
    width: 155px;
    background-image: url("../imgs/logo.svg");
    background-repeat: no-repeat;
    background-size: 155px 55px;
    background-position: right center;
    margin: 18px 0 0 22px;
}
#header1 li.logo a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
    z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}
#header li.contact {
    width: 180px;
    float: right;
    margin: 22px 20px 0 0;
}
#header li.tel {
	width: 230px;
	float: right;
    margin: 22px 22px 0 0;
}
#header li.tel_sp {
	display: none;
}
#header li.contact_sp {
	display: none;
}
#header2 {
    height: 60px;
    width: 100%;
    min-width: 1000px;
    position: fixed;
    z-index: 50;
    top: 95px;
    background-color: #001e87;
}
.footer1, .footer2 {
	height: auto;
	width: 100%;
    min-width: 1000px;
	position: relative;
    float: left;
}
.footer1 {
    padding: 35px 0;
}
.footer2 {
	background-color: #001e87;
	color: #FFFFFF;
    padding-top: 40px;
    padding-bottom: 10px;
}
.footer2 a  {
	color: #ffffff;
	text-decoration: none;
}
.footer2 a:hover {
    color: #ffffff; /*下線あり*/
    text-decoration: underline;
}
.f_menu {
	width : 100%;
	position: relative;
	float: left;
}
.f_menu ul {
	padding: 0px;
	list-style-type: none;
	position : relative;
	margin: 0px;
}
.f_menu li {
	display: block;
	height: auto;
	width : -webkit-calc(100% - 15px);
	width : calc(100% - 15px);
	position : relative;
	float: left;
	margin: 0px;
	padding-left: 15px;
	background-image: url("../imgs/arrow_b.svg");
	background-repeat: no-repeat;
	background-size: 12px 12px;
	background-position: left center;
	line-height: 30px;
	text-decoration: none;
}
.f_menu a  {
	color: #000000;
	text-decoration: none;
}
.f_menu a:hover {
    color: #001e87;
}
.f_menu_1 {
	width : 10%;
    margin-left: 10%;
}
.f_menu_2 {
	width : 20%;
}
.f_menu_3 {
	width : 38%;
}
.f_menu_4 {
	width : 15%;
}
.f_logo {
	width: 155px;
    position: relative;
    float: left;
    margin-left: 30px;
}
.f_address {
	width: 600px;
    position: relative;
    float: left;
    margin: 15px 0 0 30px;
}
.f_line {
	width: 100%;
	height: 1px;
	position: relative;
	float: left;
	background-color: #6678B7;
    margin-top: 40px;
    margin-bottom: 10px;
}
.f_cc {
    width: 200px;
    position: relative;
    float: left;
    font-size: 12px;
    margin-left: 20px;
}
.f_pp {
	width: 200px;
	position: relative;
	float: right;
	font-size: 12px;
	margin-right: 20px;
	text-align: right;
}
.f_contact {
	width : calc(100% - 35px);
	position: relative;
	float: left;
	color: #FFFFFF;
    padding-top: 50px;
    padding-left: 35px;
    padding-bottom: 65px;
}
.f_contact ul {
	padding: 0px;
	list-style-type: none;
	position : relative;
	margin: 0px;
}
.f_contact li {
	margin: 0px;
	padding: 0px;
	text-decoration: none;
	display: block;
	height: auto;
	width: 100%;
	position : relative;
	float: left;
}
.f_contact li.sst {
}
.f_contact li.st {
    font-size: 33px;
    line-height: 45px;
    font-weight: 600;
    margin-top: 10px;
}
.f_contact li.text {
    font-size: 18px;
    margin-top: 25px;
    margin-bottom: 35px;
}
.f_contact li.btn_con {
    width: 310px;
    margin-right: 15px;
}
.f_contact li.dog1 {
    width: 315px;
    position: absolute;
    top: -100px;
    right: 20px;
}
.f_contact li.dog2 {
    width: 315px;
    position: absolute;
    top: -50px;
    right: 20px;
}
.title_area {
    width: 100%;
    min-width: 1000px;
    height: 300px;
    position: relative;
    float: left;
    margin: 155px 0 0 0;
    background: linear-gradient(90deg,rgba(217, 221, 237, 1) 0%, rgba(247, 248, 251, 1) 32%, rgba(217, 221, 237, 1) 100%);
}
.title {
	width: 1000px;
	height: auto;
	position: relative;
    float: left;
	margin: 90px auto 50px auto;
	text-align: center;
}
.title ul {
	padding: 0px;
	list-style-type: none;
	position : relative;
	margin: 0px;
}
.title li {
	margin: 0px;
	padding: 0px;
	text-decoration: none;
	display: block;
	height: auto;
	width: 100%;
	position : relative;
	float: left;
}
.title li.sst {
    color: #88c684;
}
.title li.st {
    font-size: 33px;
    font-weight: 600;
    margin-top: 20px;
    color: #2965af;
}
.title li.line {
	width: 1px;
	height: 50px;
	background-color: #2965AF;
    margin-left: 50%;
    margin-top: 25px;
}
.title li.d_line {
	width: 260px;
    position: absolute;
    top: -90px;
    right: 50px;
}
.contents {
    width: 100%;
    min-width: 1000px;
    position: relative;
    float: left;
}
.inner {
	width: 1000px;
	height: auto;
	position: relative;
	margin: 0 auto;
}
.inner_l {
	width: 100%;
    min-width: 1000px;
    max-width: 1260px;
	height: auto;
    position: relative;
	margin: 0 auto;
}
.btn_ba {
	width: 235px;
	height: 40px;
    padding-left: 25px;
    padding-top: 20px;
	position: relative;
	float: left;
	background: linear-gradient(90deg,rgba(41, 101, 175, 1) 0%, rgba(136, 198, 132, 1) 100%);
	border-radius: 30px;
	color: #FFFFFF;
	font-size: 18px;
	line-height: 18px;
    font-weight: 600;
}
.btn_ba a  {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
    z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}
.btn_ba a:hover {
    background: linear-gradient(90deg,rgba(0, 30, 135, 1) 0%, rgba(41, 101, 175, 1) 20%);
    border-radius: 30px;
}
.btn_ba_arrow {
	width: 16px;
	height: auto;
	position: absolute;
	top: 22px;
    right: 20px;
}
.btn_ba_center {
	left: 50%;
    margin-left: -125px;
}
.com_text {
	width: 100%;
	position: relative;
	float: left;
	text-align: center;	
    margin-bottom: 40px;
}
.contents_bottom {
	padding-bottom: 120px;
}
.company_line {
	width: 435px;
    position: absolute;
    top: 0px;
    right: -150px;
}
.overflow {
	overflow: hidden;
}


/* #スマートフォン ========================================================================================================== */
@media only screen and (max-width: 750px) {
body{
    font-size: 26px;
    line-height: 50px;
}
#header {
    height: 80px;
    width: 100%;
    min-width: 100%;
}
#header1 {
    height: 80px;
    width: 100%;
    min-width: 100%;
}
#header1 li.logo {
    height: 57px;
    width: 170px;
    background-size: 170px 56.79px;
    background-position: right center;
    margin: 10px 0 0 15px;
}
#header li.contact {
    display: none;
}
#header li.tel {
    display: none;
}
#header li.tel_sp {
    display: block;
	width: 80px;
    position: relative;
	float: right;
    margin: 0 80px 0 0;
}
#header li.contact_sp {
    display: block;
    width: 80px;
    position: relative;
    float: right;
    margin: 0 0 0 0;
}
#header2 {
    display: none;
}
.footer1, .footer2 {
	width: 750px;
    min-width: 750px;
}
.footer1 {
    display: none;
}
.footer2 {
    padding-top: 50px;
    padding-bottom: 20px;
}
.f_logo {
    margin-left: 90px;
}
.f_address {
	width: 450px;
	margin: 0 0 0 30px;
}
.f_line {
	height: 2px;
    margin-top: 50px;
    margin-bottom: 20px;
}
.f_cc {
    width: 400px;
    font-size: 20px;
    margin-left: 20px;
}
.f_pp {
	display: none;
}
.f_contact {
	width : 700px;
	padding-top: 80px;
	padding-left: 50px;
	padding-bottom: 80px;
}
.f_contact li.sst {
    font-size: 25px;
}
.f_contact li.st {
    font-size: 40px;
    margin-top: 10px;
    line-height: 50px;
}
.f_contact li.text {
    font-size: 24px;
    line-height: 40px;
}
.f_contact li.btn_con {
    width: 400px;
    margin-right: 300px;
    margin-bottom: 25px;
}
.f_contact li.dog1 {
    width: 300px;
    top: 170px;
    right: 0px;
}
.f_contact li.dog2 {
    width: 300px;
    top: 200px;
    right: 0px;
}
.title_area {
    width: 750px;
    min-width: 750px;
    margin: 80px 0 0 0;
    overflow: hidden;
}
.title {
	width: 750px;
	margin: 70px auto 50px auto;
}
.title li.st {
    font-size: 40px;
    margin-top: 15px;
}

.title li.d_line {
    top: -90px;
    right: -50px;
}
.contents {
    width: 100%;
    min-width: 750px;
}
.inner {
	width: 100%;
}
.inner_l {
    min-width: 100%;
    max-width: 100%;
}
.btn_ba {
	width: 330px;
	height: 50px;
    padding-left: 30px;
    padding-top: 25px;
	border-radius: 38px;
	font-size: 24px;
	line-height: 24px;
}
.btn_ba_arrow {
	width: 16px;
	top: 30px;
    right: 30px;
}
.btn_ba_center {
	left: 50%;
    margin-left: -180px;
}
.com_text {
	width: 100%;
	position: relative;
	float: left;
	text-align: center;	
    margin-bottom: 40px;
}
.contents_bottom {
	padding-bottom: 120px;
}
.company_line {
	width: 225px;
    position: absolute;
    top: 0px;
    right: 0px;
}



}/* @media only screen and (max-width: 750px) */
