@charset "utf-8";
/*
Theme Name: Kiyoko Yamamoto;
Description: Portfolio site of Kiyoko Yamamoto;
Author: 山本キヨコ;
Version: 1.0;
*/
/*-------------------------------------------
reset
-------------------------------------------*/
*, *:before, *:after {
    box-sizing: inherit;
    font-size: inherit;
    margin: 0;
}
body {
    box-sizing: border-box;
    font-family: Montserrat, sans-serif;
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    color: #333;
    vertical-align: baseline;
}
ul, dl {
    list-style-type:none;
    padding: 0;
}
img {
    border: 0;
    height: auto;
    max-width: 100%;
    vertical-align: middle;
}
a:active, a:hover {
  outline: 0;
}
h1 {
    line-height: 1;
}
address {
    font-style: normal;
}
form, input, button {
    border: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline;
    word-break: break-word;
    appearance: none;
 　 -webkit-appearance: none;
}

/*-------------------------------------------
common
-------------------------------------------*/
html {
    scroll-behavior: smooth;
    -webkit-scroll-behavior: smooth;
}
:target {
  scroll-margin-top: 60px;
  -webkit-scroll-margin-top: 60px;
}
/*composition*/
#container{
    align-items: flex-start;
    width: 100%;
}
#main {
    width: 73%;
    position: relative;
    font-size: 0.9375rem;
}
#sidebar {
    width: 24%;
    position: relative;
}

.col-2 {
    width: 48%;
}
.col-3 {
    width: calc(33.3333% - ( 0.66666666666667 * 3% ) );
}
.col-4 {
    width: calc(25% - ( 0.5 * 4% ) );
}
.wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sec {
    margin-bottom: 100px;
}
.sec:last-child {
    margin-bottom: 0;
}
/*text*/
a,
input[type="submit"] {
    color: #333;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    cursor: pointer;
}
a:hover {
    color: #c30d23;
}
a:hover .fa-line {
    color: #00B900;
}
a:hover .fa-instagram {
    color: #CF2E92;
}
h1 a, h2 {
    color: #333;
}
.sec-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 20px;
}
::placeholder {
    color: #a2a2a2;
}
address {
    margin-top: 30px;
    font-size: 0.75rem;
}
address a {
    text-decoration: underline;
    text-underline-offset: 5px;
}
address .fa-link:before {
    margin-right: 10px;
}
time {
    font-size: 0.8125rem;
    color: #a2a2a2;
}
/* webfont */
.fa-solid::before, .fa-brands::before {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands";
}
#site-navigation .fa-solid:hover,
#site-navigation  .fa-brands:hover {
    border-color: #c30d23;
    color: #c30d23;
}
.fa-clock {
    margin: 0 7px 12px 0;
    font-size: 0.8125rem;
    top: 1px;
    position: relative;
}
.fa-solid-maru {
    height: 30px;
    width: 30px;
    line-height: 30px;
    background-color: #fff;
    text-align: center;
    border: 1px solid #333;
    border-radius: 100%;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
}
/*scroll up button*/
.scrollup {
    width: 32px;
    height: 32px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10;
    background: #c30d23;
    opacity: 0.5;
}
.scrollup:hover {
    opacity: 1;
}
.scrollup::before {
    position: fixed;
    bottom: 30px;
    right: 30px;
    color: #fff;
}
/*.skills-li*/
.skills-li li {
    line-height: 1.6725rem;
    font-weight: 400;
    font-family: Montserrat, sans-serif;
    display: block;
}
.skills-li .fa-solid::before {
    margin-right: 10px;
    font-size: 0.812rem;
    font-weight: 900;
}

/*-------------------------------------------
#header
-------------------------------------------*/
#header {
    width: 100%;
    background-color: #fff;
    position: sticky;
    top: 0;
    z-index: 99;
}
#header .wrapper {
    height: 70px;
}
/* ----------- h1 ----------- */
#header h1 {
    font-size: 1.375rem;
    position: relative;
    padding-left: 43px;
}
#header h1 a::before {
    content: "";
    position: absolute;
    top: -60%;
    left: 0;
    width: 36px;
    height: 50px;
    background: url(images/logo.png) no-repeat center center / contain;
}
#header h1 a:hover {
    color: #313b48;
}

