@media screen and (max-width: 769px) {

/*************************** B-01. 枠組共通 *********************/
#container{
    width: 100%;
    padding:0;
    margin:0;
}
#wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 50px 0 30px;
}
.fixbox {
    width: 100%;
    padding: 0 1.5%;
}

.pc{display:none;}
.sp{display:inherit;}
.tablet{display:none ;}
.smart{display:inherit;}

.iframe-content {
    position: relative;
    width: 100%;
    padding: 75% 0 0 0;
}
.iframe-content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

main.column2 article{
    width: 100%;
}
main article section{
    margin-top: 50px;
}

/*************************** B-02. header ************************/
.header-container {
    padding:4px 6px;
    height: 60px;
}
.header-container form {
    padding: 16px 0;
}
.header-container form {
    width: calc(100% - 42px - 1rem - 32px);
    padding: 4px 0;
}
.header-container input[type="text"] {
    width: 84%;
    height: 46px;
}
.header-container input[type="submit"] {
    margin-left: -5px;
    height: 46px;
}
.header-sp-search{
    margin-right: 0px;
}

.hamburger.nav_active span:nth-child(1) {
    top: 20px;
    left: 0px;
}

header {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 15px;
    height: auto;
}

header .header-inner {
    min-width: auto;
    width: auto;
}
header .logo{
    width: 172px;
}
header .logo .fixed-logo {
    display: none;
}
header .toggle-menu {
    display: block;
    width: 40px;
    height: 30px;
    position: relative;
}
header .toggle-menu .toggle-line {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    text-indent: -9999px;
    width: 27px;
    height: 1px;
    background-color: #343434;
}
header .toggle-menu .toggle-line::before,
header .toggle-menu .toggle-line::after {
    content: '';
    position: absolute;
    left: 0;
    width: 27px;
    height: 1px;
    background-color: #343434;
}
header .toggle-menu .toggle-line::before {
    top: -7px;
    -webkit-animation: menu-barTop 0.60s forwards;
    animation: menu-barTop 0.60s forwards;
}
header .toggle-menu .toggle-line::after {
    top: 7px;
    -webkit-animation: menu-barBottom 0.60s forwards;
    animation: menu-barBottom 0.60s forwards;
}
header .header-nav {
    position: fixed;
    top: 0;
    left: 0;
    padding: 40px 15px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    flex-direction: column-reverse;
    justify-content: flex-end;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    z-index: 90;
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
}
header nav {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 20px;
}
header nav .menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}
header nav .menu-item {
    margin: 0;
    border-top: 1px solid #ddd;
}
header nav .menu-item a{
    padding-top: 1rem;
    padding-bottom: 1rem;
}
header nav .menu-item:last-child {
    border-bottom: 1px solid #ddd;
}
header nav .menu-item .nav-link {
    display: block;
    padding: 13px 0;
    font-size: 1.5rem;
}
header nav .menu-item .nav-link::after {
    content: none;
}
header.open {
    position: fixed;
}
header.open .logo {
    -webkit-transition: all 0.5s linear 1s;
    transition: all 0.5s linear 1s;
}
header.open .logo .main-logo {
    display: block;
}
header.open .logo .fixed-logo {
    display: none;
}
header.open .toggle-menu {
    -webkit-transition: all 0.5s linear 1s;
    transition: all 0.5s linear 1s;
}
header.open .toggle-menu .toggle-line {
    height: 0;
}
header.open .toggle-menu .toggle-line::before {
    -webkit-animation: active-menu-barTop 0.60s forwards;
    animation: active-menu-barTop 0.60s forwards;
}
header.open .toggle-menu .toggle-line::after {
    -webkit-animation: active-menu-barBottom 0.60s forwards;
    animation: active-menu-barBottom 0.60s forwards;
}
header.open .header-nav {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    overflow: auto;
}
header.fixed {
padding: 10px 15px;
height: auto;
}
header.fixed .toggle-menu .toggle-line {
    background-color: #343434;
}
header.fixed .toggle-menu .toggle-line::before,
header.fixed .toggle-menu .toggle-line::after {
    background-color: #343434;
}
header.fixed nav .menu-item .nav-link {
    color: #343434;
}
header.fixed nav .menu-item .nav-link::after {
    content: none;
}

.header-conversion{
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
    margin-top: 5rem;
    position: initial;
    height: auto;
}
.header-conversion a{
    text-align: center;
}
/*************************** B-03. nav ***************************/
.megamenu div {
    padding: 24px 0;
}
.megamenu div p {
    width: 98%;
}

