@charset "UTF-8";

/* reset
==========================================================*/
p {
    margin: 0;
}

/* base
==========================================================*/
html {
    font-family: Helvetica, Verdana, Arial, 'ヒラギノ角ゴ std W3', 'Hiragino Kaku Gothic Pro', 'Yu Gothic Medium', '游ゴシック Medium', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', sans-serif;
    font-size: 0.7em;
}
a {
    text-decoration: none;
    color: #000;
}
section {
    margin-bottom: 30px;
}
aside section:last-child {
    margin-bottom: 0;
}
video {
    width: 100%;
}


/* utility
==========================================================*/
.mb10 {
    margin-bottom: 10px !important;
}

.fSerif {
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
}
.oHidden {
    overflow: hidden;
}
.taRight {
    text-align: right;
}
.bg-white {
    background: #fff;
    width: 200px;
}
/* u_button
----------------------------------------------------------*/
.btn {
    display: block;
    width: 200px;
    box-shadow: 1px 1px 0 rgba(0,0,0,0.3);
    padding: 15px;
    text-align: center;
    line-height: 1.5;
    color: #fff;
    font-size: 1.2rem;
}
.btn-arrow {
    position: relative;
}
.btn-arrow::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 19px;
    right: 6px;
    border-top: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #fff;
}
.btn-dArrow {
    position: relative;
}
.btn-dArrow::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 24px;
    right: 10px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #fff;
}
/* u_icon
----------------------------------------------------------*/
.svg-icon {
    overflow: visible;
    display: inline-block;
    width: .4em;
    height: 1em;
    vertical-align: -.125em;
    font-size: inherit;
}
.arrow {
    position: absolute;
    top: 40%;
    right: 10%;
    width: 0.4em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.arrowDown {
    transform: rotate(90deg);
}
/* u_title
----------------------------------------------------------*/
.ttl-section {
    width: 100%;
    /*margin: 0;*/
    margin: 0 0 15px;
    padding: 10px 0 6px;
    /*padding: 10px 15px;*/
    border-bottom: 5px solid rgba(50, 141, 193, 0.5);
    letter-spacing: 0.1rem;
    font-weight: 900;
    font-size: 1.8em;
    color: #1d364d;
}
.ttl-section-en {
    position: absolute;
    top: -27px;
    left: -4px;
    font-family: 'crimson Text';
    font-size: 5.5em;
    color: rgba(50, 141, 193, 0.2);
}
.ttl-section-thin {
    position: relative;
    margin: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: solid 1px #ccc;
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
}
.ttl-section-thin::after {
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    width: 75px;
    height: 20px;
    border-bottom: 1px solid #5e98b8;
}
.sub-ttl-section {
    position: relative;
    /*margin: 50px 110px 0 380px;*/
    margin: 0;
    padding-bottom: 10px;
    border-bottom: solid 1px #ccc;
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
}
.sub-ttl-section::after {
    content: '';
    position: absolute;
    top: 6px;
    left: 0;
    width: 75px;
    height: 20px;
    border-bottom: 1px solid #5e98b8;
}
.lnk-position {
    display: block;
    margin-top: -90px;
    padding-top: 90px;
}
/* u_text
----------------------------------------------------------*/
.txt-base {
    margin: 20px 15px 30px;
    line-height: 1.8;
}
.lh18 {
    line-height: 1.8;
}
/* u_display
----------------------------------------------------------*/
/*@media print, screen and (max-width: 768px) { .pc {display: none;} }*/
/*@media print, screen and (min-width: 769px) { .sp {display: none;} }*/

@media print, screen and (min-width: 1063px) {
  .hide-Btb {
    display: none !important;
  }
}
@media print, screen and (min-width: 769px) {
  .hide-pc {
    display: none !important;
  }
}
@media print, screen and (min-width: 600px) and (max-width: 768px) {
  .hide-tb {
    display: none !important;
  }
}

@media print, screen and (max-width: 599px) {
  .hide-sp {
    display: none !important;
  }
}
/* common
==========================================================*/
/* parts-header
----------------------------------------------------------*/
.box-header {
    position: fixed;
    z-index: 1;
    overflow: hidden;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    margin: 0 auto;
    padding: 10px;
}
.box-header.on {
    padding-bottom: 0;
}
.box-logo {
    display: block;
    float: left;
    overflow: hidden;
    width: 225px;
}
.box-header.on .box-logo {
    float: none;
}
.logo {
    float: left;
    display: block;
    margin-right: 5px;
    width: 80px;
    height: 60px;
}
.ttl-site {
    float: left;
    width: 140px;
    margin: 0;
    line-height: 1;
    font-weight: normal;
    font-size: 1em;
}
.ttl-position {
    display: block;
    text-align: center;
    text-shadow: rgba(0,0,0,0.2) 1px 1px 1px;
    letter-spacing: 3.2px;
    color: #333;
    font-weight: bold;
    font-size: 16px;
}
.ttl-name {
    display: block;
    padding-bottom: 1px;
    text-align: center;
    text-shadow: rgba(0,0,0,0.2) 1px 1px 1px;
    color: #000;
    font-size: 34px;
    font-weight: 700;
}
.ttl-subtitle {
    display: block;
    letter-spacing: 0.1em;
    text-align: center;
    color: #333;
    font-size: 8px;
}
.nav-header {
    float: right;
    display: none;
    width: calc(100% - 225px);
    text-align: center;
}
.box-header.on .nav-header {
    float: none;
    display: block;
    clear: both;
    width: 100%;
}
.nav-header-toggle {
    position: fixed;
    top: 15px;
    right: 15px;
    z-index: 1;
    height: 39px;
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid #ccc;
    border-radius: 3px;
    outline: 0;
    padding: 9px 10px 12px;
}
.nav-header-toggle .icon-bar {
    display: block;
    position: relative;
    background-color: #888;
    border-radius: 1px;
    width: 22px;
    height: 2px;
}
.icon-bar:before, .icon-bar:after {
    content: "";
    display: block;
    position: absolute;
    background-color: #888;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    transition: all 0.3s !important;
}
.txt-btn-menu {
    position: absolute;
    left: 9px;
    bottom: 1px;
    font-size: 8px;
}
.nav-header-toggle .icon-bar:before {
    transform: translateY(6px);
}
.nav-header-toggle .icon-bar:after {
    transform: translateY(-6px);
}
.box-header.on .nav-header-toggle .icon-bar {
    background: transparent;
}
.box-header.on .nav-header-toggle .icon-bar:before {
    transform: translateY(0px) rotate(-45deg);
}
.box-header.on .nav-header-toggle .icon-bar:after {
    transform: translateY(0px) rotate(45deg);
}
.header-list-menu {
    margin: 10px 0 0;
    padding: 0;
}
.box-header.on .header-list-menu {
    border-top: 1px solid #ccc;
}
.header-list-menu li {
    position: relative;
    display: inline-block;
    margin: 0 3%;
}
.box-header.on .header-list-menu li {
    width: 100%;
    margin: 20px 0 0;
    border-bottom: 0.5px solid #ccc;
    padding-bottom: 20px;
    letter-spacing: 3px;
    font-size: 1.6rem;
}
.header-list-menu li:before, .header-list-menu li:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 2.1em;
    width: 0;
    height: 3px;
    background: #1d364d;
    border-bottom: 1px solid #ddd;
    transition: .5s;
}
.header-list-menu li:before {
    left: 50%;
}
.header-list-menu li:after {
    right: 50%;
}
.header-list-menu li:hover:before,
.header-list-menu li:hover:after,
#body-profile .menu-profile:before,
#body-profile .menu-profile:after,
#body-policy .menu-policy:before,
#body-policy .menu-policy:after,
#body-activity .menu-activity:before,
#body-activity .menu-activity:after,
#body-video .menu-video:before,
#body-video .menu-video:after,
#body-report .menu-report:before,
#body-report .menu-report:after,
#body-contact .menu-contact:before,
#body-contact .menu-contact:after
{
    width: 0;
}
.header-list-menu li a {
    text-decoration: none;
    color: #000;
}
.header-list-menu li span {
    display: block;
    font-size: 0.6em;
}
.box-header.on .header-list-menu li span {
    letter-spacing: 1;
}