/* ----------- #site-navigation ----------- */
.menu li {
    float: left;
}
.sub-menu li {
    float: none;
}
.menu li > a {
    padding: 23px 0px 23px 35px;
}
.menu li:hover > a,
/* 表示ページの文字を赤くするcss */
.menu li a.active,
.subtoggle i.active {
    color: #c30d23;
}
.menu-toggle {
    font-size: 20px;
    cursor: pointer;
    display: none;
}

/* ----------- .sub-menu ----------- */
.submenu-wrap {
    position: relative;
    padding-right: 20px;
}

.submenu-wrap .sub-menu {
    opacity: 0;
    visibility: hidden;
    min-width: 180px;
    background-color: #fff;
    padding: 10px;
    z-index: 9;
    box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
    transform: translateX(50%);
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    position: absolute;
    right: 50%;
    top: 90%;
}
.submenu-wrap:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    padding: 10px;
    top: 40px;
}
.submenu-wrap .sub-menu li a {
    padding: 8px;
    display: block;
}

/* .subtoggle */
.submenu-wrap .subtoggle {
    position: absolute;
    top: 2px;
    right: 0;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.submenu-wrap:hover .subtoggle,
.subtoggle .fa-solid:hover {
    color: #c30d23;
}
.subtoggle .animate-icon {
    transform: rotate(0);
}
.subtoggle .fa-angle-down {
    -webkit-transition: transform 0.5s ease;
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

/*-----------------Search-----------------*/
.search-wrap {
  position: relative;
}
  .search-wrap .search-icon {
    padding: 23px 0 23px 35px;
  }
.search-wrap .fa-magnifying-glass {
    font-size: 14PX;
    line-height: 30px;
}

.search-wrap .search-box {
  opacity: 0;
  visibility: hidden;
  width: 300px;
  padding: 20px;
  position: absolute;
  top: 70px;
  right: -10px;
  background-color: #fff;
  box-shadow: 1px 1px 6px rgb(0 0 0 / 20%);
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  z-index: 12;
}

.search-wrap .search-box.active {
    opacity: 1;
    visibility: visible;
    right: 0;
    z-index: 9;
}
.search-wrap .search-box input {
  width: 80%;
  height: 36px;
  border-bottom: 1px solid #a1a1a1;
}
.search-wrap .search-box input:focus {
  border: 1px solid #a1a1a1;
}
.search-wrap .search-box button {
  background-color: #c30d23;
  padding: 10px 15px;
  color: #fff;
  font-family: FontAwesome;
  cursor: pointer;
  font-size: inherit;
}

/*-------------------------------------------
.pan
-------------------------------------------*/
.pan {
    background-color: #f9f9f9;
    width: 100%;
    position: relative;
    margin-bottom: 50px;
}
.pan .flex {
    height: 54px;
    justify-content: flex-start;
    align-items: center;
}
.pan .pan-list a {
    font-size: 0.875rem;
    color: #777;
    margin-right: 10px;
}
.pan .pan-list a:hover {
    color: #c30d23;
}
.pan .fa-angle-right,
#sidebar .fa-angle-right {
    color: #a2a2a2;
    font-size: 14px;
    padding-right: 10px;
    float: left;
    position: relative;
    top: 3px
}
.pan h2 {
    font-size: 1.25rem;
    font-weight: 400;
}

/*-------------------------------------------
#sidebar
-------------------------------------------*/
#sidebar > i.fa-angle-right {
    display: none;
}
#sidebar .sec-title::before {
    content: "";
    border-bottom: #e1e1e1 solid 1px;
    width: 100%;
    position: absolute;
    top: 33px;
    left: 0;
}
#sidebar .sec-title::after {
    content: "";
    border-bottom: #c30d23 solid 3px;
    width: 30px;
    position: absolute;
    top: 32px;
    left: 0;
}
#sidebar ul {
    padding-top: 30px;
}
#sidebar li {
    height: 2.1rem;
    padding-left: 10px;
}
#sidebar a {
    display: block;
}

/*-------------------------------------------
#footer
-------------------------------------------*/
#footer {
    background-color: #313b48;
    z-index: 100;
}
#footer .copyright {
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: center;
}
.copyright small {
    font-size: 0.687rem;
    color: #fff;
}
.copyright ul {
    justify-content: center;
    margin-bottom: 15px;
}
.copyright li:last-child {
    margin-left: 20px;
}

/*.copyright {
    justify-content: center;
    flex-wrap: wrap-reverse;
}*/


