/* 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(255, 187, 0, 1) 40%, rgba(255, 250, 0, 1) 40%);}#header_inner{height:60px;align-items: center;}#header h1 {width:calc(100% - 60px);font-size: 2.1rem;line-height:1.3;justify-content: left;margin-left:2rem;text-indent: -10px;}#header h1 a {width: 30vw;max-width:150px;}#header h1 span {font-size: 1.2rem;letter-spacing: 0;margin-bottom:.2rem;}#header.menuopen-small {box-shadow: 0px 3px 3px 0px #c7c7c7;}/* 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: #F60;	-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 #F60;}.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:60px;left:0;width:100%;height:calc(100% - 60px);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: 1px;background-color: rgba(255,160,0,.3);opacity:0;transition: all 0.2s 0.4s ease;}.hamburger-menus ul li a {width: 100%;color: #F60 !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: 960px) {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: 1rem 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:#F60;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 3rem 3rem;}#hamburger-menus-sns ul li a {padding: 0rem;color:#FFF;}#hamburger-menus-sns svg {width: 2.4rem;height: 2.4rem;vertical-align: top;fill:#F60;}/*page*/#toppage {padding-top: 60px;}#page {padding-top: 0;}.section-header h2 {}.section-header h2:after {font-size: 1.2rem;}.section-header p {font-size: 1.3rem;width:100%;}/* mainvisual */#toppage #mainvisual {position: relative;width:100%;height:calc(100vh - 60px);overflow-y: hidden;}#toppage .mv-name {    position: absolute;    bottom: 0%;    left: 50%;    transform: translate(-50%,-7%);    z-index: 2;    width: 40vh;}#toppage .mv-name p {display:none;}#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: 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: 30vw;height:auto;top: 15%;left: 66%;z-index: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 {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;}/*policy*/#policy {background-color: #f5f5f5;}#policy .section-header {top: 15vw;left: 45%;}#policy .section-header h2 {}#policy .section-header p {font-size: 3vw;margin-top: .5em;}#policy .section-body{}#policy .no {font: 900 15vw/1 "Arial",sans-serif;letter-spacing: -1px;}#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-right:0 !important;margin-bottom:4rem;}#policy .header {font-size: 1.8rem;line-height:1.2;}#policy .section-body p {    font-size: 1.4rem;}#policy .image {width: 100%;order:1;margin-left:0;margin-right:0 !important;display:flex;padding:0 2rem 0;}#policy .image img {width: 100%;}#policy .image figure {width:calc(100% / 2);padding:0;transform: translate(0) rotate(0) !important;margin:auto;}#policy .content:nth-of-type(5) figure {width:calc(100% / 2);}#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:1.5rem !important;}#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;}/* 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;}/*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;color:#a51c30;}#policy-contents .content .no {font:900 7rem/1 "Arial",sans-serif;letter-spacing:-.5rem;width:50%;}#policy-contents .content .header {font-size:2.4rem;color:#FFF;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: 94%;}#profile {width: 100%;margin: auto;}#history {width: 100%;margin: 3rem auto 0;z-index:1;}#history h3{left:0;}#history .card {margin: 6px auto;margin-left: 0;padding: 5px;}#history .card::before {left: 5px;}#history .card::after {left: 24px;}#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 dl {width:95%;padding-right:20%;}#profile dt, #profile dd {margin: 0 0 10px 0;}/*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;}#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*/#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%;}/* リンクバナー *//*footer*/#footer-menu-wrapper {padding: 40px 0 120px;}#footer-logo {flex-basis: 100%;margin-right: 0;}#footer-menu {flex-basis: 100%;align-content: center;margin-right: 0;height: 18em;margin-bottom:1rem;padding-left:5vw;}#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: 7vw;}#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%;}#link_banners .row_inner {padding: 15px;}#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;}