/* parts-sidebar
----------------------------------------------------------*/
.sidebar {
    margin: 0 auto;
    /*width: 80%;*/
}
.sidebar-bnr-area {
    margin: 0 auto;
    /*max-width: 300px;*/
}
.sidebar-bnr-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 630px;
    margin: 0 auto 30px;
    padding: 0;
    list-style: none;
}
.sidebar-bnr-list a {
    width: 100%;
}
.sidebar-bnr-list li {
    margin-bottom: 15px;
}
.sidebar-bnr-list a:last-of-type li {
    margin-bottom: 0;
}
.sidebar-bnr-list li img {
    width: 100%;
    display: block;
    margin: 0 auto;
}

/* parts-footer
----------------------------------------------------------*/
footer {
    clear: both;
    background: #1d364d;
    padding: 30px 15px 0;
    line-height: 1.5;
    color: #fff;
}
.bg-footer {
    clear: both;
    height: 5px;
    background:  radial-gradient(#a8a8a8, #fefefe);
}
.box-address {
    max-width: 300px;
    float: left;
}
.ttl-address {
    margin: 0;
}
.ttl-address-inner {
    text-decoration: none;
    color: #fff;
}
.map-address {
    font-size: 0.8em;
    color: #fff;
}
.fa-map-marker-alt {
    padding-right: 10px;
}
.txt-address a.lnk-tel {
    color: #fff;
}
.btn-contact {
    background: #5eb7cc;
    box-shadow: 1px 1px 0 rgba(255,255,255,0.4);
    margin-top: 10px;
}
.footer-bnr-area {
    clear: both;
    margin: 0 auto;
    /*max-width: 300px;*/
    padding-top: 1px;
}
.footer-bnr-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 640px;
    margin: 30px 0 0 0;
    padding: 0;
    list-style: none;
}
.footer-bnr-list li {
    background: #fff;
    width: 100%;
    margin-bottom: 15px;
}
.footer-bnr-list li:first-child {
    width: 100%;
}
.footer-bnr-list img {
    width: 100%;
}
.nav-footer {
    text-align: center;
}
.footer-menu {
    display: inline-block;
    width: 100%;
    margin: 30px 0 0;
    padding: 0;
}
.footer-menu li {
    display: inline-block;
    margin: 0 3.33%;
}
.footer-menu li a {
    color: #fff;
}
.footer-copy {
    clear: left;
    margin: 15px auto 0;
    padding-bottom: 15px;
    width: 230px;
    font-size: 0.7em;
    font-family: 'crimson Text';
}
.txt-copy {
    margin-bottom: 0;
    letter-spacing: 0.05rem;
    text-align: center;
}
/* parts main image
----------------------------------------------------------*/
.ttl-contents {
    display: block;
    text-shadow: #00000047 4px 4px 4px;
    text-align: center;
    font-size: 3em;
    font-weight: 900;
    line-height: 1.1;
}
.ttl-contents_en {
    display: block;
    margin-top: 3px;
    letter-spacing: 2.5px;
    text-align: center;
}