/* ----------- #btm-top-work ----------- */
#btm-top-work {
    padding: 40px 0;
}
.carousel-control a {
    color: #fff;
}
.carousel-control a:hover {
    color: #c30d23;
}
#btm-top-work .btn-filter {
    top: 14px;
    left: 8px;
}

/* bootstrap */
#btm-top-work .row {
    margin-right: -15px;
    margin-left: -15px;
}
@media screen and (max-width:768px) {
    #btm-top-work .row {
    margin-right: 0;
    margin-left: 0;
    }
}
.col-xs-11 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    float: left;
    width: 91.66666667%;
}
.carousel {
    position: relative
}
.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden
}
.carousel-inner>.item {
    position: relative;
    display: none;
    -webkit-transition: .6s ease-in-out left;
    -o-transition: .6s ease-in-out left;
    transition: .6s ease-in-out left
}
.carousel-inner>.item>img, .carousel-inner>.item>a>img {
    line-height: 1
}
.carousel-inner>.active, .carousel-inner>.next, .carousel-inner>.prev {
    display: block
}
.carousel-inner>.active {
    left: 0
}
.carousel-inner>.next, .carousel-inner>.prev {
    position: absolute;
    top: 0;
    width: 100%
}
.carousel-inner>.next {
    left: 100%
}
.carousel-inner>.prev {
    left: -100%
}
.carousel-inner>.next.left, .carousel-inner>.prev.right {
    left: 0
}
.carousel-inner>.active.left {
    left: -100%
}
.carousel-inner>.active.right {
    left: 100%
}
.carousel-control {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 15%;
    font-size: 20px;
    color: #fff;
    text-align: center;
    filter: alpha(opacity=50);
    opacity: .5
}
.carousel-control.right {
    right: 0;
    left: auto;
}
.carousel-control:hover, .carousel-control:focus {
    color: #fff;
    text-decoration: none;
    filter: alpha(opacity=90);
    outline: 0;
    opacity: .9;
}
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    transform: translate(0, -50%);
}
.carousel-control .glyphicon-chevron-left {
    left: 50%;
    margin-left: -10px;
}
.carousel-control .glyphicon-chevron-right {
    right: 50%;
    margin-right: -10px;
}

/* carousel */
.col-centered {
    float: none;
    margin: 0 auto;
}
.carousel-control {
    width: 8%;
    width: 0px;
}
.carousel-control.left,
.carousel-control.right {
    margin-right: -15px;
    margin-left: -15px;
    background-image: none;
    opacity: 1;
}
.carousel-control > a > span {
    color: #fff;
      font-size: 29px !important;
}
.carousel-col {
    position: relative;
    min-height: 1px;
    padding: 15px;
    float: left;
 }
 #btm-top-work .portfolio-item:hover .portfolio-desc {
     width: calc(100% - 30px);
    height: calc(100% - 30px);
    top: 15px;
    left: 15px;
}
 .active > div { display:none; }
 .active > div:first-child { display:block; }

/*xs*/
@media screen and (max-width: 543px) {
  .carousel-inner .active.left { left: -100%; }
  .carousel-inner .active.right { left: 100%; }
    .carousel-inner .next       { left:  100%; }
    .carousel-inner .prev       { left: -100%; }
  .carousel-col                 { width: 100%; }
}

/*md*/
@media (min-width: 544px) and (max-width: 979px) {
    .carousel-inner .active.left { left: -50%; }
    .carousel-inner .active.right { left: 50%; }
    .carousel-inner .next        { left:  50%; }
    .carousel-inner .prev        { left: -50%; }
    .carousel-col                { width: 50%; }
    .active > div:first-child + div { display:block; }
}

/*lg*/
@media (min-width: 980px) {
    .carousel-inner .active.left { left: -33.33333333%; }
    .carousel-inner .active.right{ left:  33.33333333%; }
    .carousel-inner .next        { left:  33.33333333%; }
    .carousel-inner .prev        { left: -33.33333333%; }
    .carousel-col                { width: 33.33333333%; }
    .active > div:first-child + div { display:block; }
  .active > div:first-child + div + div { display:block; }
}

/* ----------- #footer #mainvisual ----------- */
#footer .visualimg {
    padding-top: 28%;
}
#footer .sec {
    margin-bottom: 0px;
}

/*-------------------------------------------
index
-------------------------------------------*/

