@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');

/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
*, *:before, *:after {box-sizing: border-box;}
html {
    font-size: 62.5%;
}
body {
  margin: 0px;
  padding: 0px;
  font-size: 1.5rem;
  line-height: 1.6;
  font-weight: 400;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: #333;
  -webkit-text-size-adjust: 100%;
}
li {
    list-style-type: none;
}
a {
    text-decoration: none;
}
iframe,img,object,svg,video{
    display:block;
    vertical-align:middle;
    max-width:100%
}

/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
    position: relative;
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}
/*@media screen and  (max-width: 599px) {
  .container {
    padding: 0 20px;
}
}
*/

section {
    padding: 20px 0 40px;
}
section.full {
    position:relative;
	margin: 0 calc(50% - 50vw);
	padding: 20px calc(50vw - 50%) 40px;
    overflow:hidden;
    background: #E6EAEF;
    /*width: 100vw;*/
}
.text-wrap {
    width: 80%;
    margin: 0 auto;
}
@media(max-width:768px) {
    .text-wrap {
        width: 100%;}    
}
@media(max-width:599px) {
    .text-wrap {
        width: 80%;}    
}
@media(max-width:768px) {
  .main {
      flex: 1;
      margin-top: 0;
      margin-bottom: 0;
      margin-left: 0;
  }
}

/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0; margin-bottom: 2rem; font-weight: 400;}

p {
    line-height: 1.8;
    margin-top: 0;
}

/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a:link {
  color: #0000ee;
  transition-property: opacity;
　-webkit-transition-property: opacity;
  transition-duration: .5s;
  -webkit-transition-duration: .5s;}
a:hover {
  opacity: .8;}
p a {
  text-decoration: underline; }

/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: circle inside; }
ol {
  list-style: decimal inside; }
ol, ul {
  padding-left: 0;
  margin-top: 0; }
ul ul,
ul ol,
ol ol,
ol ul {
  margin: 1.5rem 0 1.5rem 3rem;
  font-size: 90%; }
li {
  margin-bottom: 1rem; }

/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #E1E1E1; }


/* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container:after
 {
  content: "";
  display: table;
  clear: both; }
.top-visual-container:after
 {
  content: "";
  display: table;
  clear: both; }

/* Header
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*#header-area{
    height: 60px;
    margin: 0;
    padding: 70px 0 0 0;
    background-color: #FFF;
    background-image: url("../images/bg_upper.png");
    background-repeat: no-repeat;
    background-position: center top;  
}

.header {
	display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 8px 0;
}
@media screen and (max-width:889px) {
    #header-area{
    padding: 44px 0 0 0; 
}    
}*/ 


/* Navigation
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*#footer-area {margin-top: 50px;}*/
#footer-area {
    padding: 20px 0 0 0;
    color: #FFFFFF;
}
.footer {background: #444444; padding: 20px 0;}
.footer .container {
    display: flex;
    justify-content: space-between;
}
.footer p {
    margin: 0;
    line-height: 30px;
}
.footer-left {
    width: 40%;
}
.footer-title {
    font-size: 2rem;
}
.footer-tel {
    font-size: 2rem;
    padding-left: 2em;
}
.footer-add {
    font-size: 1.4rem;
}
.footer-right {
    justify-content: flex-end;
    display: flex;
}

@media(max-width:768px) {
.footer .container {
    flex-direction: column;
    justify-content: space-between;
}
    .footer-left {
    width: 100%;
    text-align: center;
}
    .footer-right {
    text-align: center;
    width: 100%;
    flex-direction: column;
}
    .footer-tel {
    padding-left: 0;
}
}
@media(max-width:599px) {
    #footer-area {
    padding: 0;
}
}

/* Parts Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.center {text-align: center;}
.item-center {display: block; margin: 0 auto;}
.right {text-align: right;}
.txt-bold {font-weight: bold;}
.txt-red {color: #DF002C;}
.txt-blk {color: #333;}
.txt-mark {background: linear-gradient(transparent 60%, #ffff66 60%);}
.mt30 {margin-top: 30px;}
.mb30 {margin-bottom: 30px;}
.p-just p {text-align: justify;}
.p-indent p {text-indent:1em; margin-bottom: 0;}
.p-indent p:last-child {margin-bottom: 10px;}

@media screen and (max-width: 1024px) {
    .pc {display: none;}    
}

.sp{display: none;}
@media(max-width:768px) {
    .sp{display: block;}    
}

.map iframe {height: 500px;}
@media(max-width:768px) {
    .map iframe {height: 300px;}
}

/*　H Style
–––––––––––––––––––––––––––––––––––––––––––––––––– */