/* component
----------------------------------------------------------*/
.contents-wrap {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 15px;
}
.sp-wrap {
    padding: 0 15px;
}
.box-hero, .img-main {
    background: url(../img/bg_main1.jpg) no-repeat 0 0 / cover;
    height: 500px;
    color: #fff;
}
.box-intro {
    position: absolute;
    top: 190px;
    left: 5%;
}
.box-intro {
    position: absolute;
    top: 140px;
    left: 5%;
}
.intro-inner {
    width: 192px;
    margin: 0;
    line-height: 1;
    font-size: 1em;
    font-weight: normal;
}
/** individual top
==========================================================*/
/* hero
----------------------------------------------------------*/
#body-top .box-intro {
    top: 140px;
    /*left: 60px;*/
    left: 7%;
}
#body-top .intro-inner {
    margin: 0.67em 0;
    width: 100%;
    /*font-size: 2.67vw;*/
}
.intro-inner-position {
    letter-spacing: 0.14em;
    font-size: /*5.35vw*/2em;
    font-weight: bold;
}
.intro-inner-position-party {
    display: block;
    padding-bottom: 10px;
    text-shadow: #fff 2px 2px 0, #fff -2px -2px 0, #fff -2px 2px 0, #fff 2px -2px 0, #fff 0px 2px 0, #fff 0 -2px 0, #fff -2px 0 0, #fff 2px 0 0;
    color: #FFBF00;
    font-size: 2em;
}
.intro-inner-position-parliament {
    display: block;
    padding-left: 0.2em;
    padding-bottom: 10px;
    text-shadow: rgb(0, 0, 0) 0px 0px 1px;
}
.intro-inner-name {
    text-shadow: rgba(0,0,0,0.2) 4px 4px 4px;
    font-size: 6em;
    /*font-size: 21vw;*/
    font-weight: 900;
}
.intro-inner-ruby {
    display: block;
    margin-top: -15px;
    letter-spacing: 1.4rem;
    /*letter-spacing: 5.5vw;*/
    text-align: right;
    font-size: 0.12em;
    /*font-size: 2.5vw;*/
}
.intro-txt {
    position: absolute;
    top: -25px;
    margin: 0;
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
    font-weight: bold;
    /*font-size: 4.8vw;*/
    font-size: 1.4em;
}
.btn-aspiration {
    width: 240px;
    background: #FFBF00;
    margin-top: 30px;
    font-weight: bold;
    font-size: 1.2rem;
}
.bg-aspiration {
    width: 240px;
}
/* contents-top
----------------------------------------------------------*/
#s-intro {
    position: relative;
    background: rgba(50, 141, 193, 0.2);
    text-align: center;
    padding: 30px 15px;
}
.ttl-intro {
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
    font-weight: bold;
    margin: 0 0 15px;
    font-size: 1.4rem;
}
.txt-intro {
    line-height: 1.8;
}
.bg-profile {
    margin: 0 auto;
}
.btn-profile {
    background: #5eb7cc;
    margin: 15px 0 0;
}
.img-intro {
    position: absolute;
    width: 240px;
    bottom: 0;
    right: 30px;
}
#body-top #s-policy {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.itm-policy {
    position: relative;
    width: 100%;
    height: 40vw;
    padding: 15px;
    background-size: cover;
    background-position: 0 -20vw;
    border-bottom: 1px solid #fff;
    color: #fff;
}
.itm-policy01 {
    background-image: url(../img/img_policy_01.jpg);
}
.itm-policy02 {
    background-image: url(../img/img_policy_02.jpg);
}
.itm-policy03 {
    background-image: url(../img/img_policy_03.jpg);
}
.itm-policy04 {
    background-image: url(../img/img_policy_04.jpg);
}
.ttl-itm-policy {
    margin: 0;
    letter-spacing: -1.7;
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
    text-shadow: rgba(0,0,0,0.2) 2px 2px 2px;
    font-size: 2.5rem;
}
.txt-itm-policy {
    display: none;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    max-width: 450px;
    padding: 1rem;
    font-weight: bold;
}
.lnk-viewMore {
    position: absolute;
    top: 22px;
    right: 15px;
    font-size: 1rem;
    color: rgba(50, 141, 193, 0.5);
}
.lnk-viewMore .svg-icon {
    top: 43%;
    width: 0.3em;
}
.lnk-viewMore .svg-icon:first-child {
    right: -15px;
}
.lnk-viewMore .svg-icon:last-child {
    right: -10px;
}
#s-topics {
    position: relative;
}
#s-topics .ttl-section {
    margin-bottom: 0;
}
#s-topics .ttl-section-en {
    left: 0;
}
.itm-topics {
    clear: both;
    overflow: hidden;
    margin: 0;
    padding: 15px;
    border-bottom: 1px solid #ccc;
}
.team-topics {
    float: left;
    width: 78px;
    height: auto;
}
.lbl-topics {
    display: block;
    background: rgba(50, 141, 193, 0.5);
    margin: 6px 0 0;
    padding: 4px;
    border-radius: 10px;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-size: 0.9rem;
}
.lbl-red {
    background: rgba(227, 2, 2, 0.5);
}
.desc-topics {
    margin-left: 85px;
}
.ttl-desc-topics {
    margin: 0;
    font-size: 1.4em;
    font-weight: normal;
}
/** individual profile
==========================================================*/
/* main image profile
----------------------------------------------------------*/
.img-main {
    height: 340px;
    height: 250px;
}
/* contents-profile
----------------------------------------------------------*/
#s-profile {
    position: relative;
    margin-top: 25px;
}
.ttl-profile {
    margin-bottom: 15px;
}
#s-profile .ttl-section-en {
    top: 64px;
}
.img-profile {
    float: left;
    margin: 0;
    width: 110px;
    display: block;
    /*box-shadow: 0 0 5px 0 #ccc;*/
}
/*.box-position {
    max-width: 600px;
    width: 100%;
    border: 5px solid #b5d9ed;
    margin: 0 auto;
    padding: 1px;
}*/
.position-inner {
    background: #b5d9ed;
    padding: 9px 0;
    margin-left: 110px;
    height: 150.33px;
}
.ttl-position-inner {
    margin: 0;
    text-align: center;
    color: #1d364d;
    font-size: 2rem;
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
    font-weight: normal;
}
.profile-name {
    margin-right: 9px;
}
.profile-name-en {
    font-size: 0.8rem;
}
#body-profile .box-main {
    clear: both;
}
.box-main-right-inner {
    width: 100%;
    max-width: 600px;
    margin: 50px auto 0;
    padding: 0 15px;
}
.tbl-position {
    margin: 0 auto;
    /*border-top: 1px dotted #fff;*/
    font-size: 1rem;
}
.cpt-position {
    margin-bottom: 10px;
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
    font-size: 1.2rem;
    color: #555;
}
.tbl-position tr {
    display: block;
    line-height: 1.4;
}
.tbl-position tr:first-child {
    margin-top: 0px;
}
.tbl-position th {
    display: block;
    padding-right: 20px;
    text-align: left;
    color: #1d364d;
}
.tbl-position td {
    display: block;
}
.list-profile {
    /*margin: 0 110px 0 380px;*/
    margin: 0;
    padding: 0;
    list-style: none;
}
.list-profile li {
    padding: 20px;
    border-bottom: 1px dotted #ccc;
}
#s-history {
    position: relative;
}
#s-history .ttl-section-en {
    top: 63px;
}
/** individual policy
==========================================================*/
/* main image policy
----------------------------------------------------------*/
#body-policy .box-main, #body-policy aside {
    margin-top: 30px;
}
#s-policy01,
#s-policy02,
#s-policy03 {
    margin-bottom: 60px;
}