/* ----------- common ----------- */
.top-sec-title {
    font-size: 2.0625rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 50px;
    padding-bottom: 10px;
    position: relative;
}
.top-sec-title::before {
    content: "";
    border-bottom: #e1e1e1 solid 1px;
    width: 100px;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -50px;
}
.top-sec-title::after {
    content: "";
    border-bottom: #c30d23 solid 3px;
    width: 30px;
    position: absolute;
    bottom: -1.5px;
    left: 50%;
    margin-left: -15px;
}

/* ----------- #mainvisual ----------- */

.visualimg {
    position: relative;
    width: 100%;
    height: 0;
    /* (画像の高さ / 画像の横幅) × 100 */
    padding-top: 36.493055555555556%;
    background: url(images/mainv.jpg) no-repeat center center;
    background-size: cover;
}

.visualimg-item {
    position: absolute;
    width: 100%;
    top:55%;
    left:50%;
    transform:translate(-50%,-50%);
    text-align: center;
    font-weight: 400;
}
.visualimg-item a {
    display: inline-block;
    font-size: 2.5vw;
    padding: 0.8vw 4.5vw;
    border: 1px solid #333;
    background-color: rgba(255, 255, 255, 0.3);
    margin-top: 2rem;
}
.visualimg-item a:hover {
    background-color: #c30d23;
    color: #fff;
    border-color: #c30d23;
}
.visualimg-title {
    font-size: 7.2vw;
    font-weight: 400;
}
.visualimg-caption {
    font-size: 2.7vw;
    line-height: 1.5;
}

/* ----------- main #myskills ----------- */

.ski-box {
    margin-bottom: 60px;
}
.ski-box.flex {
    align-items: stretch;
}
.ski-box-top {
    text-align: center;
    background-color: #f9f9f9;
}
.ski-box-top .fa-solid {
    font-size: 54px;
    padding-top: 38px;
    color: #c30d23;
}
.ski-box-top h3 {
    font-size: 1.3125rem;
    font-weight: 600;
    padding: 30px 0;
}
.ski-box-top h3 span {
    font-weight: 400;
    color: #777;
}
.ski-box-bottom {
    background-color: #f0f0f0;
    font-size: 0.9375rem;
    padding: 20px;
}
.ski-box-bottom p {
    color: #656565;
}
#myskills .ski-list {
    width: 90%;
    margin: 0 auto;
}
.ski-list table {
    width: 47%;
    border-spacing: 10px 24px;
}
.ski-list th {
    font-size: 0.9375rem;
    width: 12%;
    font-weight: 500;
}
.ski-list td {
    width: 88%;
    background-color: #e2e2e2;
    position: relative;
}
.ski-list td::before {
    content: "";
    background-color: #c30d23;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}
.ski-list .bar-photo::before,
.ski-list .bar-illut::before {
    width: 90%;
}
.ski-list .bar-html5::before,
.ski-list .bar-css3::before {
    width: 80%;
}

/* ----------- main #myworks ----------- */

#myworks {
    background-color: #f9f9f9;
    padding: 40px 0 0 0;
}
#top #myworks {
    padding: 40px 0;
}
#myworks .wrapper {
    max-width: 1248px;
}
#myworks ul {
    justify-content: center;
    margin-bottom: 80px;
}
.btn-filter {
    font-size: 0.875rem;
    color: #fff;
    padding: 8px 12px;
    margin: 0 7px 15px 7px;
    background-color: #777;
}
.btn-filter:hover {
    color: #fff;
}
.portfolio-item .btn-filter {
    padding: 6px 10px;
    background-color: rgba(119, 119, 119, 0.7);
}

.btn-filter.current {
    background: #c30d23;
}

/**** Isotope Filtering ****/
.isotope-item {
  z-index: 2;
    margin-bottom: 24px;
    margin-left: 1.2%;
}
/**** Isotope CSS3 transitions ****/
.isotope,
.isotope .isotope-item {
  -webkit-transition-duration: 0.8s;
     -moz-transition-duration: 0.8s;
      -ms-transition-duration: 0.8s;
       -o-transition-duration: 0.8s;
          transition-duration: 0.8s;
}
.isotope {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
      -ms-transition-property: height, width;
       -o-transition-property: height, width;
          transition-property: height, width;
}
.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
     -moz-transition-property:    -moz-transform, opacity;
      -ms-transition-property:     -ms-transform, opacity;
       -o-transition-property:         top, left, opacity;
          transition-property:         transform, opacity;
}

