/* 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:80px;background: linear-gradient(90deg, rgba(255, 0, 0, 1) 40%, rgba(250, 250, 250, 1) 40%);}#header_inner{align-items: center;}#header h1 {width:40%;}#header h1 a {width: 33vw;max-width:150px;}#header h1 span {font-size: .9rem;}#header.menuopen-small {box-shadow: 0px 3px 3px 0px #c7c7c7;}.section-header h2 {font-size:clamp(3.6rem,5vw,6rem);}/* header-sns */#header-sns{width:calc(60% - 60px); padding-left:5%;}#header-sns ul{display: flex; justify-content: center;align-items: center;width:100%; height:100%;}#header-sns ul li {position:relative;flex-basis:calc(100% / 9);max-width:calc(100% / 9);text-align:center;margin:0 auto;}#header-sns ul li a {display:block;}#header-sns svg {width: 100%;height: 20px;vertical-align:top;}#header-sns ul li a:hover svg {transform-origin: center; transform: scale(1.1);fill:#A10;}#header.menuopen-small #header-sns { position: static; }/* 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: #EE001E;	-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 #EE001E;}.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:11;top:80px;left:0;width:100%;height:calc(100% - 80px);visibility:collapse;opacity:0;transition: opacity 0.2s ease-out;background-color: #FFF;overflow-y: scroll;}.hamburger-menus ul{padding: 0 16rem 12rem;}.hamburger-menus ul li {position: relative;display: flex;flex-direction: column;align-items: start;}.hamburger-menus ul li:before {content: "";position: absolute;bottom: 0;left: 0;width: 0;height: .5px;background-color: rgba(238, 0, 30,.4);opacity:0;transition: all 0.2s 0.4s ease;}.hamburger-menus ul li a {width: 100%;color: #EE001E;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;color:#FFF;background-color: rgba(255, 25, 25,.7);}@media all and (max-width: 960px) {html.scroll-off, html.scroll-off body {height: 100%; overflow: hidden;}}/* gnavi-sp */#gnavi-sp{	width:60px;	display: flex;}.hamburger-menus ul{padding: 1rem;}.hamburger-menus ul li a {padding: 0rem 2rem;}.hamburger.active ~ .hamburger-menus ul li a {padding: 1rem 2rem;}#hamburger-menus-sns{width:80%;margin:3rem auto;}.hamburger-menus #hamburger-menus-sns ul li:before {content: none;}#hamburger-menus-sns p{font-weight:900;color:#EE001E;text-align:center;}#hamburger-menus-sns ul {display: flex;justify-content: center;align-items: center;}#hamburger-menus-sns ul li {flex-basis:calc(50% / 6);max-width:calc(50% / 6);text-align:center;margin:0 auto;}#hamburger-menus-sns ul li a {padding: 0rem;}#hamburger-menus-sns svg {width: 100%;height: 50px;vertical-align: top;fill:#EE001E;}#hamburger-menus-sns ul li a:hover {background:none;}#hamburger-menus-sns ul li a:hover svg {transform-origin: center;transform: scale(1.15);transition:.2s;fill:#A10;}/*page*/#toppage {padding-top: 80px;}#page {padding-top: 0;}.section-header h2:after {font-size: 1.2rem;}.section-header p {font-size: 1.3rem;width:100%;}/* mainvisual */@media all and (min-width: 601px) {#toppage #mainvisual {position: relative;background: #E9E9E9;}#toppage .mv-name {position: absolute;top: 100%;left: 50%;transform: translate(-50%, -115%);z-index: 2;width: 65%;min-width: 320px;}div.arrows {position: absolute;z-index: 5;width: 30px;height: 40px;margin: auto;bottom: 6%;left: 95%;}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:nth-of-type(1) {top: 0px;}div.arrows span:nth-of-type(2) {top: 10px;}div.arrows span:nth-of-type(3) {top: 20px;}}@media all and (max-width: 600px) {#toppage #mainvisual {position: relative;width:100%;height:calc(100vh - 80px);overflow-y: hidden;}#mainvisual .swiper-wrapper {height:calc(100vh - 80px);}#toppage .mv-name {    position: absolute;    bottom: 0%;    left: 50%;    transform: translate(-50%,-20%);    z-index: 2;    width: clamp(50vw,35vh,70vw);}#toppage .mv-name p {    font-size: 3.8vw;    transform: none;    top: -10%;    left: 50%;    transform: translate(-50%, -10%);    text-align: center;    width: 100%;}#toppage .mv-name p span {display:inline;}#toppage .mv-catchcopy {    position: absolute;    bottom: 0;    right: 0;    transform: translate( -10%,-35%);    z-index: 2;    width:  40%;}div.arrows {position: absolute;z-index: 5;width: 30px;height: 40px;margin: auto;bottom: 6%;left: 94%;}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:nth-of-type(1) {top: 0px;}div.arrows span:nth-of-type(2) {top: 10px;}div.arrows span:nth-of-type(3) {top: 20px;}.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {right:5%;top:5%;}}#whatsnew .whatsnew-item { flex-basis: 100%;}#whatsnew .whatsnew-title a {    font-size: 1.2rem;    display: inline-block;    padding: 0 .5em;    margin-left: auto;}#whatsnew .whatsnew-title a svg {    width: 1.2rem;    height: 1.2rem;}#instagram {min-height:30vh;}/*latest_news*/#latest_news {display: block;}#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%;}/*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;}.img_bg_01.lazyloaded{background-image: url("../img/bg-aisatsu-S.jpg");}#aisatsu .content {width: 90%;padding: 2rem;font-size:1.4rem;letter-spacing:1px;margin:auto;}#aisatsu .content div {width:12em;margin-top:2.1rem;}#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;}#vision {background-size:400% auto;background-position:center;padding-top: 0;}#vision .section-header {    position: static;    inset:0;    transform: translateX(0);    padding: 6rem 0 3rem;}#vision > ul {display: block;margin: 0 auto 3vw;}#vision > ul li {margin-bottom:2.5vw;}#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;}/* SNS *//* twitter */#twitter {width:100%;height:500px;position:relative;overflow-x: hidden;background:#f5f5f5;}#twitter div.wrapper{width:90%;margin:0 auto;}#twitter h3{font-size:3.6rem;}#twitter h3 svg {width: 3.6rem;height: 3.6rem;}#twitter p {width: 100%;text-align:center;}/*vision*/.swiper-vision .swiper-slide h3 {font-size:1.3rem;padding:0 3%;transform: scale(0.8, 1);transform-origin: top left;width: 125%;}/*resume*/#resume_inner {padding: 0;width: 94%;}#profile {width: 100%;margin: auto;}#history {width: 100%;margin: 0;padding-top:10rem;z-index:1;}#history:before {    top: 1.5rem;    font-size: 10vw;}#history h3{left:0;}#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 dl {}#profile dt, #profile dd {margin: 0 0 10px 0;}#profile dd {width: 80%;padding-right:0;}#timeline > li {    min-width: 200px;    width: 30vw;}#timeline > li.header {    min-width: 160px;    font-size: 4vw;    width: 15vw;}#prof-image {width: 56vw;height:auto;top: -5vh;left: 60%;z-index:2;}/*jisseki*/#jisseki .section-header p {font-size:1.4rem;}#jisseki .section-body .flex {flex-wrap: wrap;}#jisseki .section-body ul:nth-of-type(1) {width: 100%;}#jisseki .section-body .flex p {flex-basis: 100%; margin-bottom:3rem;}#jisseki .section-body h3 {    font-size: 2rem;}/*information*/#information ul {    justify-content: center;    margin-bottom:0;}#information li {    flex-basis: calc(97.5% / 2) !important;    aspect-ratio: 4 !important;    position: relative;    margin-bottom: 2.5%;}#information li a {padding: 5% !important;text-align:left;font-size: clamp(1.2rem, 2.4vw, 1.6rem);}#information a {    border: 1px #fff solid;    border-radius: .5em;    width: 100%;    height: 100%;    padding: 18% 0 0;}#information li a img {width: clamp(20px, 6vw, 80px) !important;    margin-right: .5em !important;    display: inline-block !important;    vertical-align:-4vw !important;}/*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;}.contactcontents .flex {margin-bottom: 2rem !important;}.contactcontents .flex-item {flex-basis: 100% !important;}.contactcontents .flex-item:nth-of-type(2) {margin-top:2rem;}#applyNetform {width: 100% !important;}.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;}#messages #messages-inner { width: 100%;}#messages-header {width:92%;}#messages-header figure {width: 25%;}#messages-header h3 {width:70%; font-size: 2.1rem;}#messages .flex-wrapper a {font-size:110%; margin:2rem 0;}#messages .flex-wrapper a:nth-of-type(1){margin-right:2rem;} /*access*/#page-contents #access {padding: 0 1rem 5rem;}#access .section-header {padding: 4rem 0 0;}#access .flex {display:block;gap: 0;}#access .flex-item {flex-basis: 100%;}#access .flex-item:nth-of-type(2) {margin-top:3rem;}#access h3 {font-size: 1.8rem;}#access h4 {font-size: 1.8rem;}#access dl {font-size: 1.4rem;line-height: 2;width: 100%;}#access dt {line-height:1.2;width: 20%;}#access dd {width: 80%;}.googlemap {height: 92vw;}/* リンクバナー *//*footer*/#footer {background-color:rgba(255, 23, 23, 1);}#footer-menu-wrapper {width:92%;padding: 40px 0 0;}#footer-logo {flex-basis: 80%;margin: 0 auto;}#footer-logo p.name {width: 100%;}#footer-menu {flex-basis: 100%;margin: 0 auto;height: 19em;justify-content: start;flex-flow: column wrap;}#footer-menu::before {left: 42%;}#footer-menu::after {border:none;}#footer-menu li {width: 51%;line-height: 1.6;padding: .5rem 2%;}#footer-menu li:nth-of-type(-n+8) {width: 45%;padding: .5rem 1% .5rem 4%;}#footer-logo p.name {font-size: 10vw;}#footer-logo p span {font-size: 1.4rem;}#footer-logo ul {width: 80%;margin: 0 auto 30px;}#footer-logo svg {height: 30px;fill: #FFF;}#footer-logo li a:hover svg {    transform-origin: center;    transform: scale(1.15);    transition: .2s;    fill: #FFF;}#copyright {flex-basis: 100%;order:3;}#footer-bg1 {display:none;}#body:before{line-height: 1.3;    height: 50px;}#body .header { width:92%; padding: 20px 0; top:13vw}#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: 15vw;}#body .section-header h2 {font-size: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%;}#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 #FFF solid;    border-bottom: 1rem #FFF 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 {width: auto;}#share ul,#follow ul {width:92%;flex-basis:92%;justify-content: center;flex-wrap:wrap;}#share li,#follow li {margin: 5px;}#share li a,#follow li a {display:inline-block;font-size:1.2rem;padding:1px 3px;border-radius: 0.25rem;text-align:center;}#share svg,#follow svg {    width: 1.2rem;    height: 1.2rem;    vertical-align: -2px;    margin-right: 2px;}#link_banners .row_inner {min-height: 110px;height: 135px;}#link_banners .tile {position:relative;}#link_banners .tile:after {content:"";display:block;position:absolute;padding-top:50%;}