main {
    padding: 150px 0 0 0
}

@media screen and (max-width: 750px) {
    main {
        padding: 120px 2% 0
    }
}

body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 14px;
    line-height: 1.7;
    overflow-x: hidden
}

@media screen and (max-width: 750px) {
    body {
        font-size: 16px
    }
}

.w960 {
    max-width: 960px;
    display: block;
    margin: 0 auto 2% auto
}

@media screen and (max-width: 980px) {
    .w960 {
        width: 100%
    }
}

@media screen and (max-width: 750px) {
    .w960 {
        width: 100%
    }
}

.w1200 {
    max-width: 1200px;
    display: block;
    margin: 2% auto
}

@media screen and (max-width: 980px) {
    .w1200 {
        padding: 0 5%;
        width: 100%
    }
}

@media screen and (max-width: 750px) {
    .w1200 {
        width: 100%
    }
}

.pcOnly {
    display: block !important
}

@media screen and (max-width: 750px) {
    .pcOnly {
        display: none !important
    }
}

.spOnly {
    display: none !important
}

@media screen and (max-width: 750px) {
    .spOnly {
        display: block !important
    }
}

img {
    width: 100%
}

@media screen and (max-width: 750px) {
    img {
        width: 100%
    }
}
[id] { scroll-margin-top:110px;}
#header {
    position: fixed;
    z-index: 99;
    width: 100%;
    background-color: #fff;
    -webkit-box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, .3);
    box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, .3)
}

.head__box {
    margin: 2% auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 1200px;
    font-size: 17px;
    position: relative
}

@media screen and (max-width: 750px) {
    .head__box {
        margin: 0
    }
}

@media screen and (max-width: 750px) {
    .head__left {
        margin: 20px 0 10px 20px
    }
}

.head__left-logo {
    width: 144px
}

.head__left-logo2 {
    display: none
}

@media screen and (max-width: 750px) {
    .head__left-logo2 {
        width: 144px
    }
}

.head__cp-name {
    margin-left: 12px;
    font-weight: bold;
    font-size: larger
}

@media screen and (max-width: 750px) {
    .head__cp-name {
        font-size: 11px;
        text-align: center;
        margin-left: 0
    }
}

.head__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    font-size: 15px
}

@media screen and (max-width: 750px) {
    .head__right {
        width: 0
    }
}

.head__lang {
    background-color: #5a7a93;
    color: #fff;
    border-radius: 20px;
    border: solid 2px #5a7a93;
    width: 150px;
    text-align: center;
    padding: 5px;
    margin-left: 20px;
    position: relative;
    z-index: 1;
    -webkit-transition: all .2s;
    transition: all .2s
}

@media screen and (max-width: 750px) {
    .head__lang {
        width: 50%;
        font-size: 12px;
        padding: 5%
    }
}

.head__lang:hover {
    color: #5a7a93;
    padding: 5px;
    background-color: #fff;
    border: solid 2px #5a7a93;
    -webkit-transition: all .2s;
    transition: all .2s
}

.head__ask {
    border-radius: 20px;
    border: solid 2px #1599d6;
    width: 150px;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px 27px 5px 10px;
    background-color: #fff;
    background-position: right 15px center;
    background-repeat: no-repeat;
    background-size: 17px 12px;
    background-image: url(../../images/min/mail-icon.png);
    color: #1599d6;
    text-align: center;
    -webkit-transition: all .2s;
    transition: all .2s
}

.head__ask:hover {
    color: #fff;
    background-color: #1599d6;
    background-image: url(../../images/min/mail-icon-wh.png);
    -webkit-transition: all .2s;
    transition: all .2s
}

@media screen and (max-width: 750px) {
    .head__ask {
        width: 50%;
        font-size: 12px;
        padding: 5%;
        margin-left: 5%
    }
}

.head__nav {
    width: 100%;
    margin: auto 0 0
}

.head__nav__box {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.head__nav__item {
    margin: 0 4%
}

.head__nav {
    width: 100%;
    color: #111;
    text-align: center
}

.head__nav li {
    display: inline-block;
}

.mega__ttl {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: left;
    width: 100%
}

.mega__list {
    font-size: 16px;
    position: relative;
    min-width:25%;
    text-align:left;
    padding-left:1rem;
    margin: 5px 0;
}

.mega__list::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #1599d6;
    border-right: solid 2px #1599d6;
    position: absolute;
    left:0;
    top: 10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.mega__lists {
    width: 800px;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    padding:30px 100px;
    color: #111;
    background: #fff;
    visibility: hidden;
    border-radius:0 0 10px 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap:0 2rem;
    box-shadow:0px 10px 20px -10px rgba(0, 0, 0, .3);
}

.head__nav__item:hover .mega__lists {
    visibility: visible
}

.mega__lists a:hover {
    color: #1599d6
}

.kv__img {
    max-width: 1600px;
    border-radius: 20px;
    display: block;
    margin: 0 auto
}

.gb-card {
    position: relative
}

.gb-card img {
    border: 1px solid #5a7a93;
    border-radius: 15px;
    max-width: 374px;
    height: 240px;
    object-fit: cover;
}

.gb-card p {
    position: absolute;
    background: #fff;
    padding: 10px 20px 10px 30px;
    border: 1px solid #5a7a93;
    border-radius: 20px;
    bottom: -15px;
    left: 30px;
    font-size: 17px !important;
    line-height: 1 !important
}

.gb-card p::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 18px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border: 5px solid rgba(0, 0, 0, 0);
    border-left: 8px solid #111
}