/* Portfolio */
.col-md-12 {
    width: 100%;
  }
  .col-md-4 {
     width: calc(33.3333% - ( 0.66666666666667 * 4% ) );
  }
.portfolio-item {
    display: block;
    position: relative;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.portfolio-item .btn-filter {
    font-size: 0.75rem;
    position: absolute;
    top: 0;
    left: -7px;
    z-index: 20;
    opacity: 80%;
    padding: 5px;

}
.portfolio-item img {
    -webkit-transition: all 300ms linear;
    -moz-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    -ms-transition: all 300ms linear;
    transition: all 300ms linear;
}
.portfolio-desc {
    display: block;
    opacity: 0;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    background: rgba(195, 13, 35, 0.67);
}
.portfolio-item:hover .portfolio-desc {
    height: 100%;
    transition: all 200ms ease-in-out 0s;
    opacity: 1;
    text-align: center;
}
.portfolio-desc a {
    color: #fff;
    display: block;
}
.portfolio-desc a:hover {
    text-decoration: none;
}
.folio-info {
    position: relative;
}
.portfolio-item:hover .folio-info{
    opacity: 1;
    transition: all 500ms ease-in-out 0s;
    top:50%;
    transform: translateY(-50%);
}
.folio-info h5 {
    text-transform: uppercase;
    padding: 10px;
}
.folio-info p {
    color: #fff;
    font-size: 12px;
}

/*-------------------------------------------
about
-------------------------------------------*/
/*common*/
.skills-set.flex {
    align-items: flex-start;
}
.left-main {
    width: 21.84%;
    margin: auto auto 0 0;
}
.right-main {
    width: 78.16%;
    justify-content: center;
    line-height: 2.3;
}
.portfolio,
.skills-set,
.work-time {
    width: 78%;
    margin: 0 auto;
}

/*.left-main*/
.left-main .main-img {
    padding: 0;
    margin: 0;
}

/*.portfolio*/
.portfolio {
    margin-bottom: 50px;
}
.por-name {
    font-weight: 600;
    font-size: 1rem;
}
.por-name span {
    font-weight: 400;
    padding-left: 10px;
}
.por-name span::before {
    content: "│";
    margin-right: 7px;
}

/*.skills-set*/
.skills-set {
    margin-bottom: 80px;
    position: relative;
}
.skills-set::after {
    content: "";
    border-bottom: #e1e1e1 solid 1px;
    width: 100%;
    position: absolute;
    bottom: -40px;
}
.skills-set .skills-li {
    width: 50%;
}
.skills-set .skills-li span {
    font-size: 0.6875rem;
}

/*.work-time*/
.work-time dt {
    font-weight: bold;
}
.work-time .flex {
    align-items: start;
}
.work-time dt {
    width: 80px;
}

/*-------------------------------------------
work
-------------------------------------------*/
.main-img {
    width: 95%;
    padding: 15px;
    margin: 0 auto 40px;
    text-align: center;
    box-shadow: 0 0 1px rgb(0 0 0 / 40%);
}
.work-txt {
    padding: 30px 40px;
    font-size: 0.875rem;
    margin-bottom: 40px;
}
.work-txt .sec-title {
    margin-bottom: 20px;
}
.work-txt p {
    margin: 25px 0 40px;
    line-height: 2;
}
.work-txt address {
    margin-bottom: 70px;
}
.work-img {
    align-items: flex-start;
    width: 100%;
    margin: 0 auto;
    justify-content: space-around;
    flex-wrap: wrap;
}
.work-img img {
    box-shadow: 0 0 1px rgb(0 0 0 / 40%);
}
.work-img li {
    margin: 0 90px 120px;
}
.work-img li:last-child {
    margin-bottom: 0;
}
.work-img p {
    font-size: 0.75rem;
    margin-bottom: 10px;
    font-weight: bolder;
}
.work-skills {
    justify-content: flex-start;
    align-items: flex-start;
}
.work-skills .skills-li:first-child {
    margin-right: 20%;
}
._3d-flip-book {
    margin-bottom: 120px;
}

/*-------------------------------------------
contact
-------------------------------------------*/
#contact {
    width: 70%;
}
#contact.sec {
    margin-bottom: 50px;
}
.contact-cap {
    margin-bottom: 38px;
    line-height: 1.7;
}
.contact-cap a {
    text-decoration: underline;
    color: #c30d23;
}
.contact-cap a:hover {
    text-decoration: none;
}
#contact dl {
    flex-wrap: wrap;
    margin-bottom: 30px;
}
#contact dt,
#contact dd {
    width: 100%;
}
#contact dt {
    margin-bottom: 10px;
}
#contact dd {
    margin-bottom: 38px;
}#contact dd:last-of-type {
    margin-bottom: 10px;
}
.contact-cap span,
#contact dt span {
    color: #c30d23;
}
#contact input[type="text"],
#contact input[type="email"],
#contact textarea {
    border: solid 1px #ccc;
    padding: 12px;
    width: 100%;
}
#contact input[type="text"]:focus,
#contact textarea:focus {
    outline: 2px solid #ccc;
}
#contact textarea {
    height: 10rem;
}
#contact input[type="submit"] {
    width: 100px;
    border: solid 1px #ccc;
    padding: 15px;
    border-radius: 5px;
    margin: 20px 0;
    background-color: #efefef;
}
#contact input[type="submit"]:hover {
    background-color: #ddd;
}
#contact-line .fa-line {
    color: #00B900;
    margin-right: 5px;
}
#contact-line p {
    line-height: 1.8;
}
#contact-line  address {
    margin-top: 20px;
}
#contact .mw_wp_form_complete {
    margin-bottom: 50px;
}
#contact .clearfix {
    overflow: hidden;
}
.captcha-tag {
    font-size: 0.75rem;
}
.captcha-tag a {
    text-decoration: underline;
}
.grecaptcha-badge {
    visibility: hidden;
}