/** individual video
==========================================================*/
/* main image video
----------------------------------------------------------*/
#body-video .contents-wrap,
#body-report .contents-wrap {
    margin-top: 25px;
}
#body-video .sub-ttl-section,
#body-policy .sub-ttl-section,
#body-report .sub-ttl-section {
    margin: 15px;
}
#s_video01, #s_video02, #s_video03, #s_video04, #s_video05 {
  margin-bottom: 60px;
}
.box-video,
.box-report {
    margin: 20px 15px;
}
.ttl-video,
.ttl-report {
    margin: 0 0 8PX;
    padding: 10px;
    background: linear-gradient(0deg,#1d364d 0%,#27639a 100%);
    font-weight: normal;
    color: #fff;
}
.ttl-back-video,
.ttl-back-report {
    position: relative;
    margin: 0 15px;
    padding: 0 18px;
    border: solid 1px #ccc;
    line-height: 50px;
    font-weight: normal;
    font-size: 14px;
}
.list-video,
.list-report {
    margin: 0 15px 60px;
    padding: 0;
    list-style: none;
    font-size: 14px;
}
.list-video li,
.list-report li {
    position: relative;
    border-bottom: 1px dotted #ccc;
}
.lnk-video,
.lnk-report {
    display: block;
    padding: 20px;
}
.date-video {
    display: inline-block;
    width: 110px;
}
.list-video .arrow,
.list-report .arrow {
    top: 50%;
}
/** individual report
==========================================================*/
/* main image report
----------------------------------------------------------*/
.box-report img {
    width: 100%;
}
.btn-bkNumber {
    margin: 0 auto;
    background: #1d364d;
}
.btn-download {
    margin: 30px auto;
    background: #8ddde2;
    box-shadow: none;
    border-radius: 25px;
}
.fa-file-download {
    padding-left: 10px;
}
.fa-external-link-alt {
    color: #8ddde2;
    margin-left: 30px;
}
#bkNumber {
    padding-top: 100px;
    margin-top: -100px;
}