/*************************** B-04. main共通 **********************/
.conversion a{
    padding:2.8rem 0;
    font-size: 2.8rem;
}
.miniConversion{
    width: 100%;
}
.miniConversion a{
    padding:2.0rem;
    font-size:2.0rem;
}

div.largeT table thead {
    display: none;
}
div.largeT table tbody tr {
    background: #fff;
}
div.largeT table tbody th {
    background: #f0f2f4;
    display: block;
    border: none;
}
div.largeT table tbody td {
    display: flex;
    border-left: none;
    border-right: none;
}
div.largeT table tbody td::before {
    content: attr(data-label) ;
    font-weight: bold;
    flex-shrink: 0;
    margin-right: 1.6rem;
}
div.largeT table tbody td:last-child {
    padding-bottom: 4rem;
}

dl.table dt{
    width:auto;
    float:inherit;
    padding:15px 0 0;
    font-size: 2rem;
    font-weight: bold;
    color: #444;
}
dl.table dd,
dl.table.table-300 dd{
    border-bottom: 1px solid #ddd;
    padding:5px 0 15px;
}
dl.table.table-300 dd

.flex-container-three > *,
.flex-container-four > *{
    width: 48%;
    margin: 0 1% 3%;
}

.related-article-container{
    flex-direction: column;
}
.related-article-box{
    width: 100%;
    margin-bottom: 3rem;
}
.related-article-box div.img img{
    width: 18rem;
    height: 12rem;
}
.related-article-box div.txt{
    width: calc(100% - 19rem);
}

div.leftImg .img,
div.rightImg .img{
    float: inherit;
    margin:0 auto 1rem;
    width: 100%;
}


.flow-section-container{
    background:none;
}
.flow-section-container section{
    width:100%;
}
.flow-section-container section:not(:last-child){
    background: url(/images/icons/flow-bottom-start-gray.svg) no-repeat center bottom;
    padding-bottom:5rem;
    background-size:15rem;
}
.flow-section-container section:nth-child(odd){
    margin-left:0;
}
.step-label{
    left: -8px;
}
.accordion-list:before,
.accordion-text:before{
    top: 6px;
}
.accordion{
    max-width: initial;
}
.title{
    padding-right:4rem ;
    padding-top: 1.6rem;
    font-size:1.8rem;
}
.content p{
    font-size: 1.8rem;
}
p.lead{
    font-size: 1.8rem;
}
p strong{
    font-size: 2.2rem;
}
/*************************** B-05. h1, h2見出し ***************************/
h1{
    font-size: 3.2rem;
}
#top h1{
    line-height: 2;
    text-align: center;
    font-size: 2.4rem;
}
h2 {
    padding-bottom: 2.4rem;
    font-size: 2.6rem;
    font-weight: bold;
    padding-top: 1rem;
}
h2 span {
    margin-top: 8px;
    font-size: 4.8rem;
}
.front-page h2 {
    font-weight: bold;
    font-size: 3.2rem;
    width: 100%;
    padding-top: 2rem;
    padding-bottom: 3rem;
}

/*************************** B-06. breadcrumb ***************************/
.breadcrumb{
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    height: 30px;
    padding:8px 1%;
    margin-top:5px;
}
.breadcrumb::-webkit-scrollbar {
    height: 5px;
}
.breadcrumb::-webkit-scrollbar-track {
    background: #eee;
}
.breadcrumb::-webkit-scrollbar-thumb {
    background: #999;
}

/*************************** B-07. pager backnumber等 **************/
.pager ul.direct {
    padding: 16px 0 0;
    clear: both;
}

/*************************** B-08. aside ***************************/
.sidebar{
    width: 100%;
}
aside{
    width:100%;
    padding:0;
    float:inherit;
    clear:both;
}

aside nav > ul > li{
    width:100%;
    margin:10px 0;
}

aside nav ul li ul{
    margin-left:10px;
    padding-left:10px;
}


/*************************** B-09. footer *************************/
.footer-container,.footer-container-right{
    flex-direction: column;
}
ul.footerNav{
    justify-content: space-between;
}
.footer-logo{
    width:192px;
}
small {
    width: 100%;
    text-align: center;
}

footer div.footer-box{
    margin-top:0;
    margin-bottom: 40px;
}
footer .header-conversion{
    margin-top: 3rem;
}

footer {
    padding: 30px 4% 12px;
}

footer .footer-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

footer .footer-contact {
    padding-bottom: 18px;
    border-right: none;
    width: 100%;
}

 .footer-logo {
    margin-bottom: 3rem;
}

footer .footer-sitemap {
    width: 100%;
}

footer .footer-sitemap .sitemap-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-left: 0;
    line-height: 21px;
}

