@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
@import url('http://fonts.cdnfonts.com/css/roboto');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@100;200;300;400;500;600;700&display=swap');

html{
font-family:'Noto Sans JP','メイリオ', Meiryo,'ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
color: #1A1A1A;
font-size: 16px;
line-height: 1.7;
scroll-behavior: smooth;
}
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
	margin:0;
	padding:0;
}
* {
box-sizing: border-box;
}
a {
display: inline-block;
transition: .3s;
text-decoration: none;
}
img {
vertical-align: top;
max-width: 100%;
}
a:hover {
text-decoration: none;
}
.sp {
display: none;
}
.yakuhan {
font-family: YakuHanJP,'Noto Sans JP','メイリオ', Meiryo,'ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
}
.roboto {
font-family:'Roboto','Noto Sans JP','メイリオ', Meiryo,'ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
}
h2 {
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-content: center;
justify-content: center;
align-items: center;
margin: 0 0 66px;
color: #4B58A6;
font-size: 40px;
font-weight: 700;
position: relative;
}
h2 .small {
font-size: 24px;
line-height: 1;
}
h2 .caption {
font-size: 12px;
margin: -10px 0 0;
}
h2:before {
content: "";
display: inline-block;
width: 64px;
height: 2px;
background: #4B58A6;
position: absolute;
left: calc(50% - 32px);
bottom: -18px;
}
.fs16 {
font-size: 1.0rem;
}
.mt100 {
margin-top: 100px !important;
}
.f_blue {
color: #4B58A6;
}
.t_center {
text-align: center;
}

@media screen and (max-width:767px) {
html{
}
.pc {
display: none;
}
.sp {
display: inline-block;
}
img {
width: 100%;
}
h2 {
text-align: center;
margin: 0 0 50px;
font-size: 32px;
line-height: 1.4;
}
h2 .small {
font-size: 20px;
}
h2:before {
bottom: -14px;
}
}
ol, ul, li {
list-style: none;
}
main {
/*height: 2000px;*/
margin-top: 60px;
}


/**ヘッダー**/
header {
background: #fff;
box-shadow: 0 2px 5px rgb(0 0 0 / 20%);
padding: 0 40px;
width: 100%;
position: fixed;
left: 0;
top: 0;
z-index: 99;
}
/*header a {
color: #000;
font-weight: 800;
font-size: 21px;
}*/
.header_inner_left_logo {
display: flex;
justify-content: space-between;
align-items: center;
height: 90px;
}
.header_inner_left_logo img {

}
.header_inner {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: center;
justify-content: space-between;
align-items: center;
width: 100%;
height: 60px;
}
.header_inner_left {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
justify-content: flex-start;
align-items: center;
}
.header_inner_left_link img {
margin-top: 5px;
width: 120px;
}
.header_inner_left_link ol {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: center;
justify-content: flex-start;
align-items: center;
}
.header_inner_left_link li a {
color: #333333;
}
.header_inner_left_link li:not(:first-child) {
font-weight: 700;
font-size: 14px;
text-decoration: none;
margin: 0 0 0 30px;
}
.header_inner_right_btn a {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: center;
justify-content: center;
align-items: center;
width: 140px;
height: 40px;
background: transparent linear-gradient(113deg, #F78D28 0%, #FD5F52 100%);
border-radius: 300px;
color: #fff;
font-size: 12px;
font-weight: 700;
text-decoration: none;
}
@media screen and (min-width: 768px) {
.header_inner_left_link li a:hover,.header_inner_right_btn a:hover {
opacity: 0.7;
}
.header_inner_left_logo {
display: none !important;
}
}
@media screen and (max-width:767px) {
header {
padding: 0 8px;
}
.header_inner {
height: 64px;
}
.header_inner_left {
width: 180px;
}
.header_inner_right_btn a {
width: 150px;
height: 40px;
font-size: 11px;
}
}

/**フッター**/
footer {
padding: 32px 20px;
border-top: 1px solid #232F76;
}
.footer_inner {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: center;
justify-content: space-between;
align-items: stretch;
}
.footer_inner_left {
padding: 0 0 10px;
}
footer a.company {
font-family: 'Josefin Sans', sans-serif;
color: #111111;
font-size: 18px;
font-weight: 600;
line-height: 1.2;
text-decoration: none;
}
footer a.Privacy {
color: rgba(0, 0, 0, 0.64);
font-size: 13px;
line-height: 1.2;
opacity: 1;
margin: 0 0 30px;
}
footer p.address {
font-size: 14px;
}
footer a.map {
text-decoration: none;
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: center;
justify-content: flex-start;
align-items: center;
margin: 10px 0 0;
}
footer a.map p {
border-bottom: solid 1px #000;
font-family: 'Josefin Sans', sans-serif;
color: #333;
font-size: 12px;
font-style: normal;
font-weight: 500;
letter-spacing: 0.1em;
line-height: 1.6;
margin: 0px 0px 0px 6px;
transition: .3s;
}
footer a.map i {
font-size: 18px;
color: #333;
transition: .3s;
}
.footer_inner_right {
display: flex;
flex-direction: column;
flex-wrap: wrap;
align-content: center;
justify-content: flex-end;
align-items: flex-end;
}
footer .copy {
font-family: 'Josefin Sans', sans-serif;
font-size: 10px;
}
@media screen and (min-width: 768px) {
footer a.company:hover {
color: #ffdb00;
}
footer a.Privacy:hover {
opacity: .7;
}
footer a.map:hover p {
color: #a7d86d;
border-bottom: solid 1px #fff;
}
footer a.map:hover i {
color: #a7d86d;
}
}
.fa-map-marker:before {
content: "\f041";
}
@media screen and (max-width:767px) {
footer {
padding: 32px 16px;
}
.footer_inner {
flex-direction: column;
justify-content: center;
align-items: center;
}
.footer_inner_left {
text-align: center;
margin: 0 0 48px;
padding: 0;
}
footer p.address {
font-size: 12px;
}
footer a.map {
justify-content: center;
}
}

.mb40 {
				margin-bottom: 40px !important;
}

.mt40 {
				margin-top: 40px !important;
}
.mt20 {
				margin-top: 20px !important;
}