/** individual election
==========================================================*/
/* main image election
----------------------------------------------------------*/
#body-election .img-main {
    height: 340px;
    background: linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0.2)), url(../img/bg_election.jpg) no-repeat 0 0 / cover;
}
#body-election .box-intro {
    top: 155px;
    left: 0;
    right: 0;
}
#body-election .intro-inner {
    width: 100%;
}
#body-election .ttl-contents span {
    font-size: 2rem;
}
#body-election .ttl-contents_en {
    letter-spacing: 1.3;
}
.dVote {
    text-align: center;
    background-color: #5eb7cc;
    width: auto;
    margin: 7px 0 0;
    font-size: 1.4rem;
    padding: 5px;
}
.sub-contents {
    position: relative;
    overflow: hidden;
}
.ttl-sub-contents {
    margin: 0 0 15px;
    line-height: 1.5;
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
    font-size: 3.0rem;
    font-weight: bold;
}
.txt-sub-contents {
    background: #1d364d;
    line-height: 1.6;
    color: #fff;
    width: auto;
    margin: 0 -15px;
    padding: 45px 15px;
}
#s-oath {
    padding: 15px 0;
    background: url(../img/bg_oath.jpg) no-repeat -170px 0 / cover;
}
.box-oath {
    position: relative;
    padding: 30px 15px;
    text-align: center;
}
.ttl-sub-oath {
    margin: 0 0 20px;
    line-height: 1.5;
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
    font-size: 1.4rem;
}
.ttl-sub-oath span {
    font-size: 2.0rem;
}
.txt-oath {
    width: 303px;
    margin: 0 auto;
    padding: 0 15px;
    line-height: 1.8;
    list-style-type: decimal;
    text-align: left;
    font-size: 1.4rem;
}
.btn-profile {
    background: #1d364d;
    margin: 30px auto 0;
}
.box-election {
    position: relative;
    padding: 30px 15px;
    background: url(../img/bg_challenge.jpg) no-repeat 0 0 / cover;
    text-align: center;
}
.ttl-sub-election {
    margin: 0 0 15px;
    line-height: 1.5;
    font-family: "Noto Serif Japanese","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, serif;
    font-size: 1.4rem;
}
.txt-election {
    margin-bottom: 60px;
    line-height: 1.8;
}
.img-election {
    position: absolute;
    bottom: 30px;
    right: 60px;
}
.s-activity {
    position: relative;
}
.s-activity .ttl-section {
    margin: 30px 0 25px;
}
.mapAccess {
    width: 100%;
    height: 400px;
}
.s-activity .sub-ttl-section {
    margin-bottom: 20px;
}
.rcdActivities {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    padding: 0;
}
.rcdActivities > li {
    width: 100%;
    margin-bottom: 15px;
}
.rcdTtl {
    margin: 1rem 0;
    font-size: 1.2rem;
}
.rcdActivities > li img {
    width: 100%;
}
.rcdDay {
    background: #5eb7cc;
    width: 100%;
    text-align: center;
    padding: 15px;
    font-size: 1.2rem;
    color: #fff;
}
.btnDouble {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
}
.btn-activity {
    background: #4d1d31;
}
@media print, screen and (min-width: 600px) {
    /* utility
    ==========================================================*/
    .mouseover:hover, .mouseover:hover img, .mouseover:hover h1 {
        -webkit-backface-visibility: hidden;
        -webkit-transition: all 300ms ease;
        backface-visibility: hidden;
        opacity: 0.7;
        transition: all 300ms ease;
    }
    a.underline:hover, p.underline:hover {
          text-decoration: underline;
          opacity: 0.7;
    }
    /* parts-header
    ----------------------------------------------------------*/
    .nav-header {
        display: block;
    }
    .nav-header-toggle {
        display: none;
    }
    .header-list-menu {
        margin: 20px 0 0;
    }
    .header-list-menu li:hover:before,
    .header-list-menu li:hover:after,
    #body-profile .menu-profile:before,
    #body-profile .menu-profile:after,
    #body-policy .menu-policy:before,
    #body-policy .menu-policy:after,
    #body-activity .menu-activity:before,
    #body-activity .menu-activity:after,
    #body-video .menu-video:before,
    #body-video .menu-video:after,
    #body-report .menu-report:before,
    #body-report .menu-report:after,
    #body-contact .menu-contact:before,
    #body-contact .menu-contact:after
    {
        width: 50%;
    }
    /* parts-sidebar
    ----------------------------------------------------------*/
    .sidebar-bnr-area {
         /*max-width: 300px;*/
    }
    .sidebar-bnr-list a {
        width: 48%;
    }
    /* parts-footer
    ----------------------------------------------------------*/
    .footer-bnr-area {
        max-width: 300px;
    }
    /* component
    ----------------------------------------------------------*/
    .box-hero {
        height: 630px;
    }
    .box-intro {
        left: 10%;
    }
    /** individual top
    ==========================================================*/
    /* hero
    ----------------------------------------------------------*/
    #body-top .box-intro {
        top: 216px;
        left: 10%;
    }
    .ttl-intro {
        font-size: 1.8rem;
    }
    .txt-intro {
        font-size: 1em;
    }
    #body-top .intro-inner {
        left: 60px;
        /*width: 526px;*/
        font-size: 1em;
    }
    .intro-inner-position {
        font-size: 2em;
    }
    .intro-inner-position-parliament {
        padding-bottom: 0;
    }
    .intro-inner-name {
        font-size: 8em;
    }
    .intro-inner-ruby {
        font-size: 0.12em;
        letter-spacing: 2rem;
    }
    .intro-txt {
        top: -46px;
        font-size: 1.8rem;
    }
    .btn-aspiration {
        font-size: 1em;
        width: 290px;
    }
    .bg-aspiration {
        width: 290px;
    }
    .box-main-right-inner {
        padding: 0;
    }
    .ttl-desc-topics {
        margin: 1rem 0;
    }
    .team-topics {
        width: 112px;
    }

    /** individual election
    ==========================================================*/
    #body-election .ttl-contents_en {
        margin-top: 15px;
        letter-spacing: 2;
    }
    .dVote {
        width: 512px;
        margin: 15px auto 0;
        padding: 10px;
    }
    .txt-sub-contents {
        float: right;
        position: relative;
        width: 440px;
        margin: 60px 0;
        padding: 130px 45px 45px;
    }
    .ttl-sub-contents {
        position: absolute;
        left:-125px;
        top:50px;
        width:600px;
        height:72px;
        margin:0;
        padding:0;
    }
    .boxBlack {
        overflow: hidden;
        width: 125px;
    }
    .txtBlack {
        z-index:1;
        position:absolute;
        width: 700px;
        color: #1d364d;
        font-weight: bold;
    }
    .txtWhite {
        color: #fff;
    }
    .box-oath {
        padding: 60px;
    }
    .txt-oath {
        width: 318px;
        margin: 0 auto;
        padding: 0 0 0 15px;
    }
    .rcdActivities > li {
        width: 48%;
    }
}