footer .copyright {
    margin-top: 23px;
    font-size: 1.0rem;
}
.footer-nav ul li a {
    display: block;
    width: 100%;
    border-bottom: 1px solid #fff;
    position: relative;
}
.footer-nav {
    padding-left: 0%;
}
.footer-nav ul{
    gap:1rem;
}
.footer-nav ul li {
    width: 100%;
}
.footer-nav ul li a::after{
    content: '';
    position: absolute;
    top: 50%;
    right: 3px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 7px;
    height: 12px;
    background-image: url('../images/svg/icon-rightArrow.svg');
    background-repeat: no-repeat;
    background-size: contain;
}
.copyright-box{
    flex-direction: column;
    margin-top: 1rem;
}
footer .footer-privacy{
    margin-bottom: 0.5rem;
}
footer .copyright{
    margin-top: 0;
    margin-bottom: 0;
}
/*************************** B-10. toppage ************************/
.mv{
    max-height: 600px;
}
.mv-box{
    flex-direction: column-reverse;
    padding-top: 2rem;
    /*align-items: end;*/
}
.mv-img{
    position: relative;
    top:initial;
    right: initial;
    transform: initial;
    width: 80%;
}
.mv:before {
    width: 124px;
    height: 146px;
    background-size: contain;
}
.mv:after{
    background-size: contain;
    width: 356px;
    height: 208.5px;
}
p.top-01-copy{
    font-size: 2rem;
}
.sp-container{
    width:98%;
    margin-left:auto;
    margin-right:auto;
}
.top-01{
    padding-top: 8rem;
    padding-bottom: 0;
}
.top-01::after{
    width:250px;
    background-size: contain;
}
.top-02{
    padding-bottom: 16rem;
}
.top-02-textbox,.top-03-textbox{
    width:100%;
    padding: 2rem;
}
.top-02-container,.top-03-container{
    padding-top: 15rem;
}
.top-03-container{
    margin-bottom:15rem ;
}
.top-03{
    padding-bottom: 8rem;
    padding-top: 0;
}
.top-03-textbox p.top-03-textbox-copy{
    font-size: 2rem;
    margin-bottom: 2rem;
}
.top-03-list{
    gap:2rem;
}
.top-03-list li{
    width: 100%!important;
}
.top-03::after{
    display: none;
}
/*************************** B-11. form ***************************/
.inquiry-box .form-inner {
    margin: 18% auto 0;
    width: 100%;
}
.inquiry-box .form-inner .contact-form{
    padding: 5% 0.5%;
    background: #fff;
}
.inquiry-box .form-inner .contact-form .input-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}
.inquiry-box .form-inner .contact-form .input-box:not(:first-child) {
    margin-top: 6.7%;
}
.inquiry-box .form-inner .contact-form .input-box .label-area {
    padding: 6px 0;
    width: 100%;
    font-size: 1.6rem;
}
.inquiry-box .form-inner .contact-form .input-box .input-area {
    width: 100%;
}
.inquiry-box .form-inner .contact-form .input-box .input-area input {
    padding: 13px 18px;
}
.inquiry-box .form-inner .contact-form .input-box .input-area textarea {
    padding: 13px 18px;
    height: 160px;
}
.inquiry-box .form-inner .contact-form .input-box .input-area .input-error {
    padding: 0 18px;
    bottom: -20px;
    font-size: 1.1rem;
}
.inquiry-box .form-inner .contact-form .action-box {
    margin-top: 9%;
}
.inquiry-box .form-inner .note {
    margin-top: 10%;
}
.inquiry-box .form-inner .note small {
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 1px;
}
.inquiry-box .form-inner .contact-form .input-box .label-area {
    float: none;
    line-height: 1.6;
    font-size: 16px;
    display: flex;
    align-items: center;
}
form span.required,
form span.will{
    margin-left:5px;
    margin-right: 0;
    position: initial!important;
    transform: initial!important;
    padding:4px 10px!important;
}

/*************************** B-12. レギュレーション *************************/
.regulation-color-container ul li {
    width: 48%;
}

/*************************** B-13. 検索結果 ***********************/

/*************************** B-14. 内部ページ ***************************/

/*************************** B-16. archive（投稿一覧）  ***********************/
ul.post-box li{
    width: 100%;
}
ul.post-box li > a {
    display: flex;
    color: #333;
    text-decoration: none;
    background: #f8f8f8;
    height: 100%;
}
ul.post-box li figure:before{
    display:none;
}
ul.post-box li figure{
    width: 40%;
}
ul.post-box li figure img{
    aspect-ratio: 4.8/3;
    height: 100%;
}
ul.post-box li figure:before{
    padding-top: 28%;
}
.post-box .inner{
    width: 60%;
}
}