/*---------- contact_conf -----------*/
#contact .conf-dt {
    float: left;
    padding: 12px;
    margin: 0;
    width: 19%;
    height: 48px;
}
#contact .conf-dd {
    float: left;
    padding: 12px;
    border: solid 1px #ccc;
    margin-bottom: 10px;
    width: 79%;
}
#contact .conf-dd:first-of-type {
    height: 48px;
}
#contact .conf-dt span {
    display: none;
}

/*-------------------------------------------
category
-------------------------------------------*/
.category .search_txt {
    margin: 3%;
}
#cat .flex {
    flex-wrap: wrap;
}
#cat {
    padding: 0 30px;
}
#cat .col-md-2 {
    width: calc(50% - (0.66666666666667 * 4%));
    margin-bottom: 50px;
}


/*-------------------------------------------
responsive 981px~1200px
-------------------------------------------*/
@media screen and (max-width: 1200px) {
/* 共通 */

}

/*-------------------------------------------
responsive 769px~~980px
-------------------------------------------*/
@media screen and (max-width: 980px) {

/*--------- common ----------*/
#container.flex {
    flex-direction: column;
}
#main, #sidebar {
    width: 100%;
}
#main {
    margin-bottom: 70px;
}
.pan {
    margin-bottom: 40px;
}
.pan .fa-angle-right {
    top: 0px;
}
.pan h2 {
    top: 0;
}
.pan .pan-list a {
    position: relative;
    top: -2px;
}

/*-------------- header -----------*/

/* .menu */
#site-navigation .menu {
    background: #fff none repeat scroll 0 0;
    display: none;
    left: 0;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 8;
    padding: 0 20px;
}
.menu li:hover > a,
.subtoggle i.active {
    color: #333;
}
#site-navigation .fa-solid:hover,
#site-navigation .fa-brands:hover {
    border-color: #333;
    color: #333;
}
.menu .submenu-wrap {
    float: none;
}
.menu li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    position: relative;
    float: none;
}
.menu li:last-child {
    border-bottom: 0;
}
.menu li a {
    display: block;
    padding: 15px;
}
.menu-toggle {
    display: block;
}

/* submenu */
.subtoggle .fa-angle-down {
    padding-top: 6px;
}