@media print, screen and (min-width: 769px) {
    /* base
    ==========================================================*/
    html {
        font-size: 1em;
    }
    section {
        margin-bottom: 100px;
    }
    /* utility
    ==========================================================*/
    /* u_button
    ----------------------------------------------------------*/
    .btn {
        font-size: 1em;
    }
    .btn-arrow::after {
        top: 20px;
    }
    /* u_title
    ----------------------------------------------------------*/
    .ttl-section {
        margin: 0 0 25px;
        /*padding: 10px 15px 10px 0;*/
    }
    .ttl-section-en {
        top: -40px;
        left: -3px;
    }
    .ttl-section-thin::after {
        top: 28.5px;
    }
    .sub-ttl-section::after {
        top: 12.5px;
    }
    /* parts-sidebar
    ----------------------------------------------------------*/
    .sidebar-bnr-list {
        margin-bottom: 100px;
    }
/*    .sidebar {
        float: left;
        width: 30%;
        width: 305px;
    }*/
    /* parts-footer

    ----------------------------------------------------------*/
    footer {
        padding: 30px 30px 0;
    }
    .footer-bnr-area {
        float: right;
        clear: none;
        max-width: 100%;
    }
    .footer-bnr-list {
        margin-top: 0;
        justify-content: space-between;
    }
    .footer-bnr-list li {
        width: 49%;
    }
    /* component
    ----------------------------------------------------------*/
    .sp-wrap {
        padding: 0;
    }
    .box-intro {
        top: 190px;
    }
    .img-main {
        height: 250px;
        height: 340px;
    }
    /** individual top
    ==========================================================*/
    /* contents-top
    ----------------------------------------------------------*/
    #s-intro {
        margin-top: 25px;
        padding: 30px 60px;
        text-align: left;
    }
    .ttl-intro {
        margin: 1em 0;
        font-size: 2rem;
    }
    .bg-profile {
        margin: 0;
    }
    .btn-profile {
        margin: 30px 0;
    }
    .itm-policy {
        width: 50%;
        border-bottom: none;
    }
    .itm-policy:nth-child(even) .ttl-itm-policy {
        text-align: right;
    }