.gb-news ul {
    list-style: none !important;
    margin-left: 3% !important
}

.gb-news ul li {
    border-bottom: 1px dotted rgba(96, 96, 96, .4274509804);
    padding: 10px 0
}

.gb-news ul li:hover {
    background: #ededed
}

.gb-news ul li a {
    border-bottom: none;
    color: #111 !important
}

.gb-news ul li h6 a {
    position: relative
}

.gb-news ul li h6 a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border: 3px solid rgba(0, 0, 0, 0);
    border-left: 5px solid #1599d6
}

@media screen and (max-width: 750px) {
    .gb-news ul li h6 {
        width: 100%;
        text-align: left;
        margin-left: 1%
    }
}

@media screen and (max-width: 750px) {
    .gb-news ul .is-nowrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

#news {
    margin: 36px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1200px
}

.news__box {
    width: 500px;
    height: 200px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: bold
}

.news__ttl-lg {
    font-size: 40px;
    color: #111
}

.news__ttl-sm {
    font-size: 18px;
    color: #1599d6;
    margin-bottom: 60px
}

.news__btn {
    border-radius: 20px;
    border: solid 2px #1599d6;
    width: 150px;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px 15px;
    background-color: #fff;
    color: #1599d6;
    text-align: center;
    -webkit-transition: all .2s;
    transition: all .2s;
    position: relative
}

.news__btn:hover {
    color: #fff;
    background-color: #1599d6;
    -webkit-transition: all .2s;
    transition: all .2s
}

.news__container {
    margin: 0 12px;
    width: 100%
}

.news__topic {
    width: 100%;
    padding: 12px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px dotted rgba(96, 96, 96, .4274509804)
}

.news__topic:hover {
    background: #ededed
}

.news__topic__ttl {
    margin-left: 36px
}

.topic__unit {
    width: 100%;
    margin: 1%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.topic__card {
    margin: 1%;
    width: 50%;
    border: 1px solid rgba(96, 96, 96, .4274509804)
}

.topic__card__img {
    width: 100%;
    height: 83%
}

@media screen and (max-width: 750px) {
    .topic__card__img {
        height: 65%
    }
}

.topic__card__txt {
    font-weight: bold;
    padding: 20px 10px
}

.topic__card__txt::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(../../images/min/arrow.png);
    background-size: contain;
    vertical-align: text-bottom;
    margin: 0 5px
}

.banner__unit {
    max-width: 750px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.banner__card {
    width: 48%;
    margin: 5% 2% 7%
}

#footer {
    padding: 5%;
    background-color: #f8f2e6;
    margin-top: 120px;
}

@media screen and (max-width: 750px) {
    #footer {
        padding: 5%
    }
}

.footer__cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1200px
}

.footer__col {
    width: 30%;
    padding-top: 40px
}

@media screen and (max-width: 750px) {
    .footer__col {
        width: 40%;
        padding-top: 5%
    }
}

.footer__logo {
    width: 150px;
    display: block
}

@media screen and (max-width: 750px) {
    .footer__logo {
        width: 100%
    }
}

.footer__txt {
    font-weight: bold;
    font-size: 20px;
    margin: 1%
}

@media screen and (max-width: 750px) {
    .footer__txt {
        font-size: 15px
    }
}

.footer__col2 {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around
}

@media screen and (max-width: 750px) {
    .footer__col2 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 50%
    }
}

.footer__arrow {
    padding: 40px 10px 8px;
    display: block;
    font-size: 16px;
    position: relative;
    border-bottom: 1px solid #5a7a93
}

@media screen and (max-width: 750px) {
    .footer__arrow {
        padding: 5%;
        width: 150px
    }
}

.footer__arrow::before {
    content: "";
    position: absolute;
    top: 70%;
    left: -5px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border: 5px solid rgba(0, 0, 0, 0);
    border-left: 8px solid #5a7a93
}

@media screen and (max-width: 750px) {
    .footer__arrow::before {
        top: 50%;
        left: -5%
    }
}

.footer__copy {
    font-size: 12px;
    margin-top: 3%;
    color: #5a7a93
}

@media screen and (max-width: 750px) {
    .footer__copy {
        margin-top: 10%
    }
}

.contact7 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;	
}
.contact7.qcm_itemlist figure {
  text-align: center;
}
.contact7.qcm_itemlist figure img {
	width: 199px!important;
}
.contact7 caption {
  margin: 20px 0;
  border-bottom: 1px solid #034097;
}
.contents .contact7 p {
    margin-bottom: 0
}

.contact7 dd {
	width: 75%;
    border-bottom: 1px solid #ccc;
  padding: 10px !important;
}

.contact7 dt {
	padding: 10px;
	width: 25%;
    font-weight: normal;
	border-bottom: 1px solid #ccc;
}