.submenu-wrap {
  padding-right: 0;
}
.submenu-wrap .sub-menu {
    display: none;
}
.submenu-wrap:hover .sub-menu {
  padding: 0 0 0 20px;
}
.submenu-wrap .sub-menu {
  padding: 0 0 0 20px;
  position: static;
  top: 0;
  left: 0;
  opacity: 1;
  visibility: visible;
  box-shadow: none;
  -webkit-box-shadow: none;
  transition: none 0s ease 0s;
  -webkit-transition: none 0s ease 0s;
  transform: translate(0);
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.submenu-wrap .sub-menu li a {
  padding: 15px;
}
li.submenu-wrap:hover .sub-menu {
    display: none;
}
/* subtoggle */
.submenu-wrap .subtoggle {
  margin: 7px;
  background-color: #c30d23;
  width: 30px;
  height: 30px;
  color: #fff;
  text-align: center;
  cursor: pointer;
}
.submenu-wrap:hover .subtoggle,
.submenu-wrap .subtoggle:hover .fa-solid {
  color: #fff;
}
.subtoggle .animate-icon {
    padding-bottom: 6px;
    transform: rotate(180deg);
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
.subtoggle .fa-solid.active,
#site-navigation .subtoggle .fa-solid:hover {
    color: #fff;
}

.mobile-menu--slided .sub-menu {
    display: block;
}

/*------------ top --------------*/
.visualimg-title {
    font-size: 6.5vw;
}
.visualimg-caption,
.visualimg-item a {
    font-size: 3vw;
}
#myskills .ski-box.flex {
    display: block;
}
#myskills .col-3 {
    width: 100%;
    margin-bottom: 35px;
}

}

/*-------------------------------------------
responsive ~768px
-------------------------------------------*/
@media screen and (max-width: 768px) {

/*------------ common --------------*/
.wrapper {
    padding: 0 3%;
}
.sec {
    margin-bottom: 50px;
}
#main.flex {
    flex-direction: column;
}

/*------------ header --------------*/
#header .wrapper {
    height: 60px;
}
#header h1 {
    font-size: 1.3125rem;
    padding-left: 33px;
}
#header h1 a::before {
    top: -67%;
    width: 30px;
}

/* menu */
nav .fa-solid.fa-bars {
    padding: 12px;
}

/* search */
.search-wrap .search-icon {
    padding: 23px 0 23px 12px;
}
.fa-solid-maru {
    height: 24px;
    width: 24px;
}
.search-wrap .fa-magnifying-glass {
    line-height: 22px;
}
.fa-magnifying-glass:before {
    font-size: 13px;
}

/*------------ pan --------------*/
.pan h2 {
    font-size: 1rem;
}
.pan .post-categories {
    position: relative;
    top: 1px;
}

/*------------ footer --------------*/
#btm-top-work {
    padding: 26px 0;
}
.carousel-control a:hover {
    color: #fff;
}
#footer .fa-solid-maru {
    height: 30px;
    width: 30px;
}
.copyright ul {
    margin-bottom: 10px;
}

/*------------ top --------------*/
/* common */
.top-sec-title {
    margin-bottom: 40px;
}

/* #mainvisual */
.visualimg {
    min-height: 270px;
}
.visualimg-title {
    font-size: 7.6vw;
    margin-bottom: 7px;
}
.visualimg-caption {
    font-size: 4.2vw;
}
.visualimg-item a {
    font-size: 5.5vw;
}

/* #myskills */
.ski-box {
margin-bottom: 30px;
}
.ski-box-top .fa-solid {
    padding-top: 25px;
    font-size: 47px;
}
.ski-box-top h3 {
    padding: 15px 0 25px;
}
#myskills .ski-list {
    width: 100%;
}
.ski-list table {
    width: 48%;
    border-spacing: 2px 24px;
}

/* #myworks */
#myworks {
    padding: 40px 0;
}
.isotope-item {
    margin-left: 0;
}
.col-md-4 {
    width: 100%;
}

/*------------ about ------------*/
.left-main {
width: 35%;
margin-bottom: 20px;
}
.sec-title {
    margin-bottom: 3px;
}
.right-main {
    width: 100%;
}
.portfolio,
.skills-set,
.work-time {
    width: 100%;
 }

 /*--------- contact ---------*/
#contact {
    width: 100%;
}

 /*--------- work ---------*/
.main-img {
    padding: 10px 0;
    width: 100%;
    margin-bottom: 50px;
}
.work-txt {
    padding: 0;
    margin-bottom: 60px;
}
.work-txt p {
    margin-bottom: 30px;
}
.work-img li {
    margin: 0 0 70px;
}

 /*--------- category ---------*/
 #cat {
    padding: 0 3%;
}
#cat .col-md-2 {
    width: 100%;
}
#cat .col-md-2:last-child {
    margin-bottom: 0;
}

}