/*    .box-main {
        float: left;
        width: 70%;
        width: calc(100% -305px);
        padding-right: 35px;
    }*/
    .lnk-viewMore {
        top: 25px;
    }
    .itm-policy {
        height: 367px;
        background-position: 0 0;
    }
    .ttl-itm-policy {
        letter-spacing: 0;
    }
    .txt-itm-policy {
        display: block;
    }
    #s-topics {
        /*margin-bottom: 30px;*/
    }
    #s-topics .ttl-section-en {
        left: 0;
    }
    .desc-topics {
        margin-left: 160px;
    }
    /** individual profile
    ==========================================================*/
    /* contents-profile
    ----------------------------------------------------------*/
    #s-profile .ttl-section-en {
        top: 79px;
    }
    .ttl-profile {
        margin: 30px 0 25px;
    }
    .img-profile {
        /*float: left;*/
        width: 255px;
        /*margin-left: 15px;*/
    }
    .box-main-right {
        margin-left: 255px;
    }
    .position-inner {
        margin: 0;
        padding: 70px 15px;
        height: 348.5px;
    }
    .ttl-position-inner {
        font-size: 2.6rem;
    }
    .profile-name {
        margin-right: 30px;
    }
    .profile-name-en {
        font-size: 1.2rem;
    }