/*　Image
–––––––––––––––––––––––––––––––––––––––––––––––––– */


/*　Table
–––––––––––––––––––––––––––––––––––––––––––––––––– */


/*　Page top
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}

#pageTop i {
  padding-top: 6px
}

#pageTop a {
  font-size: 20px;
  display: block;
  z-index: 99999;
  padding: 8px 0 0 0px;
  border-radius: 30px;
  width: 50px;
  height: 50px;
  background-color: #BBBBBB;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*　Page In
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.page-in {
  opacity: 0;
  transition-duration: 2600ms;
  transition-property: opacity;
}
.page-in-up {
animation-name:fadeUpAnime;
animation-duration: 1000ms;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(50px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}
/*　Scroll Fade In
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.fade-in {
  opacity: 0;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
}
.fade-in-up {
  transform: translate(0, 50px);
}
.fade-in-down {
  transform: translate(0, -50px);
}
.fade-in-left {
  transform: translate(-50px, 0);
}
.fade-in-right {
  transform: translate(50px, 0);
}
.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}
.scroll-in-up {
  opacity: 1;
  transform: translate(0, 50px);
}

/*　Form
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#mailformpro .form-area {
    width: 70%;
    margin: 0 auto;
}
#mailformpro .form-area label {
  display: flex;
  justify-content: space-between;
  align-self: flex-start;
}

#mailformpro .form-area label:not(:last-child) {
  margin-bottom: 30px;
}

#mailformpro .form-area span.form-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: flex-start;
  padding-top: 13px;
  width: 28%;
  font-weight: 700;
}
#mailformpro .form-area span.form-input {
  width: 65%;
}
#mailformpro .form-area .required {
  padding: 5px 8px;
  color: #fff;
  line-height: 1;
  background-color: #E43D3D;
  border-radius: 6px;
  font-weight: normal;
  font-size: 1.2rem;
  margin-left: 1em;
}

#mailformpro .form-area input[type="text"],
#mailformpro .form-area input[type="email"],
#mailformpro .form-area textarea {
   padding: 15px;
    width: 100%;
}

#mailformpro textarea {
  width: 100%!important;
  height: 300px!important;
}
#mailformpro .form-area p.privacy-title {
    font-weight: bold;
}
.privacy-policy {
    width: 100%;
    height: 400px;
    overflow-x: hidden;
    overflow-y: scroll;
    border: 1px solid #D1D1D1;
    padding: 15px;
}
.privacy-policy h3{
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0;
    padding: 0;
    
}
.privacy-policy h4 {
    font-size: 1.4rem;
    font-weight: bold;
    margin: 1em 0 0.5em 0;
    padding: 0;
    
}
.privacy-policy p {
    font-size: 1.4rem;
    line-height: 1.4;
}
#mailformpro .form-area label.check-area {
    justify-content: center;
    background-color: #ECECEC;
    margin: 30px auto;
    width: 70%;
    padding: 15px;
    text-align: center;
}
/*#mailformpro .form-area label div {
    width: 100%;
    display: inline-block;
}
#mailformpro .form-area label.check-area .required {
    margin-left: 1em;
}*/
#mailformpro .form-btn-area {
    display: block;
    text-align: center;
}
#mailformpro .form-btn-area p {
    font-size: 1.3rem;
    width: 70%;
    text-align: left;
    margin: 0 auto;
}
#mailformpro .form-btn {
    color: #FFFFFF;
    padding: 6px 40px;
    border-radius: 20px;
    background: #036ea8;
    border: none;
    font-size: 2rem;
    margin: 40px 0 20px;
    text-shadow: none;
}
#mailformpro .form-btn:hover {
    background-color: #2185BB;
    box-shadow: none;
}

