html.scrollmenu-open, html.scrollmenu-open body {height: 100%; overflow: hidden;}/* common */body {font-size: 1.4rem;}/* html */html.scrollmenu-open {width: 100%;height: 100%;overflow: hidden;}/* header */#header {position: fixed;width: 100%;z-index: 100;transition: .5s;height:60px;background: linear-gradient(120deg, rgba(32, 99, 199, 1) 20%, rgba(33, 108, 206, 1) 50%, rgba(0, 145, 255, 1) 50%, rgba(61, 200, 255, 1) 100%);}#header_inner{height:60px;justify-content:space-between;align-items: center;}#header h1 {display:block;margin-left:5%;text-align:left;}#header h1 a {display:block;color:#FFF;}#header h1 img {width:50%;vertical-align: -9px;}/* hamburger-menu */.hamburger{	position: relative;	padding:0 2rem;	z-index:2;	-webkit-tap-highlight-color:transparent;	cursor:pointer;}.hamburger .line{	display: block;	position: relative;	width: 20px;	height: 2px;	margin: 6px auto;	background-color: #fff;	-webkit-transition: all 0.3s ease-in-out;	-o-transition: all 0.3s ease-in-out;	transition: all 0.3s ease-in-out;}.hamburger:hover{cursor: pointer;}.hamburger.active{-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);}.hamburger:before{content: "";position: absolute;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;width: 32px;height: 32px;top: calc(50% - 16px);left: calc(50% - 16px);border: 2px solid transparent;border-radius: 100%;-webkit-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out;}.hamburger.active:before{border: 2px solid #FFF;}.hamburger.active .line{width: 20px;}.hamburger.active .line:nth-child(2){opacity: 0;}.hamburger.active .line:nth-child(1){-webkit-transform: translateY(8px);-ms-transform: translateY(8px);-o-transform: translateY(8px);transform: translateY(8px);}.hamburger.active .line:nth-child(3){-webkit-transform: translateY(-8px) rotate(90deg);-ms-transform: translateY(-8px) rotate(90deg);-o-transform: translateY(-8px) rotate(90deg);transform: translateY(-8px) rotate(90deg);}/*hamburger-menus*/.hamburger-menus{position: fixed;z-index:1;top:60px;left:0;width:100%;height:calc(100% - 60px);visibility:collapse;opacity:0;transition: opacity 0.2s ease-out;background-color: rgba(255, 255, 255,.95);overflow: scroll;}.hamburger-menus ul{padding: 0 16rem 12rem;}.hamburger-menus ul li {position: relative;display: flex;flex-direction: column;align-items: left;}.hamburger-menus ul li:before {content: "";position: absolute;bottom: 0;left: 0;width: 0;height: 1px;background-color: #2063c7;opacity:0;transition: all 0.2s 0.4s ease;}.hamburger-menus ul li a {padding: 3rem 3rem;color: #2063c7 !important;opacity:0;transition: opacity 0.2s 0.2s ease ,padding 0.2s 0.2s ease,background-color 0.3s ease;}.hamburger.active ~ .hamburger-menus{visibility:visible;opacity:1;}.hamburger.active ~ .hamburger-menus ul li:before {opacity:1;width: 100%;}.hamburger.active ~ .hamburger-menus ul li a {opacity:1;padding: 8rem 3rem;}.hamburger.active ~ .hamburger-menus ul li a:hover {font-weight:900;background-color: rgba(50, 125, 255,.3);}@media all and (max-width: 480px) {html.scroll-off, html.scroll-off body {height: 100%; overflow: hidden;}}/* gnavi-sp */#gnavi-sp{	width:60px;	display: flex;	justify-content: center;	align-items: center;}.hamburger-menus ul{padding: 1rem;}.hamburger-menus ul li a {padding: 0rem 2rem;}.hamburger.active ~ .hamburger-menus ul li a {padding: 1.5rem 2rem;}#hamburger-menus-sns{width:90%;margin:3rem auto;}.hamburger-menus #hamburger-menus-sns ul li:before {content: none;}#hamburger-menus-sns p{font-weight:900;color:#fff;text-align:center;}#hamburger-menus-sns ul {display: flex;justify-content: center;align-items: center;}#hamburger-menus-sns ul li {position: relative;padding: 0;margin:0 2rem 3rem;}#hamburger-menus-sns ul li a {padding: 0rem;color:#FFF;}#hamburger-menus-sns svg {width: 8vw;height: 8vw;vertical-align: top;fill:#2063c7;}/*page*/#toppage {padding-top: 60px;}#page {padding-top: 0;}.section-header h2 {    font-size: 7vw;text-shadow: 1px 3px #FFF, 1px -3px #FFF, -1px 3px #FFF, -1px -3px #FFF, 2px 2px #FFF, 2px -2px #FFF, -2px 2px #FFF, -2px -2px #FFF, 3px 1px #FFF, 3px -1px #FFF, -3px 1px #FFF, -3px -1px #FFF;}.section-header h2:after {font-size: 1.2rem;}.section-header p {font-size: 1.3rem;width:100%;}/* mainvisual */#toppage #mainvisual {position: relative;width:100%;}#toppage .mv-name {    position: absolute;    top: 34%;    left: 10%;    transform: translateY(-50%);    z-index: 2;    width: 18vh;    max-width: 260px;}#toppage .mv-name p {font-size:4vw;margin-bottom:8px;}#toppage .mv-catchcopy {    position: absolute;    top: 76%;    left: 50%;    transform: translate(-50%,-50%);    z-index: 2;    width: 60%;}div.arrows {position: absolute;z-index: 5;width: 30px;height: 40px;margin: auto;bottom: 20px;left: 50%;}div.arrows b {width: 150%;top: -15px;left:50%;transform: translateX(-50%);margin:0;line-height:1;}div.arrows span::before, div.arrows span::after {border-bottom: 3px solid #FFF;}div.arrows span {}div.arrows span:nth-of-type(1) {top: 0px;}div.arrows span:nth-of-type(2) {top: 10px;}div.arrows span:nth-of-type(3) {top: 20px;}/*latest_news*/#latest_news {display: block;padding:3rem 0;}#latest_news:before {    display: block;    font-size: 1.4rem;    line-height:1.6;    width: auto;    margin-bottom:1rem;    padding:0 1rem;    text-align:center;}#latest_news:after { transform: rotate(-16deg)skewX(-16deg)scale(1.4)translate(0,-40%);}#latest_news ul {    width: 100%;}/*resume*/#prof-image {    width: 33vw;    top: -55%;    right: 0;    position:absolute;    z-index:2;    overflow:visible;}#profile-name {    position:relative;    width: 100%;    overflow:visible;    z-index:2;}#profile-name h3 {width:65%;}#profile-name h3 span:nth-of-type(2) {    font-size: 9vw;}#resume nav {  margin-top:3vw;    gap: 3vw 3%;}#resume nav li {    flex-basis: calc(97% / 2);}/*breadcrumb*/#top_breadcrumb {margin-top: 60px;}.breadcrumb ol { width:92%;}.breadcrumb { font-size: 1.2rem; padding: 0.25rem 0; }/* aisatsu */#aisatsu .section-header {padding: 5rem 0 0;}#aisatsu h2{line-height:1.4;margin-bottom:1.5rem;}#aisatsu .parallax_content {background-size: cover;background-position: center top;padding:0 0 4rem;}#aisatsu .content {width: 90%;padding: 2rem;font-size:1.4rem;letter-spacing:1px;margin:auto;}#aisatsu .content div span{display:block;}#aisatsu .content div span:nth-of-type(1) {font-size:1.2rem;letter-spacing:0;}#aisatsu .content div span:nth-of-type(2) {line-height:1;font-size:2.1rem;white-space:nowrap;}/*policy*/#policy {background-color: #f5f5f5;}#policy:before {    background-size: cover;}#policy .section-header {top: 15vw;left: 0%;width:100%;}#policy .section-header h2 {}#policy .section-header p {font-size: 3vw;margin-top: .5em;}#policy .section-body{    padding-top: 25vh;}#policy .no {font: 900 5rem/1 "Arial",sans-serif;letter-spacing: -.5rem;color: #0099DD;width: 50%;}#policy .content {margin:0 auto;padding: 0;display: flex;justify-content: center;align-items: center;flex-wrap:wrap;}#policy .body {width: 90%;background:rgba(255,255,255,.9);padding:3rem;order:2;margin-top:0;margin-bottom:4rem;}#policy .header {font-size: 2rem;line-height:1.2;color: #0099DD;margin-bottom: 1rem;}#policy .section-body p {    font-size: 1.4rem;}#policy .image {width: 100%;order:1;margin-left:0;display:flex;}#policy .image img {width: 100%;}#policy .image figure {width:calc(86%);padding:0;transform: translate(0) rotate(0) !important;margin:0 auto;}#policy .content:nth-of-type(5) .body {    margin-top: 0;}#policy #link-vtr {    padding: 0 3rem;    top: 0;}#policy #link-vtr a {    width: 100%;}#policy .content .body {margin-right:0;padding:2rem !important;}#policy .content {margin-bottom:3vw;}#policy .content:last-child {margin-bottom:0;}#policy .body .jitsugen:after {top:0;}#leaflet-link a {    width: 90%;    font-size: 1.6rem;   }.category-leaflet #article.archive ul{width:100%;justify-content: space-between;}.category-leaflet #article.archive li {flex-basis: calc((100% - 20px) / 2) ;margin:0 0 20px;}.category-leaflet #article.archive li:nth-of-type(2n) {margin-right: 0;}.category-leaflet #article.archive li:nth-of-type(3n) {margin-right: inherit;}.category-leaflet #article.archive li a {font-size:1.4rem;}/*topics*/#topics .section-body {    display: block;}#topics .flex-item {    display: block;}#topics .flex-item:nth-of-type(1) a {    font-size: 100%;}#topics .flex-item:nth-of-type(1) svg {    width: 2.4vw;    height: 2.4vw;    vertical-align: -2px;    margin-right: 1px;}#topics .recent-posts-list {margin-top:3vw;}#topics .recent-posts-list a {    font-size: 100%;;}#topics .recent-posts-list svg {    width: 2.4vw;    height: 2.4vw;    vertical-align: -2px;    margin-right: 1px;}/*yotube*/#youtube {    padding: 5vw 5vw;}#youtube .section-header {    padding: 4rem 0 2rem;    max-width: auto;}#youtube h3 {    font-size: 3.6rem;    text-align:center;}#youtube h3 svg.icon {width: 4rem !important;height: 4rem !important;vertical-align: -7px !important;}#youtube p.follow {margin-bottom:3vw;}#youtube p.follow a {    display: block;    text-align:center;}#youtube .section-body {    display: block;    max-width: none;}#youtube .inner {flex-wrap:wrap;}#youtube .iframewrapper {width: 100%;padding-top: calc(100% * 0.5625);}/* sns links */#sns-links .section-body {    width: 90%;    gap: 4%;}#sns-links li {    width: calc(80% / 5);}#sns-links li a {}#sns-links li svg { height: calc(80vw / 5);}#sns-links .sns-label {font-size:80%;}/*page-policy*/#policy-contents {max-width:1280px;padding:0 6rem;margin:0 auto;position: relative;z-index:1;}#policy-contents .description {background:#f5f5f5;padding:3rem 4rem;font-size:2.4rem;}#policy-contents .content {background:#f5f5f5;padding:3rem 4rem;display:flex;flex-wrap:wrap;}#policy-contents .content .no {font:900 7rem/1 "Arial",sans-serif;letter-spacing:-.5rem;color:#0099DD;width:50%;}#policy-contents .content .header {font-size:2.4rem;color:#0099DD;width:50%;margin-bottom:1rem;}#policy-contents .content .body {font-size:1.6rem;width:50%;}#policy-contents .content .image {background:#fff;width:50%;}/*resume*/#resume_inner {padding: 4rem 0;width: 90%;}#profile {width: 100%;margin: auto;}#history {width: 100%;margin: 3rem auto 0;}#history .card {margin: 10px auto;margin-left: 35px;padding: 5px;}#history .card::before {left: -27px;}#history .card .event {padding: 5px;}#history .card .event img {width:40%;}#profile h3 span:nth-of-type(1) {font-size: 1.6rem;}#profile h3 span:nth-of-type(2) {font-size: 3.2rem;}#profile h3 span:nth-of-type(3) {font-size: 1.6rem;}#profile dt, #profile dd {margin: 0 0 10px 0;}#resume nav a {    min-height: 100px;}/*contact*/#contact {padding-bottom:5rem;}#contact.img_bg_contact.lazyloaded {background-image: none;}#contact_wrapper {width: 100%;background-color: rgba(250, 250, 250,.7);}#contact #contact_inner {background-color: transparent;width: 90%;margin:auto;padding: 0;left: 0;transform: none;}#contact .section-header h2{height: 4rem;}#contact .section-header p {font-size: 1.3rem;}#contact .section-header ul {padding: 1.5rem;font-size: 1.2rem;}.contactform {margin: 0 auto;}.contactform .input-block {padding: .5rem;margin-bottom: 1rem;}.contactform .input-block label:nth-of-type(1) {font-size: 1.2rem;line-height:1.2;}.contactform .input-block .form-control {font-size: 1.2rem;}.contactform label span {font-size: 1.2rem;}.check-wrapper {font-size: 1.4rem;}.accept .custom-checkbox {width: 20px;height: 20px;}.accept .custom-checkbox .first-line {    top: 4px;    left: 2px;}.accept .custom-checkbox .second-line {    height: 18px;    bottom: 0px;    left: 11px;}#support #support-inner {    width: 100%;}#support .flex-wrapper a {font-size:110%; margin:2rem 0;}#support .flex-wrapper a:nth-of-type(1){margin-right:2rem;} /*access*/#access {padding-bottom:5rem;}#access .section-header h2{font-size: 3.6rem;height: 6rem;}#access h3 {font-size: 2.4rem;}#access dl {font-size: 1.4rem;line-height: 2;width: 90%;}#googlemap {width: 90%;height:50vh;}#googlemap iframe{height:100%;}/* リンクバナー */#link_banners {padding-bottom:4vw;}#link_banners .animate {    padding: 2vw;}#link_banners ul {gap: .75rem;}#link_banners a {    padding: .5rem 1.25rem;}/*footer*/#footer-menu-wrapper {width: 80%;padding: 40px 0 120px;}#footer-logo {flex-basis: 100%;margin-right: 0;}#footer-menu {flex-basis: 100%;align-content: center;margin-right: 0;height: 12em;}#footer-menu li {min-width: 40%;line-height: 1.6;}#footer-logo p.name {font-size: 10vw;letter-spacing: 1px;margin-bottom:1rem;}#footer-logo p span {font-size: 1.4rem;}#footer-logo ul {width: 40%;margin: 0 auto 30px;}#footer-logo svg {height: 30px;}#copyright {flex-basis: 100%;order:3;}#body:before{line-height: 1.3;    height: 50px;}#body .header { width:92%; padding: 20px 0;}#body .header h1 {    font-size: 5vw;}#body .header h1 a {    font-size: 5vw;}#body .header p {    margin: 0 0 0 6px;    font-size: 1rem;    border-top: 2px #fff solid;    border-bottom: 2px #fff solid;}#body #mainvisual {width:100%;border-radius:0;top: 0;}#body .section-header h2 {font-size:2.4rem;letter-spacing: 0;height: auto;}#page-contents.layout-1column{    width: 92%;}#page-contents.layout-1column #article { margin: 0 auto 20px;}#page-contents.layout-2column{    width: 92%;    top: 3vw;}/* page > reports */#body.page-reports #page-contents {width:92%;justify-content: space-between;padding-bottom:20px;}#page-contents .section {flex-basis:100%;margin-top:0px;padding:2rem 1.5rem 1.5rem;border-radius:1rem;}#body.page-reports p.follow {text-align:center;}#follow.home p {flex-basis: 100%;padding:.25rem 0;margin-bottom:1rem;margin-right:0;}#follow.home span {    position: static;    white-space: nowrap;}#follow.home ul {flex-basis: 100%;}.layout-2column {width: 92%;flex-wrap:wrap;}#article {    flex-basis: 100%;    width: 100%;    margin: 0 auto 20px;}#article.archive li {padding: 2rem 2rem 2rem 3rem;    border-radius: 1rem;    margin-bottom: 20px;}#article.archive li:before {    width: 5px;    left: 1.5rem;}#article.archive h3 {font-size:1.6rem;}#article.archive p {    font-size: 1.4rem;}.nav-links {    font-size: 100%;}#sidebar {    flex-basis: 100%;    width: 100%;    margin: 0 0 20px;    border-radius: 1rem;    border-top: 1rem #0099DD solid;    border-bottom: 1rem #0099DD solid;}#sidebar h3 {    letter-spacing: 1px;}#sidebar h3::before, #sidebar h3::after {    top: 45%;    width: 25%;}#sidebar #profile .avatar {    width: 50%;}.page-privacy-policy #page-contents{width:100%;}.page-privacy-policy #privacy-policy.section {    width: calc(100% - 40px);    margin: 0 auto;    padding: 2.5rem;}.page-privacy-policy #privacy-policy .section-header p {    font-size: 100%;    text-align: left !important;}#article #post {    padding: 2rem;    border-radius: 1rem;    font-size:1.4rem;}#body.search #article {    width: calc(100% - 40px);    margin-bottom:50px;}#article.search .search-result {    padding: 2rem;    border-radius: 1rem;    margin-bottom: 20px;    font-size:1.4rem;}#article.search li {    padding: 1.5rem;    border-radius: 1rem;    margin-bottom: 20px;}#article.search h3 {font-size:1.8rem;}#article.search p {    font-size:1.4rem;}#share,#follow {flex-wrap:wrap}#follow.layout-1column { width: 100%; margin:auto;}#share p,#follow p {font-size:10px;text-align:center;width:100%;flex-basis:100%;margin:0;}#share span,#follow span {font-size:1.6rem;}#follow li {}#share ul,#follow ul {width:92%;flex-basis:92%;justify-content: center;flex-wrap:wrap;gap:15px;}#share li,#follow li {margin: 5px;}#share li a,#follow li a {border-radius: 0.25rem;padding: 0;}#share svg,#follow svg {    display:block;    width:5vw;    height: 5vw;    vertical-align: -5px;}.profile-section-header div p {    width: 90%;    font-size:1.1rem;    line-height:1.3;}#body.page .header {    padding: 5vw 0 3vw;}