.contact7 .must {
    background: #ff1a00
}

.contact7 .optional {
    background: #999
}

.contact7 .must,
.contact7 .optional {
    color: #fff;
    border-radius: 3px;
    font-size: 10px;
    margin-left: 10px;
    padding: 5px 10px;
    letter-spacing: 2px
}

.btn_contact7 {
    text-align: center;
	clear: both;
	padding-top: 50px;
}

.btn_contact7 input {
    background-color: #034097;
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
    letter-spacing: .1em;
    border: 1px solid #034097;
    -webkit-transition: .3s;
    transition: .3s;
	padding: 0 20px;
}

.btn_contact7 input:hover {
    background-color: #fff;
    color: #034097
}
.consent {  margin-top: 40px; text-align: center; }
@media screen and (min-width: 768px) {
    .contact7 dt {
        width: 25%;
        padding: 10px;
    }

    .contact7 dd {
					width: 75%;
    }

    .btn_contact7 input {
        width: 100%;
        background-color: #034097;
        color: #fff;
        font-size: 1.1em;
        font-weight: bold;
        letter-spacing: .2em;
        border: 1px solid #034097;
        -webkit-transition: .3s;
        transition: .3s
    }

    .btn_contact7 input:hover {
        background-color: #fff;
        color: #034097
    }
}

.smb-accordion__item__title {
    background-color: #034097;
    color: #fff
}

.smb-accordion__item__title__icon {
    color: #fff
}

.wpcf7-width {
    width: 100%
}

.wpcf7-width95 {
    width: 95%
}

.arrow {
    position: relative;
    display: block;
    cursor:pointer;
}

.arrow::after {
    content: "";
    position: absolute;
    top: 11px;
    right: -15px;
    border: 5px solid rgba(0, 0, 0, 0);
    border-top: 5px solid #1599d6
}

.arrow::before {
    position: absolute;
    left: 0;
    content: "";
    width: 100%;
    height: 2px;
    background: #1599d6;
    bottom: -1px;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s
}

.head__nav__item:hover .arrow::before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.mb-0 { margin-bottom: 0!important; }




/*---  clean_menu  ----------------------------------*/
.clean_menu, .qcm_menu {
	margin-bottom: 40px;
	padding: 20px;
  background-color: #034097;
  border-radius: 15px;
}
.clean_menu ul, .qcm_menu ul {
  margin: 0;
  padding: 0;
	display: flex;
	justify-content:space-between;
	margin-bottom: 0!important;
	margin-left: 0!important;
  list-style: none!important;
}
.clean_menu ul li {
	padding-bottom: 10px;
	width: 23%;
	height: 179px;
	text-align: center;
  background-color: #b9d2f4;
	border-radius: 15px;
}
.qcm_menu ul li {
	/*padding-bottom: 10px;*/
	width: 19%;
	height: 179px;
	text-align: center;
  background-color: #b9d2f4;
	border-radius: 15px;
}
.clean_menu ul li a, .qcm_menu ul li a {
	transition: opacity 0.3s ease;
}
.clean_menu ul li a:hover, .qcm_menu ul li a:hover {
	opacity: 0.6;
}
.clean_menu ul li img, .qcm_menu ul li img {
	width:  auto;
	height: 100%;
}
.biclecaMenu__ttl, .qcm__ttl {
  background-color: #034097;
  color: #fff;
  border-radius: 8px;
  padding: 10px 0;
	margin: 0 auto 2%!important;
}
.biclecaMenu__topic, .qcm__topic {
  border-bottom: 1px dotted #000;
	margin: 2% 0!important;
}
a.biclecaMenu__topic:hover, a.qcm__topic:hover {
  color: #1000CC;
}
.biclecaMenu__topic__date, .qcm__topic__date {
  margin: 0 3% 0 1%!important;
}
@media screen and (max-width: 720px) {/* smartphone */
  .clean_menu, .qcm_menu {
		padding: 10px;
    width: 100%;
		border-radius: 7px;
  }
	.qcm_menu ul {
    flex-wrap: wrap;
		justify-content: center;
  }
	.clean_menu ul li {
    width: 23%;
    height: 100px;
		border-radius: 5px;
  }
	.qcm_menu ul li {
    width: 31%;
    height: 100px;
    border-radius: 5px;
    margin-bottom: 10px;
		padding-bottom: 0;
  }
	.qcm_menu ul li:nth-child(2) {
    margin: 0 13px;
  }
	.qcm_menu ul li:nth-child(4) {
    margin-right: 13px;
  }
	.qcm_menu ul li:nth-child(4), .qcm_menu ul li:nth-child(5) {
    margin-bottom: 0;
  }
	.biclecaMenu__topic, .qcm__topic {
    display: block!important;
   }
	.biclecaMenu__topic__date, .qcm__topic__date {
    margin: 0!important;
  }
  .contact7 dd {
		margin-bottom: 20px;
    width: 100%;
		border-bottom: none;
  }
  .contact7 dt {
    width: 100%;
		border-bottom: none;
		background-color: #f2f2f2;
  }
}