@charset "utf-8";

/*-------------- width992以上調整用 --------------*/
@media screen and (min-width:992px) {
    .tb-pd_b32 {
    padding-bottom: 0;
    }
}

/*-------------- width992未満 --------------*/
@media screen and (max-width:991px) {
    /* header */
    .header {
        position: fixed;
        box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    }
    .h_sns {
        display: none;
        /*padding-right: 4.2rem;*/
    }
    .h_navbox {
        display: none;
    }
    
    .header_inner {
        width: 96%;
    }
    /* header nav */
    .mobile-menu {
    margin-right: 10px;
    font-size: 28px;
    color: #e41683;
    position: fixed;
    top: 23px;
    right: 0;
    opacity: 0.7;
    cursor: pointer;
    z-index: 1000;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    }    
    .mobile-menu:hover {
    opacity: 0.5;
    }
    #acmenu{
    background-color: rgba(255,255,255,0.7);
    padding: 10px;
    }
    .mobile-menu a{
    display: none;
    }
    #Menu li{
    display: block;
    }
    #Menu a{
    font-size: 16px;
    color: #333;
    padding: 20px 0;
    }
    #Menu .show{
    display: block;
    }
    
    /* fix header */
    .fix-header {
        display: none;
    }
    
    /* cover */
    .cover {
        padding-top: 98px;
    }
    /* index */
    ul.policy_list {
        width: 100%;
    }
    
    /* news article */
    .n_btn a {
        margin: 0 3em;
    }
    
    /* under */
    .u_cover {
        padding-top: 178px;
        margin-top: 0;
    }
    .point_box {
        margin-bottom: 32px;
    }
    .more_btn {
        width: 80%;
    }
    .more_btn a {
        padding: 12px;
    }
    
    /* thanks */
    .thanks_inner {
        padding-top: 30vh;
    }
}

/*-------------- width900未満 --------------*/
@media screen and (max-width:899px) {
    .foot_nav ul {
        flex-direction: column;
    }
    .foot_nav ul li a:hover {
        color: #fff;
        background: #e41683;
    }
    
    /* contact */
    .form_txt {
        width: 96%;
        margin: 0 auto 32px;
    }
    .mailform{
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
           -moz-box-orient: vertical;
           -moz-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        width: 96%;
        text-align: left;
        margin: 0 auto;
    }
    .mailform .mobile_br{
        display: block;
    }
    .mailform p {
        width: 96%;
        margin: 0 auto 20px;
    }
    .mailform dt{
        width: 96%;
        margin: 0 auto 8px;
    }
    .mailform dd{
        width: 96%;
        margin: 0 auto 20px;
    }
    input[type="text"],textarea{
        width: 100% !important;
    }
    
    /* thanks */
    .thanks_inner {
        width: 96%;
        margin: 0 auto;
    }
    .thanks_inner h3 {
        width: 80%;
        margin: 0 auto;
    }
}

/*-------------- width768未満 --------------*/
@media screen and (max-width:767px) {
    /* 共通 */
    h2 {
        font-size: 200%;
    }
        
    .step_st {
        font-size: 150%;
        line-height: normal;
    }

    /* news 仮 */
    .news dt {
        width: 100%;
        float: none;
        border-bottom: none;
        padding-bottom: 0;
    }
    .news dd {
        width: 100%;
        padding-top: .5em;
    }
    
    .th_title:before, .th_title:after {
        width: 25%;
    }
    
    .contact_btn {
        width: 100%;
    }
    
    /* news article */
    .n_btn a {
        margin: 0 1.5em;
    }
    
    /* workslog */
    .workslog_list dd {
        margin-left: 2em;
    }
    
    /* access */
    .access dt {
        width: 20%;
    }
    .access dd {
        width: 80%;
    }
}

/*==dropdown navi 768px以下の形状*/
@media screen and (max-width:768px){
	nav{
		padding: 0;
	}
	
	nav ul{
		display: block;
	}
	
	nav li.has-child ul,
	nav li.has-child ul ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;/*JSで制御するため一旦表示*/
	opacity:1;/*JSで制御するため一旦表示*/
	display: none;/*JSのslidetoggleで表示させるため非表示に*/
	transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}	
nav ul li a{
	border-bottom:1px solid #ccc;
}
/*矢印の位置と向き*/
nav ul li.has-child::before{
	left:20px;	
}
nav ul ul li.has-child::before{
    transform: rotate(135deg);
	left:20px;
}   
nav ul li.has-child.active::before{
    transform: rotate(-45deg);
}
}

/*-------------- width576未満 --------------*/
@media screen and (max-width:575px) {
    /* header */
    .header_inner h1 {
        width: 50%;
    }
    
    /* index */
    .cover {
        padding-top: 91px;
    }
    
    .ttl_img img {
        display: none;
    }
    
    /* news article */
    .btn_area {
        -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    }
    .n_btn a {
        margin: 0;
    }
}

/*-------------- スマホ width560未満 --------------*/
@media screen and (max-width:559px) {
    .child_inbox {
        padding: 0;
    }
    
    .th_title::before, .th_title::after {
        width: 30%;
    }
}

/*-------------- スマホ width480未満 --------------*/
@media screen and (max-width:479px) {
    .header_inner h1 {
        width: 60%;
    }
    
    .cover {
        padding-top: 88px;
    }
    
    .fl_child {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    }
    .child_inbox {
        width: 100%;
    }
    .child_inbox p {
        margin-bottom: 5%;
    }
    
    .text_st_l {
        font-size: 250%;
    }
    
    .th_title::before, .th_title::after {
        width: 25%;
    }
    .th01 {
        padding: 0;
    }
    .th01 dt {
        float: none;
        clear: none;
        width: 100%;
        padding: 0 0 .5em;
    }
    .th01 dd {
        float: none;
        width: 100%;
        padding: 0 0 .5em; 
    }
    .th02 {
        padding: 0;
    }
    .th03 {
        padding: 0;
    }
    .th03 dt {
        padding: .5em 0 0 0;
    }
    
    .access dt {
        float: none;
        clear: none;
        width: 100%;
        padding: .5em;
    }
    .access dd {
        float: none;
        width: 100%;
        padding: .5em;
        margin-bottom: .5em;
    }
    
    /* news article */
    .n_btn a {
        font-size: .875em;
    }
    
    /* under */
    .u_cover {
        padding-top: 168px;
    }
}