/*    .box-position {
        margin: 0 15px 0 auto;
        min-width: 450px;
        max-width: unset;
    }*/
    .box-main-right-inner {
        width: 90%;
        min-width: 450px;
        max-width: unset;
        margin: 50px 15px 0 auto;
    }
    .ttl-history {
        margin: 30px 0 25px;
    }
    #s-history .ttl-section-en {
        top: 79px;
    }
    .tbl-position tr:first-child {
        margin-top: 10px;
    }
    .tbl-position tr {
        line-height: 3;
    }
    .tbl-position th, .tbl-position td {
        display: table-cell;
    }
    /** individual election
    ==========================================================*/
    #body-election .img-main {
        height: 630px;
    }
    #body-election .box-intro {
        top: 300px;
    }
    .dVote {
        width: 715px;
        margin: 25px auto 0;
        font-size: 1.8rem;
    }
    .ttl-sub-contents {
        top: 80px;
    }
    .txt-sub-contents {
        margin: 120px 0;
        padding: 200px 45px 45px;
        width: 590px;
    }
    .ttl-sub-contents {
        left:-126px;
    }
    .boxBlack {
        width: 126px;
    }
    .box-election {
        padding: 30px 60px;
    }
    .ttl-sub-election {
        margin: 1em 0;
    }
    #s-oath {
        background: url(../img/bg_oath.jpg) no-repeat 0 0 / cover;
        margin-bottom: 60px;
        padding: 0;
    }
    .ttl-sub-oath {
        margin: 1em 0 2.2em;
    }
    .txt-oath {
        width: 457px;
        margin-bottom: 30px;
    }
    .btn-policy {
        margin: 60px auto 30px;
        width: 250px;
    }
    .mapAccess {
        height: 600px;
    }
    .rcdActivities > li {
        margin-bottom: 30px;
    }
    .rcdDay {
        width: 300px;
    }
    .btnDouble {
        width: 620px;
    }
}

@media print, screen and (min-width: 1063px) {
    /** individual election
    ==========================================================*/
    .ttl-sub-contents {
        left:-396px;
    }
    .boxBlack {
        width: 396px;
    }
    /* parts-sidebar
    ----------------------------------------------------------*/
    .sidebar {
        float: left;
        width: 305px;
    }
    .sidebar-bnr-area {
        margin: 0 0 0 15px;
        max-width: 300px;
    }
    .sidebar-bnr-list a {
        width: 100%;
    }
    .box-main {
        float: left;
        width: 70%;
        width: calc(100% -305px);
        padding-right: 35px;
    }
}