@media(max-width:768px) {
    #mailformpro .form-area {
    width: 90%;
}
    #mailformpro .form-area label {
  flex-direction: column;
}
    #mailformpro .form-area span.form-title {
    width: 100%;
    justify-content: flex-start;
    margin-bottom: 1em;
}
#mailformpro .form-area span.form-input {
  width: 100%;
}
    #mailformpro .form-area label.check-area {
    width: 100%;
  flex-direction: row;
}
    #mailformpro .form-btn-area p {
    width: 100%;
}
}

.top-headtext-container {
    margin-top: 30px;
}
.top-headtext-container .catch {
    color: #036ea8;
    font-size: 200%;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 15px;
}
.top-headtext-container h1.lp-title {
    margin: 50px 0 0;
}
.top-headtext-container h1.lp-title img {
    margin: 0 auto;
    width: 50%;
}
@media(max-width:768px) {
    .top-headtext-container .catch {
    font-size: 2.6rem;
}
    .top-headtext-container h1.lp-title {
    margin: 30px 0 0;
}
.top-headtext-container h1.lp-title img {
    margin: 0 auto;
    width: 80%;
}    
}
@media(max-width:599px) {
    #top-visual{
        padding-bottom: 0;
    }
    .top-headtext-container {
    margin-top: 10px;
}
    .top-headtext-container .catch {
    font-size: 2rem;
}
    .top-headtext-container h1.lp-title img {
    margin: 0 auto;
    width: 100%;
} 
}
div.tokkyo{
    display: block;
    width: 11em;
    color: #036ea8;
    border: 1px #036ea8 solid;
    text-align: center;
    font-size: 110%;    
    padding: 0.2em 0.8em;
    margin: 0 auto;
}
.top-visual-container {
    background-image: url("../images/top-visual-bg.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
}
.top-visual-img {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.top-visual-img div{
    width: 50%;
}
.top-visual-img div img{
    width: 75%;
    height: auto;
}
.top-visual-img div img.item-L{
     margin: 0 10px 0 auto;
}
.top-visual-img div img.item-R {
     margin: 0 auto 0 10px;
}
@media(max-width:768px) {
    .top-visual-img div{
    margin-top: 20px;
}
    .top-visual-img div img{
    width: 90%;
    height: auto;
}
}
@media(max-width:599px) {
    .top-visual-img div img{
    width: 100%;
    height: auto;
}
}
.top-link-container {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    background-color: #FFF;
}
.top-link-container {
    border-radius: 12px;
    padding: 15px 30px;
    margin: 40px 0;
    border: 1px #BBBBBB solid;    
}
.top-link-container div{
    padding: 10px 0;
    line-height: 1.4;
    font-size: 120%;    
}
.top-link-container div .news{
    color: #c30d23;
    display: inline-block;
    padding: 0 0.5em 0;
    border: 1px #c30d23 solid;
    margin-right: 1em;
    font-weight: bold;
    font-size: 80%;
    
}
.top-link-container div .link-btn a{
    color: #FFF;
    background-color: #036ea8;
    display: inline-block;
    padding: 0.1em 0.8em 0.2em;
    border: 1px #036ea8 solid;
    border-radius: 6px;
    margin-left: 1.5em;
    font-size: 80%;
}
@media(max-width:768px) {
    .top-link-container div{
    line-height: 1.4;
    font-size: 110%; 
    display: flex;
    flex-direction: column;
}
    .top-link-container div span{
    margin-bottom: 0.5em;
}
    .top-link-container div .news{
    margin-right: 0;
}
    .top-link-container div .link-btn {
    text-align: center;
}
    .top-link-container div .link-btn a{
    margin: 0 auto;
}
}
.main-title-container {
    text-align: center;
    background-image: url("../images/circle.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: auto 100%;
    padding: 20px 0;
}
.main-title-container .sub-title {
    font-size: 140%;
    margin: 0;
    padding: 0;
}

.main-title-container .main-title {
    color: #5bb431;
    font-weight: bold;
    font-size: 300%;
    margin: 0;
}
.main-lead {
    text-align: center;
    font-size: 180%;
    font-weight: bold;
    margin: 20px 0 0 0;
}
.underline {
    text-decoration: underline;
  text-underline-offset: -0.2em;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255,230,0,0.60);
  text-decoration-skip-ink: none;
}
@media(max-width:599px) {
    #main-contents {
        padding-top: 0;
        padding-bottom: 0;
    }
    .main-title-container .main-title {
    font-size: 2.2rem;
    margin: 0;
    padding: 0;
}
    .main-title-container .sub-title {
    font-size: 1.8rem;
    margin: 0;
    padding: 0;
}
    .main-lead {
    font-size: 1.7rem;
}
}
.main-content-container {
    display: flex;
    padding-top: 30px;
}
.main-content-container div {
    width: 50%;
}
.main-content-text div {
    width: 100%;
    margin-bottom: 20px;
    padding: 1em 1.2em 0.3em 1.5em;
    background-color: #f1f7e8;
    box-sizing: border-box;
}
.main-content-text div sub{
    vertical-align: baseline;
}
.main-content-text-title {
    color: #5bb431;
    font-weight: bold;
    font-size: 128%;
    line-height: 1.4;
    margin-bottom: 5px;
}

.main-content-img {
    margin-left: 20px;
}
.main-content-img div{
    width: 100%;
}
.main-content-img div img{
    margin-bottom: 20px;
}
@media(max-width:768px) {
    .main-content-container {
    flex-direction: column;
}
    .main-content-container div {
    width: 100%;
}
    .main-content-img {
    margin-left: 0;
}
}
@media(max-width:599px) {
    .main-content-text-title {
    font-size: 1.8rem;
    line-height: 1.4;
}
    .main-content-text div p {
    line-height: 1.4;
}
}
.contact-container {
    text-align: center;
}
.btn-contact {
	display: block;
	width: 80%;
	height: auto;
	line-height: 1.4;
	font-size: 20px;
	text-align: center;
	text-decoration: none;
	background: #036ea8;
	color: #fff;
	border-radius: 10px;
    margin: 0 auto;
    padding: 1em 2em;
}
.btn-contact i{
    margin-right: 0.5em;
}
@media(max-width:768px) {
    .btn-contact i{
    margin-right: 0;
        display: block;
        font-size: 3rem;
}
}
@media(max-width:599px) {
    .btn-contact {
	display: block;
	width: 90%;
	height: auto;
	line-height: 1.4;
	font-size: 1.8rem;
	text-align: center;
	text-decoration: none;
	background: #036ea8;
	color: #fff;
	border-radius: 10px;
    margin: 0 auto;
    padding: 1em;
}
}
#contact-page {
    background-color: #E5E5E5;
    display: flex;
  flex-direction: column;
  min-height: 100vh;
}
#contact-page #contents-area {
        flex: 1;
}
#contact-page .main {
    background-color: #FFF;
    margin-top: 60px;
    border-radius: 20px;
}
#contact-page .main h1.content-title {
    font-weight: bold;
    text-align: center;
    margin: 50px 0;
    font-size: 3rem;
}

#contact-page .btn-back {
	display: block;
	width: 40%;
	height: auto;
	line-height: 1.4;
	font-size: 18px;
	text-align: center;
	text-decoration: none;
	background: #777;
	color: #fff;
	border-radius: 10px;
    margin: 60px auto 20px;
    padding: 0.7em 1.5em;
}
@media(max-width:599px) {
    #contact-page .main {
    margin: 40px 10px 40px;
    }
    #contact-page .main h1.content-title {
    font-size: 2.4rem;
}
    #contact-page .btn-back {
        width: 60%;
    }
}
.sub-content-wrap {
    padding: 2em;
    border: 20px #D3E0E7 solid;
    box-sizing: border-box;
}
h3.sub-content-title {
    font-weight: bold;
    font-size: 130%;
}
.sub-content-container {
    display: flex;
    justify-content: space-between;
}
.sub-content-container div {
 
}
.sub-content-container .img-box {
    width: 35%;
}
.sub-content-container .text-box {
    width: 60%;
}
@media(max-width:768px) {
    .sub-content-container {
    flex-direction: column;
}
    .sub-content-container div {
    width: 100%;
}
    .sub-content-container .img-box {
    width: 90%;
    margin: 0 auto 1.5em;
}
    .sub-content-container .text-box {
    width: 100%;
}
}
.sdgs {
    border: none;
}
.circle-list li {
    text-indent: -1em;
    padding-left: 1em;
}